PallyCon Distributor Watermarking 가이드
개요
PallyCon Distributor Watermarking
제품(이하 DWM)은 여러 채널로 배포된 비디오 콘텐츠가 불법 유출된 경우에 해당 유출 채널을 추적하기 위한 워터마크 솔루션입니다.
PallyCon DWM
은 원본 영상에 배포할 채널의 정보를 눈에 보이지 않는 워터마크의 형태로 임베딩하고, 유출된 영상 또는 단일 프레임 캡쳐본으로부터 해당 워터마크 정보를 검출할 수 있습니다. 또한 보이지 않는 워터마크 정보 외에 눈에 보이는 워터마크도 영상에 추가할 수 있습니다.
PallyCon DWM의 워터마크 임베딩에 사용되는 CLI(Command Line Interface) 도구는 다음과 같이 두 가지 버전이 있습니다.
DWM PreEmbedder
: 메자닌(Mezzanine) 또는 MP4 형식 파일에 배포 채널 워터마크를 적용할 때 사용됩니다.DWM DRM Embedder
: MP4 영상 파일에 워터마크를 임베딩하고 검토 목적으로 제한된 청중에게 DASH/HLS 형식으로 스트리밍하기 위해 다중 DRM으로 암호화해야 하는 경우에 사용됩니다.
두 버전의 CLI 모두 프리 릴리즈 워크플로우에서의 안전한 콘텐츠 배포를 위해 쉽게 통합될 수 있습니다.
본 문서는 DWM PreEmbedder 3.0.0 버전을 기준으로 작성되었습니다.
동영상 튜토리얼
콘텐츠에 PallyCon Distributor Watermarking을 적용하는 방법을 설명하는 영상입니다.
DWM 워크플로우
PallyCon DWM PreEmbedder
는 아래와 같은 워크플로우를 통해 적용할 수 있습니다.

- 원본 영상을 배포될 채널의 정보와 함께
DWM PreEmbedder
에 입력합니다. - PallyCon DWM 서버는 DWM PreEmbedder와의 연동을 통해 각 채널마다 고유의 DWM ID를 발급합니다.
DWM PreEmbedder
는 배포될 채널의 갯수만큼 각각 고유의 DWM ID가 임베딩된 영상을 생성합니다.- 배포 채널마다 해당 DWM 영상을 전달합니다.
- 콘텐츠 유출 발생 시, 유출본을 PallyCon 서비스에 전달해 워터마크 검출을 요청합니다.
- PallyCon 서비스는 유출본에서 워터마크(DWM ID)를 검출해 해당 채널 정보를 고객사에 전달합니다.
PallyCon DWM DRM Embedder
는 아래와 같은 워크플로우를 통해 적용할 수 있습니다.

