질문
DoveRunner FFmpeg 필터를 사용해 워터마킹 적용을 위한 콘텐츠 전처리는 어떻게 하나요?
답변 및 해결 방법
포렌식 워터마킹을 적용하기 위한 전처리를 수행하려면, 워터마크가 적용된 콘텐츠 파일을 2개 생성해야 합니다. 하나는 symbol=0, 다른 하나는 symbol=1로 생성합니다. 이렇게 생성된 두 파일은 이후 재생 과정에서 세션 기반으로 동적으로 워터마크를 삽입하는 데 사용됩니다.
다음 FFmpeg 전처리 명령을 사용하세요:
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./lib ./ffmpeg -y \
-i input.mp4 \
-filter_complex "[0:v]split=2[in0][in1]; \
[in0]doverunnerwm=wm_key_base64=<BASE64_KEY>:access_key=<ACCESS_KEY>:symbol=0[wm0]; \
[in1]doverunnerwm=wm_key_base64=<BASE64_KEY>:access_key=<ACCESS_KEY>:symbol=1[wm1]" \
-map "[wm0]" -map 0:a -c:v <encoder> -g <gop_value> -c:a copy output_wm_0.mp4 \
-map "[wm1]" -map 0:a -c:v <encoder> -g <gop_value> -c:a copy output_wm_1.mp4
기억해야 할 사항
-
해상도별로 각각 전처리해야 합니다(1080p, 720p, 480p 등). 해상도 1개당 아래 2개의 출력 파일이 생성됩니다:
output_wm_0.mp4 (symbol 0)
output_wm_1.mp4 (symbol 1)
-
환경에 맞는 인코더를 선택하세요:
libx264, libx265 또는 h264_nvenc (NVIDIA GPU 사용 시)
-
소스 FPS에 따라 GOP 값을 설정하세요:
24 fps → 48
25 fps → 50
30 fps → 60
48 fps → 96
50 fps → 100
60 fps → 120
인코더별 GOP 설정 예시
libx264: -g 60 -x264-params keyint=60:min-keyint=60:scenecut=0:open-gop=0
libx265: -g 60 -x265-params keyint=60:min-keyint=60:scenecut=0:open-gop=0
h264_nvenc / hevc_nvenc: -g 60 -no-scenecut 1 -strict_gop 1
참고
본 전처리는 1회만 수행하는 작업이며, 패키징 또는 스트리밍 전에 반드시 완료되어야 합니다.