PallyCon Distributor Watermarking 가이드
개요
PallyCon Distributor Watermarking
제품(이하 DWM)은 여러 채널로 배포된 비디오 콘텐츠가 불법 유출된 경우에 해당 유출 채널을 추적하기 위한 워터마크 솔루션입니다.
PallyCon DWM
은 원본 영상에 배포할 채널의 정보를 눈에 보이지 않는 워터마크의 형태로 임베딩하고, 유출된 영상 또는 단일 프레임 캡쳐본으로부터 해당 워터마크 정보를 검출할 수 있습니다. 또한 보이지 않는 워터마크 정보 외에 눈에 보이는 워터마크도 영상에 추가할 수 있습니다.
PallyCon DWM의 워터마크 임베딩에 사용되는 CLI(Command Line Interface) 도구는 다음과 같습니다.
DWM PreEmbedder
: 메자닌(Mezzanine) 또는 MP4 형식 파일에 배포 채널 워터마크를 적용할 때 사용됩니다.
이는 프리 릴리즈 워크플로우에서의 안전한 콘텐츠 배포를 위해 쉽게 통합될 수 있습니다.
본 문서는 DWM PreEmbedder 3.5.2 버전을 기준으로 작성되었습니다.
동영상 튜토리얼
콘텐츠에 PallyCon Distributor Watermarking을 적용하는 방법을 설명하는 영상입니다.
DWM 워크플로우
PallyCon DWM PreEmbedder
는 아래와 같은 워크플로우를 통해 적용할 수 있습니다.
- 원본 영상을 배포될 채널의 정보와 함께
DWM PreEmbedder
에 입력합니다. - PallyCon DWM 서버는 DWM PreEmbedder와의 연동을 통해 각 채널마다 고유의 DWM ID를 발급합니다.
DWM PreEmbedder
는 배포될 채널의 갯수만큼 각각 고유의 DWM ID가 임베딩된 영상을 생성합니다.- 배포 채널마다 해당 DWM 영상을 전달합니다.
- 콘텐츠 유출 발생 시, 유출본을 PallyCon 서비스에 전달해 워터마크 검출을 요청합니다.
- PallyCon 서비스는 유출본에서 워터마크(DWM ID)를 검출해 해당 채널 정보를 고객사에 전달합니다.
DWM 지원 사양
PallyCon DWM 솔루션은 아래와 같은 사양을 지원합니다.
항목 | 내용 | 비고 |
---|---|---|
콘텐츠 유형 | 비디오 콘텐츠 지원 | |
영상 컨테이너 및 코덱 | MP4(H.264, H.265, VP9), MOV(ProRes, XDCAM), MXF(XDCAM) | |
지원 해상도 | 최대 4K/UHD 해상도 지원 | |
Dynamic Range | SDR (Standard Dynamic Range), HDR (High Dynamic Range) 지원 | |
DWM ID 크기 | PallyCon DWM 서비스 Plan에 따라 상이 | |
최소 영상 길이 | 워터마크 검출을 위해서는 최소 30초 이상의 연속된 녹화 영상이 필요 | 원본 영상 길이가 30초 미만인 경우에는 적용 불가 |
검출 영상 화질 | 검출을 위해서는 최소 480p 1Mbps 이상 화질 필요 | 720p 이상의 화질 권장 |
단일 프레임 검출 | 단일 프레임 캡쳐본에서의 워터마크 검출 지원 | 검출 작업에 원본 프레임 필요 (Non-blind detection) |
수신 대상 등록
DWM 임베딩과 검출을 위해서는 워터마크 적용된 콘텐츠를 수신할 대상을 미리 등록해야 합니다. 수신 대상은 PallyCon DWM 서비스 Plan에 따라 상이하며, 최소 요금제에서는 최대 1000개, 그 이상의 요금제에서는 1000개 이상의 수신 대상을 등록할 수 있습니다. 등록 순으로 각 수신자에 대한 일련번호가 DWM ID로 부여됩니다.
수신자 이름은 유일해야 하며 영어 알파벳, 십진수 숫자, -
, _
, .
만 사용할 수 있습니다. 이 외 @
, !
, %
등의 특스 문자는 사용할 수 없습니다. 영어 알파벳은 대소문자를 구분하지 않습니다. 따라서 Test
를 등록하면 TEST
, test
등을 추가로 등록할 수 없습니다. 마찬가지로 수신자 이름을 사용할 때에도 Test
가 등록되어 있는 경우 test
를 사용하면 Test
가 사용됩니다.
DWM 수신자를 등록하려면 PallyCon 콘솔의 Distributor Watermarking
메뉴에서 DWM 수신자
항목을 선택합니다. 등록
버튼을 눌러 전환된 화면에서 수신자 명과 설명을 입력해 수신 대상을 등록할 수 있습니다. (여러 항목 등록 시 +
버튼 클릭)
DWM PreEmbedder
를 통한 워터마크 임베딩 시, 작업 정보에 수신 대상의 이름을 입력하면 해당 수신자의 DWM ID(일련 번호)가 출력 영상에 워터마크 정보로 임베딩됩니다.
DWM 임베딩
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 임베딩 작업은 위 코어 모듈을 직접 실행하는 대신 이 스크립트를 통해 수행해야 합니다. -
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) 2021 (배포본 내에 포함되어 있음)
- NVIDIA CUDA Toolkit 11.1 이상 (NVIDIA 하드웨어 가속 사용)
- 각종 연관 라이브러리
설치 가이드
NVIDIA CUDA 툴킷 설치
DWM Embedder 제품은 NVIDIA 하드웨어 인코딩/디코딩 가속을 지원합니다. 지원되는 GPU 및 코덱은 여기에서 확인할 수 있습니다.
DWM Embedder 제품은 CUDA Toolkit 11.1 이상에서 동작합니다. 아래 스크립트는 CUDA Toolkit 11.1을 설치합니다. 다른 CUDA Toolkit 버전을 설치해야 하는 경우 최신 다운로드 또는 아카이브를 참고하시기 바랍니다.
다음과 같은 스크립트를 실행하여 NVIDIA CUDA 툴킷을 설치합니다.
-
Ubuntu 18.04 및 20.04용 설치 스크립트
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID|tr -d '.') $ wget https://developer.download.nvidia.com/compute/cuda/repos/${distribution}/x86_64/cuda-${distribution}.pin $ sudo mv cuda-${distribution}.pin /etc/apt/preferences.d/cuda-repository-pin-600 $ wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-repo-${distribution}-11-1-local_11.1.1-455.32.00-1_amd64.deb $ sudo dpkg -i cuda-repo-${distribution}-11-1-local_11.1.1-455.32.00-1_amd64.deb $ sudo apt-key add /var/cuda-repo-${distribution}-11-1-local/7fa2af80.pub $ sudo apt-get update $ sudo apt-get -y install cuda $ rm cuda-repo-${distribution}-11-1-local_11.1.1-455.32.00-1_amd64.deb $ sudo reboot
-
CentOS 7용 설치 스크립트
$ wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-repo-rhel7-11-1-local-11.1.1_455.32.00-1.x86_64.rpm $ sudo rpm -i cuda-repo-rhel7-11-1-local-11.1.1_455.32.00-1.x86_64.rpm $ sudo yum clean all $ sudo yum -y install nvidia-driver-latest-dkms cuda $ sudo yum -y install cuda-drivers $ rm cuda-repo-rhel7-11-1-local-11.1.1_455.32.00-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 install -y python3 python3-pip $ python3 -m pip install requests
-
Ubuntu 20.04
$ sudo apt update $ sudo apt install -y \ libnuma1 \ libva-drm2 \ libvdpau1 \ libmediainfo0v5 \ libpng16-16 $ sudo apt install -y python3 python3-pip $ python3 -m pip install requests
-
CentOS 7
$ sudo yum update $ sudo yum install -y \ openssl-devel \ libpng-devel \ libmediainfo-devel $ sudo yum install -y python3 python3-pip $ python3 -m pip install requests
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
파일을 업데이트합니다.
{
"account_id": "your_account_id",
"content_id":"contentid_test",
"input": "input.mp4",
"output": "output.mp4",
"visible_watermark": {
"type": "none",
"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"
]
}
account_id
: PallyCon 콘솔의 계정 ID를 입력합니다.content_id
: 원본 콘텐츠에 대한 고유 ID를 입력합니다.input
: DWM을 임베딩할 원본 파일명을 입력합니다.output
: DWM이 임베딩된 결과 파일명을 입력합니다.- 실제 생성되는 결과 파일명에는 지정한 파일명 뒤에 배포 정보(recipient name, 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
Visible Watermark 설정 (선택 사항)
DWM PreEmbedder는 기본적으로 배포 채널 별로 고유한 DWM ID를 눈에 보이지 않게 영상에 임베딩합니다. 영상에 추가로 눈에 보이는 워터마크를 입력하기 원하는 경우, dwm_info.json
파일의 visible_watermark
항목에 다음과 같은 옵션을 설정할 수 있습니다. Visible Watermark는 하나만 지정할 수 있습니다. 두 개 이상의 이미지를 사용하거나, 워터마크를 동시에 두 곳 이상에 표시되도록 할 수 없습니다.
키워드 | 타입 | 필수 여부 | 설명 | 예시 |
---|---|---|---|---|
type |
String | Y | Visible Watermark의 유형. “image” 지정 시 아래 설정에 따라 이미지 삽입. “none” 지정 시 Visible Watermark를 삽입하지 않음 | “type”: “image” |
image |
Object | Y | 이미지 워터마크 관련 설정 | |
filename |
String | Y | 워터마크로 표시될 이미지 경로 | “filename”: “watermark.png” |
alpha |
Float | N | 워터마크의 투명도. 1.0(불투명) ~ 0.01(투명) 사이 값 입력 (기본값: 1.0) | “alpha”: 0.5 |
position |
Object 배열 | N | 워터마크 표시 위치 설정. 배열로 여러 값을 입력 시, Interval에 의해 화면에 표시될 때마다 새로운 위치로 설정됨 | |
x , y |
Integer | N | 화면 상에서 워터마크가 표시될 위치를 X, Y 좌표로 지정 (기본값: 0.0) | [{“x”: 200, “y”: 100}] |
timing |
Object | N | Visible Watermark 표시 및 숨기기 주기 | |
interval |
String | N | ‘HH:MM:SS’의 포맷으로 워터마크가 새로 표시될 주기를 설정 (기본값: 무한, 즉 반복 없음) | “interval”: “00:05:00” 입력 시, 5분마다 워터마크가 새로 표시되고 disappear 값 이후 사라짐 |
disappear |
String | N | ‘HH:MM:SS’의 포맷으로 워터마크 표시 후 사라질 때까지의 시간 (기본값: 사라지지 않음) | “disappear”: “00:01:00” 입력 시, 워터마크 표시된 후 1분 뒤에 사라짐 |
이미지 최대 넓이는 화면 넓이의 5%입니다. 이미지 크기가 5%를 초과하는 경우, 자동으로 조절되지 않고 삽입에 실패합니다. 만약 영상이 1920x1080 px인 경우, 300x300 px (4.34%), 500x200 px (4.82%) 이미지는 삽입가능하지만 400x300 px (5.79%), 1000x110 px (5.3%) 이미지는 삽입할 수 없습니다.
이미지는 잘린 부분 없이 모두 화면 안에 위치해야합니다. 설정으로 인하여 이미지 일부가 잘리게 될 경우, 화면 끝에 맞추어 강제로 안쪽으로 이동됩니다.
예시와 같이 "interval": "00:05:00", "disappear": "00:01:00"
로 설정할 경우, 워터마크 표시 후 1분 후 사라지는 과정이 5분마다 반복됩니다. 즉, 1분간 표시 후 4분간 표시되지 않는 것을 반복하여 5분짜리 주기로 동작합니다.
"interval"
없이 "disappear"
만 설정할 경우, 워터마크는 한번 표시 후 사라지고 다시 표시되지 않습니다. 즉, 초기 1회에 일정 시간동안만 표시하도록 할 수 있습니다. 또한 Visible Watermark는 동시에 두 곳에 표시될 수 없으므로, "interval"
보다 "disappear"
가 길 경우 "disappear"
에 의해 워터마크가 사라지기 전에 "interval"
에 의해 워터마크가 기존 위치에서 사라지고 새 위치에서 표시됩니다. 따라서 이 경우 "disappear"
는 무시됩니다. "disappear"
가 0인 경우에도 무시됩니다.
DWM 작업 이력 조회
Python 스크립트를 통한 연동으로 서버에 전송된 DWM 임베딩 정보는 PallyCon 콘솔에서 조회 가능합니다.
Distributor Watermarking
> 패키징 이력 조회
화면에서 dwm_info.json
작업 파일에 입력한 수신 대상 정보를 조회할 수 있습니다.
DWM 임베딩 작업 에러 코드
에러 코드 | 상태 | 이유 | 해결책 |
---|---|---|---|
DWM0000 | 성공 | - | - |
DWM0001 | 확인되지 않은 오류 | 확인되지 않은 오류 발생 | 로그 메시지를 저희에게 문의하세요. |
DWM0002 | 메모리 부족 | 시스템 메모리 부족 | 사용하지 않는 프로그램 종료 후 재시도 |
DWM0010 | 사용자에 의한 정지 | Ctrl + C 와 같은 사용자 인터럽트 |
- |
DWM0030 | Access key 불일치 | 입력한 Access key와 키파일 불일치 | 올바른 Access key 사용 |
DWM0031 | 키 파일이 없음 | 키 파일이 없거나 접근할 수 없음 | 키 파일 위치 확인 |
DWM0043 | 잘못된 출력 경로 | 출력 경로에 쓰기 권한이 없음 | 쓰기 가능한 출력 경로 설정 |
DWM0054 | 잘못된 입력 파일 | 입력 파일에 비디오 트랙이 없음 | 비디오 트랙이 있는 미디어 사용 |
DWM0200 | 인코더 라이브러리 찾기 실패 | 시스템에 인코더가 설치되지 않음 | 인코더 설치 |
DWM0201 | 디코더 라이브러리 찾기 실패 | 시스템에 디코더가 설치되지 않음 | 디코더 설치 |
DWM0220 | 지원되지 않는 코덱 | 비디오 코덱이 지원되지 않음 | 지원되는 코덱 확인 |
DWM0301 | 잘못된 Config 파일 | Config 파일의 JSON 형식이 올바르지 않음 | Config 파일 형식 확인 |
DWM0302 | Credential 파일이 없음 | Credential 파일이 없거나 접근할 수 없음 | Credential 파일 위치 확인 |
DWM0303 | 잘못된 Credential 파일 | Credential 파일에 필수 정보 중 일부가 존재하지 않음 | Credential 파일 확인 |
DWM0304 | 잘못된 Credential 데이터 길이 | Credential 파일 내 데이터 길이가 올바르지 않음 | Credential 파일 확인 |
DWM0305 | Job 파일이 없음 | Job 파일이 없거나 접근할 수 없음 | Job 파일 위치 확인 |
DWM0306 | 잘못된 Job 파일 | Job 파일의 JSON 형식이 올바르지 않음 | Job 파일 형식 확인 |
DWM0307 | Account id가 설정되지 않음 | Account id가 필수이지만 설정되지 않음 | Job 파일에 Account id 설정 |
DWM0308 | Content id가 설정되지 않음 | Content id가 필수이지만 설정되지 않음 | Job 파일 또는 CLI에 Content id 설정 |
DWM0309 | 입력 파일명이 설정되지 않음 | 입력 파일명이 필수이지만 설정되지 않음 | Job 파일 또는 CLI에 입력 파일명 설정 |
DWM0310 | 출력 파일명이 설정되지 않음 | 출력 파일명이 필수이지만 설정되지 않음 | Job 파일 또는 CLI에 출력 파일명 설정 |
DWM0311 | Recipients가 설정되지 않음 | Recipients가 필수이지만 설정되지 않음 | Job 파일에 Recipients 설정 |
DWM0312 | 입력 파일이 없음 | 입력 파일이 없음 | 올바른 입력 파일명 사용 |
DWM0313 | 잘못된 입출력 파일명 형식 | 입력 및 출력 파일에 확장자가 존재하지 않음 | 입출력 파일명에 올바른 확장자 사용 |
DWM0314 | 확장자 불일치 | 입력 및 출력 파일의 확장자가 불일치함 | 입출력 파일의 확장자 (미디어 컨테이너) 통일 |
DWM0315 | 잘못된 출력 경로 | 출력 경로가 올바르지 않음 | 올바른 출력 경로 설정 |
DWM0316 | 잘못된 Visible Watermark | Visible Watermark 문법이 올바르지 않음 | 올바른 Visible Watermark 문법 사용 |
DWM0317 | Visible Watermark 파일이 없음 | Visible Watermark 파일이 없거나 접근할 수 없음 | Visible Watermark 파일 위치 확인 |
DWM0321 | 잘못된 DWM-API 서버 상태 | 내부 상태가 준비되기 전 DWM-API 서버 기능 호출 | 스크립트를 변경하였다면 복구 |
DWM0322 | 잘못된 요청 데이터 | 일부 DWM-API 서버 요청 데이터가 올바르지 않음 | 스크립트를 변경하였다면 복구 |
DWM0323 | DWM-API 서버 실패 | DWM-API 서버가 올바르게 응답하지 않음 | 로그 메시지를 저희에게 문의하세요. |
DWM0324 | 잘못된 응답 형식 | DWM-API 서버 응답이 올바른 JSON 형식이 아니거나 일부 필수 정보가 없음 | 로그 메시지를 저희에게 문의하세요. |
DWM0325 | DWM-API 서버 오류 반환 | DWM-API 서버가 오류를 응답함 | 로그 메시지를 저희에게 문의하세요. |
DWM0326 | 잘못된 Content id | DWM-API 서버 응답 내 Content id가 올바르지 않음 | 로그 메시지를 저희에게 문의하세요. |
DWM0331 | DwmEmbedder 실행기가 없음 | DwmEmbedder 실행기를 찾을 수 없음 | DWM 배포 패키지 재설치 |
DWM0332 | 잘못된 내부 상태 | 잘못된 내부 상태 | 스크립트를 변경하였다면 복구하시고, 로그 메시지를 저희에게 문의하세요. |
DWM0401 | 정의되지 않은 DwmPreEmbedder 오류 | 정의되지 않은 DwmPreEmbedder 오류 발생 | 로그 메시지를 저희에게 문의하세요. |
APIxxxx | DWM-API 서버 오류 반환 | DWM-API 서버가 오류를 응답함 | DWM-API 서버 가이드 문서를 참조하세요. |
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 검출 관련 상세 안내는 별도로 문의해 주시기 바랍니다.