- 원본 영상과 유통채널 정보를 입력하고
DWM DRM Embedder
에 적용할 DRM 암호화 파라미터와 패키징을 설정합니다. - PallyCon DWM 클라우드 서버는
DWM DRM Embedder
와의 API 연동을 통해 채널별로 고유한 DWM ID를 발급합니다. DWM DRM Embedder
는 고유한 워터마크가 있는 동영상을 만들고 배포/수신자 목록에 따라 DRM 암호화된 DASH/HLS로 패키징합니다.- 해당 DWM 영상을 각 유통채널에 전달합니다. 권한이 있는 사용자만 재생할 수 있어 콘텐츠 전달을 보다 안전하게 할 수 있습니다.
- 콘텐츠 유출 시 유출된 사본을 PallyCon 서비스로 전송하여 워터마크 검출을 요청합니다.
- PallyCon 서비스는 유출된 카피의 워터마크를 검출해 채널 정보(Distributor ID)를 고객사에 전달합니다.
참고: DWM DRM Embedder는 MP4 형식의 영상 파일만 지원합니다.
DWM 지원 사양
PallyCon DWM 솔루션은 아래와 같은 사양을 지원합니다.
항목 | 내용 | 비고 |
---|---|---|
콘텐츠 유형 | 비디오 콘텐츠 지원 | |
영상 포맷 및 코덱 | MP4(H.264, H.265, XDCAM), MOV(ProRes), MXF(XDCAM) | DWM DRM Embedder는 MP4 형식 입력만 지원함 |
지원 해상도 | 최대 4K/UHD 해상도 지원 | |
Dynamic Range | SDR (Standard Dynamic Range), HDR (High Dynamic Range) 지원 | |
DWM ID 크기 | 12비트, PallyCon DWM 서비스 계정마다 최대 4095개 DWM ID (영상 수신자 ID) 지원 | |
최소 영상 길이 | 워터마크 검출을 위해서는 최소 30초 이상의 연속된 녹화 영상이 필요 | 원본 영상 길이가 30초 미만인 경우에는 적용 불가 |
검출 영상 화질 | 검출을 위해서는 최소 480p 1Mbps 이상 화질 필요 | 720p 이상의 화질 권장 |
수신 대상 수 | DWM 계정의 사이트 당 최대 4096 개의 수신 대상 등록 및 지정 가능 | |
단일 프레임 검출 | 단일 프레임 캡쳐본에서의 워터마크 검출 지원 | 검출 작업에 원본 프레임 필요 (Non-blind detection) |
수신 대상 등록
DWM 임베딩과 검출을 위해서는 워터마크 적용된 콘텐츠를 수신할 대상을 미리 등록해야 합니다. 수신 대상은 최대 4096 개까지 등록 가능하며, 등록 순으로 각 수신자에 대한 일련번호가 DWM ID로 부여됩니다.
DWM 수신자를 등록하려면 PallyCon 콘솔의 Distributor Watermarking
메뉴에서 DWM 수신자
항목을 선택합니다. 등록
버튼을 눌러 전환된 화면에서 수신자 명과 설명을 입력해 수신 대상을 등록할 수 있습니다. (여러 항목 등록 시 +
버튼 클릭)
DWM PreEmbedder
또는 DWM DRM Embedder
를 통한 워터마크 임베딩 시, 작업 정보에 수신 대상의 이름을 입력하면 해당 수신자의 ID(일련 번호)가 출력 영상에 워터마크 정보로 임베딩됩니다.
DWM 임베딩 (DWM PreEmbedder)
PallyCon DWM PreEmbedder
는 리눅스 CLI(Command Line Interface) 기반의 DWM 임베딩 툴로, 원본 영상과 DWM ID 정보를 입력받아 해당 ID가 임베딩된 DWM 영상을 출력합니다.
DwmEmbedder
실행 파일을 단독으로 사용 시에는 PallyCon 서버와의 연동 없이 DWM ID와 배포 채널 정보에 대한 관리를 고객사에서 직접 처리해야 합니다. 서버 연동을 위해서는 해당 실행 파일과 함께 배포되는 Python 스크립트를 통해 DWM 임베딩을 수행합니다.
모듈 구성
PallyCon DWM PreEmbedder
는 PallyCon 서비스 가입 후 별도 요청을 통해 받을 수 있으며, 다음과 같이 구성되어 있습니다.
-
DwmEmbedder
: 아래 Python 스크립트가 실행하는 코어 모듈 실행 파일입니다. 원본 영상에 배포 대상 채널 별로 고유의 워터마크(DWM ID)를 임베딩합니다. -
DwmPreEmbedder.py
: DwmEmbedder와 PallyCon 서버 사이의 통신 연동을 담당하는 Python 스크립트입니다. DWM 임베딩 작업은 위 코어 모듈을 직접 실행하는 대신 이 스크립트를 통해 수행해야 합니다. -
DwmDrmEmbedder.py
:DwmPreEmbedder.py
와 유사한 Python 스크립트로, 워터마크가 임베딩된 MP4 파일에 DRM을 적용하여 콘텐츠를 암호화하고 DASH/HLS 형식으로 패키징하는 추가 기능이 있습니다. -
dwm_info.json
: DWM ID를 임베딩할 원본 영상과 출력 파일, 수신 대상 등의 작업 정보를 입력하는 파일입니다. -
각종 라이브러리 파일: ‘lib’ 폴더 내에는 DWM Embedder에서 사용되는 각종 라이브러리가 있습니다.
-
demokey.dat
: DWM Embedder에 사용되는 데모버전 키 파일로, 트라이얼 계정에서의 테스트에 사용됩니다. 데모키로 처리된 영상에는 보이지 않는 DWM ID 외에도 ‘PALLYCON DEMO’라는 문구가 눈에 보이게 표시됩니다.
dwmkey.dat
) 파일을 사용합니다.
실행 환경
DWM PreEmbedder를 실행하려면 다음과 같은 환경이 필요합니다.
하드웨어
- CPU : 인텔 CPU
- RAM : 8GB 이상
- GPU : 비디오 인코딩 및 디코딩 하드웨어 가속을 지원하는 NVIDIA 그래픽 카드
소프트웨어
- 우분투 서버 18.04, 20.04 또는 CentOS 7
- Intel IPP (Integrated Performance Primitives) 2018 (배포본 내에 포함되어 있음)
- NVIDIA CUDA Toolkit 9.1 이상 (NVIDIA 하드웨어 가속 사용)
- 각종 연관 라이브러리
설치 가이드
NVIDIA CUDA 툴킷 설치
DWM Embedder 제품은 NVIDIA 하드웨어 인코딩/디코딩 가속을 지원합니다. 지원되는 GPU 및 코덱은 여기에서 확인할 수 있습니다.
DWM Embedder 제품은 CUDA Toolkit 9.1 이상에서 동작하지만, 다른 프로그램과의 호환성 문제가 없는 경우 CUDA 10.0 이상의 버전을 권장합니다. 아래 스크립트는 CUDA Toolkit 10.0을 설치합니다. 다른 CUDA Toolkit 버전을 설치해야 하는 경우 최신 다운로드 또는 아카이브를 참고하시기 바랍니다.
다음과 같은 스크립트를 실행하여 NVIDIA CUDA 툴킷을 설치합니다.
-
Ubuntu 18.04 버전 설치 스크립트
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID|tr -d '.') $ wget https://developer.download.nvidia.com/compute/cuda/repos/${distribution}/x86_64/cuda-repo-${distribution}_10.0.130-1_amd64.deb $ sudo dpkg -i cuda-repo-${distribution}_10.0.130-1_amd64.deb $ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/${distribution}/x86_64/7fa2af80.pub $ sudo apt-get update $ sudo apt-get install -y linux-headers-$(uname -r) $ sudo apt-get install -y cuda-10-0 $ rm cuda-repo-${distribution}_10.0.130-1_amd64.deb $ sudo reboot
-
Ubuntu 20.04 버전 설치 스크립트
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID|tr -d '.') $ wget https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda-repo-ubuntu2004-11-6-local_11.6.1-510.47.03-1_amd64.deb $ sudo dpkg -i cuda-repo-ubuntu2004-11-6-local_11.6.1-510.47.03-1_amd64.deb $ sudo apt-key add /var/cuda-repo-ubuntu2004-11-6-local/7fa2af80.pub $ sudo apt-get update $ sudo apt-get install -y linux-headers-$(uname -r) $ sudo apt-get -y install cuda $ rm cuda-repo-ubuntu2004-11-6-local_11.6.1-510.47.03-1_amd64.deb sudo reboot
-
CentOS 7 버전 설치 스크립트
$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.0.130-1.x86_64.rpm $ sudo rpm -i cuda-repo-rhel7-10.0.130-1.x86_64.rpm $ sudo yum clean all $ sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) $ sudo yum install cuda-10-0 $ rm cuda-repo-rhel7-10.0.130-1.x86_64.rpm $ sudo reboot
-
AWS Linux2 버전 설치 스크립트
- 가이드 링크 참조
-
설치 후 확인
$ nvidia-smi
-
참고 자료
의존성 라이브러리 설치
-
Ubuntu 18.04 버전
$ sudo apt update $ sudo apt install -y \ libva-drm2 \ libvdpau1 \ libmediainfo0v5 \ libpng16-16 $ sudo apt update && sudo apt upgrade -y && sudo apt install -y python3 python3-pip $ sudo pip3 install pycryptodome $ sudo pip3 install --upgrade pip setuptools $ export LANG="C.UTF-8" $ sudo pip3 install pymediainfo $ sudo apt-get install -y libc-ares2
-
Ubuntu 20.04 버전
$ sudo apt update $ sudo apt install -y \ libnuma1 \ libva-drm2 \ libvdpau1 \ libmediainfo0v5 \ Libpng16-16 $ sudo apt install python3-pip $ pip3 install pycryptodome $ pip3 install pymediainfo $ sudo apt-get install -y libc-ares2
-
CentOS 7 버전
$ sudo yum update $ sudo yum install -y \ openssl-devel \ libpng-devel \ libmediainfo-devel $ sudo yum install -y python3 python3-pip (for python3) $ pip3 install requests pycryptodome (for DwmPreEmbedder) $ pip3 install pymediainfo (for DwmDrmEmbedder) $ sudo yum install -y c-ares (for PallyCon DRM Packager)
DWM PreEmbedder 사용 방법
위 설치 과정을 통해 준비된 실행 환경에서 DWM PreEmbedder 배포본의 압축을 해제한 후, bin 폴더에 관련 파일들(코어 모듈, Python 스크립트, dwm_info.json, 키 파일 등)이 있는지 확인 합니다. 그 후 다음과 같은 과정으로 DWM PreEmbedder를 실행해 원본 영상에 DWM ID를 임베딩할 수 있습니다.
credentials 파일 생성
DWM 서버와 통신하려면 PallyCon 회원 가입 시 발급되는 사이트 ID, 사이트 키, 액세스 키 정보가 필요합니다. 이 값들을 다음의 형식으로 ~/.pallycon/credentials
파일로 저장합니다.
site_id=YOUR_SITE_ID
site_key=YOUR_SITE_KEY
access_key=YOUR_ACCESS_KEY
credentials 파일에 입력할 실제 값들은 PallyCon 콘솔 로그인 후 Distributor Watermarking
> DWM 세팅
화면에서 확인할 수 있습니다.
작업 파일 생성
아래 예시와 설명을 참고로 DWM 작업 정보 파일인 dwm_info.json
파일을 업데이트합니다.
{
"content_id":"contentid_test",
"input": "~/input.mp4",
"output": "~/output.mp4",
"visible_watermark": {
"type": "text",
"text": {
"message": "for test",
"fontsize": 20
},
"image": {
"filename": "~/watermark.png"
},
"alpha": 0.3,
"position": [
{ "x": 200, "y": 100},
{ "x": 300, "y": 200}
],
"timing": {
"interval": "00:05:00",
"disappear": "00:01:00"
}
},
"recipients": [
"수신자 1",
"수신자 2",
"수신자 3"
]
}
content_id
: 원본 콘텐츠에 대한 고유 ID (임의로 입력)input
: DWM을 임베딩할 원본 파일명과 경로를 입력합니다.output
: DWM이 임베딩된 결과 파일이 저장될 경로와 기본 파일명을 입력합니다.- 실제 생성되는 결과 파일명에는 기본 파일명 뒤에 배포 정보(distributor name, distribution purpose, DWM ID)가 추가됩니다.
visible_watermark
: 결과 영상에 눈에 보이는 워터마크를 추가합니다. (선택 사항)- 보이지 않는 DWM ID 정보 외에 이미지 또는 텍스트 형태의 워터마크를 영상에 표시할 수 있습니다.
- Visible Watermark 기능을 적용하지 않는 경우에는 해당 키워드와 하위 항목들을 입력하지 않습니다.
- 입력 가능한 상세 옵션은 아래 별도로 설명된 내용을 참고하시기 바랍니다.
recipients
목록- DWM 적용된 영상을 수신할 수신 대상을 입력합니다.
- 사전에 PallyCon 콘솔에서 등록한 수신자 이름만 입력 가능합니다.
위 작업 정보는 Python 스크립트를 통해 DWM 서버 API에 전송되며, 서버로부터 회신된 DWM ID는 DWM Embedder 코어 모듈을 통해 보이지 않는 워터마크의 형태로 결과 영상에 임베딩됩니다.
DWM PreEmbedder Python 스크립트 실행
DWM 트라이얼 중에는 상용 버전 키 파일 대신 배포본에 포함된 데모용 키 파일(demokey.dat
)이 사용됩니다. 이 경우 다음과 같이 dwm_info.json 파일명과 함께 --demo
파라미터를 추가해 실행합니다.
$ python3 DwmPreEmbedder.py dwm_info.json --demo
DWM 상용 플랜에 가입한 후에는 헬프데스크 요청을 통해 상용 키 파일(dwmkey.dat
)을 전달 받아 bin
디렉토리, 즉 DwmEmbedderWithServer.py
와 동일한 위치로 복사합니다. 상용 버전은 다음과 같이 --demo
파라미터를 제외하고 실행합니다.
$ python3 DwmPreEmbedder.py dwm_info.json
DWM 임베딩 및 DRM 패키징
제한된 청중이 검토할 수 있도록 콘텐츠를 안전하게 공유해야 하는 경우 DWM DRM Embedder
를 사용합니다. DWM DRM Embedder
는 원본 MP4 영상에 DWM 워터마크를 적용한 후 멀티 DRM 암호화 및 DASH/HLS 패키징을 수행합니다.
커맨드 형식:
usage: DwmDrmEmbedder.py [-h] [-v] job_json_file [-i input_filename] [-o output_filename] [-c content_id] [--demo] [--dash/-–hls] [--site_id] [--access_key] [-y]
Example: ./DwmDrmEmbedder.py dwm_info.json --demo --dash --site_id <User_siteid> --access_key <user_access_key>
옵션 | 필수 여부 | 설명 |
---|---|---|
-h , --help |
N | 커맨드 사용법을 표시합니다. |
-v , --version |
N | 프로그램 버전을 표시합니다. |
dwm_info.json |
Y | DWM 임베딩 작업에 필요한 각종 정보를 입력한 설정 파일입니다. (원본 및 출력 파일명, 수신자 목록 등) |
-i input_filename |
N | dwm_info.json 파일의 입력 파일명 대신 커맨드로 입력한 파일명을 사용합니다. |
-o output_filename |
N | dwm_info.json 파일의 출력 파일명 대신 커맨드로 입력한 파일명을 사용합니다. |
-c content_id , --content_id content_id |
N | dwm_info.json 파일의 콘텐츠 ID 대신 커맨드로 입력한 ID를 사용합니다. |
--demo |
N | DWM 트라이얼을 위한 데모 모드를 설정합니다. |
--dash , --hls |
Y | DASH-CENC(Widevine, PlayReady) 또는 HLS-AES(FairPlay) 패키징을 수행합니다. |
--site_id |
Y | PallyCon 콘솔에 표시된 서비스 사이트 ID(네자리)를 입력합니다. (Distributor Watermarking > DWM 세팅 ) |
--access_key |
Y | 서비스 사이트에 발급된 액세스 키를 입력합니다. (사이트 ID 정보와 동일한 콘솔 페이지에서 확인) |
-y |
N | Y 로 설정 시, 동일한 이름의 출력 파일이 있는 경우 새로운 출력파일로 덮어쓰기합니다. |
--disable_encryption |
N | Y 로 설정 시 암호화 되지 않은 Non-DRM DASH 또는 HLS 콘텐츠를 생성합니다. |
예제 커맨드:
- HLS 패키징
./DwmDrmEmbedder.py dwm_info.json --demo --hls --site_id DEMO --access_key FVJDp2LT2Xr0f4Di18z6lzv3DKvNOP20
- 출력 파일명 변경 및 DASH 패키징
./DwmDrmEmbedder.py dwm_info.json --demo -o test --dash --site_id DEMO --access_key FVJDp2LT2Xr0f4Di18z6lzv3DKvNOP20
- DASH, HLS 동시 패키징
./DwmDrmEmbedder.py dwm_info.json --demo --hls -dash --site_id DEMO --access_key FVJDp2LT2Xr0f4Di18z6lzv3DKvNOP20
Visible Watermark 설정 (선택 사항)
DWM PreEmbedder는 기본적으로 배포 채널 별로 고유한 DWM ID를 눈에 보이지 않게 영상에 임베딩합니다. 영상에 추가로 눈에 보이는 워터마크를 입력하기 원하는 경우, dwm_info.json
파일의 visible_watermark
항목에 다음과 같은 옵션을 설정할 수 있습니다.
키워드 | 타입 | 필수 여부 | 설명 | 예시 |
---|---|---|---|---|
type |
String | Y | Visible Watermark의 유형 (“text” or “image” or “none”) Visible watermark를 적용하지 않는 경우 “none” 입력 | “type”: “image” |
text |
Json | Y (텍스트 유형의 경우) | 텍스트 워터마크 관련 설정 값들. 이미지 타입 워터마크에는 사용되지 않음. | |
message |
String | Y (텍스트 유형의 경우) | 워터마크로 표시될 문자열. 영숫자, 공백, 마침표(.) 및 밑줄(_) 입력 가능. | “message”: “for_test” |
fontsize |
Int | N | 워터마크 문자열 크기. 미입력 시 기본값 사용. | “font_size”: 20 |
image |
Json | Y (이미지 유형의 경우) | 이미지 워터마크 관련 설정. 텍스트 타입 워터마크에는 사용되지 않음. | |
filename |
String | Y (이미지 유형의 경우) | 워터마크로 표시될 이미지 경로. | “filename”: “~/watermark.png” |
alpha |
Float | N | 워터마크의 투명도 (기본값 1) | “alpha”: 0.5 |
position |
Json 배열 | N | 워터마크 표시 위치 설정. 배열로 여러 값을 입력 시, Interval에 의해 화면에 표시될 때마다 새로운 위치로 설정됨. | |
x , y |
Int | N | 화면 상에서 워터마크가 표시될 위치를 X/Y 좌표로 지정 | “x”: 200, “y”: 100 |
timing |
Json | N | Visible Watermark를 주기적으로 화면에 표시하거나 숨기는 Interval 기능과 관련된 옵션 |
|
interval |
String | N | ‘HH:MM:SS’의 포맷으로 워터마크가 새로 표시될 주기를 설정 | “interval”: “00:05:00” 입력 시, 5분마다 워터마크가 새로 표시되고 disappear 값 이후 사라짐 (반복) |
disappear |
String | N | ‘HH:MM:SS’의 포맷으로 얼마나 오래 워터마크를 표시할지 설정 | “disappear”: “00:01:00” 입력 시, Interval 주기에 의해 워터마크가 표시된 후 1분 뒤에 사라짐 |
DWM 작업 이력 조회
Python 스크립트를 통한 연동으로 서버에 전송된 DWM 임베딩 정보는 PallyCon 콘솔에서 조회 가능합니다.
Distributor Watermarking
> 패키징 이력 조회
화면에서 dwm_info.json
작업 파일에 입력한 수신 대상 정보를 조회할 수 있습니다.
DWM 임베딩 작업 에러 코드
에러 코드 | 상태 |
---|---|
0 | 성공 |
1 | 오류 |
2 | 메모리 부족 |
10 | 사용자에 의한 정지 |
30 | 액세스 키 검증 실패 |
31 | 키 파일이 존재하지 않음 |
40 | 입력 파일명 오류 |
41 | 입력 파일이 존재하지 않음 |
42 | 출력 파일명 오류 |
43 | 출력 디렉토리가 존재하지 않음 |
50 | 영상 입력 스트림 열기 실패 |
51 | 영상 출력 스트림 열기 실패 |
52 | 출력 트랙 쓰기 실패 |
53 | 비디오 출력 트랙 쓰기 실패 |
54 | 비디오 트랙이 없는 영상이 입력됨 |
100 | 설정 오류 |
150 | 임베더 초기화 실패 |
151 | 정상적이지 않은 심벌이 입력됨 |
200 | 인코더 찾기 실패 |
201 | 디코더 찾기 실패 |
210 | 디코더 디바이스 초기화 실패 |
220 | 코덱이 잠겨 있어 사용할 수 없음 |
253 | Visual Watermark 설정 실패 |
1007 | 해시 검증 실패. ~/.pallycon/credentials 설정 파일의 사이트 ID, 사이트 키, 액세스 키 정보 확인 필요. |
DWM 검출
DWM이 적용된 영상이 유출되어 불법 배포되는 경우, 유출이 의심되는 영상에 대한 워터마크 검출을 PallyCon 서비스에 요청할 수 있습니다. DWM 검출을 요청하려면 PallyCon 콘솔의 DWM 검출 요청 페이지에서 해당 영상의 제목과 다운로드 링크를 입력해 요청을 등록합니다.
워터마크 검출은 영상의 각 프레임을 분석하여 원본 워터마크 패턴을 감지하고, 임베딩 시 사용한 비밀 키로 데이터를 해독합니다. 검출 과정을 통해 영상에서 DWM ID를 찾아내면, 데이터베이스에서 해당 ID를 키 값으로 하는 배포 채널(수신자) 정보를 찾아 검출 결과로 리포트합니다.
DWM이 적용된 영상의 단일 프레임이 불법 유포되는 경우 당사의 검출 서비스를 이용하여 워터마크를 검출할 수 있지만, 이 경우 논블라인드 기반 검출을 위해 워터마크 적용 전의 원본 영상이 필요합니다.
DWM 검출 워크플로우
sequenceDiagram
participant A as 서비스 사이트
participant B as PallyCon 서비스
A ->> B: 유출 의심 영상
Note right of B: DWM ID 검출
B -->> B: 영상 프레임 분석
opt DWM ID 검출 시
Note right of B: DWM 데이터베이스
B -->> B: 해당 배포 채널(수신자) 검색
end
B ->> A: 검출 결과 리포트
DWM 검출 관련 상세 안내는 별도로 문의해 주시기 바랍니다.