최신 업데이트:2025-05-29 14:41:09
워터마크는 동영상 콘텐츠의 저작권 보호를 위한 효과적인 방법입니다. CDNetworks는 가시적 워터마크 추가를 지원하여 무단 사용을 방지합니다. 당사 플랫폼에서는 다음과 같은 4가지 유형의 워터마크를 지원합니다:
CDNetworks는 MP4, FLV, M3U8, TS, MKV, MOV, WMV, AVI, VP8, VP9, RealVideo, Windows Media Video, H.265, H.264, H.263, MPEG 등을 포함한 다양한 동영상 포맷과 코덱을 지원합니다.
요청 본문에서 fops 명령을 다음 형식으로 구성하십시오:
<op>/<Format>
/wmImage2/<value>
/wmGravity/<value>
/wmauto/<value>
/wmWidth/<value>
/wmHeight/<value>
/wmDissolve/<value>
/wmdx/<value>
/wmdy/<value>
/wmInterval/<value>
/multiConvertTime/<value>
/wmText/<value>
/wmFont/<value>
/wmFontColor/<value>
/wmFontSize/<value>
/wmFontDissolve/<value>
/wmFontBorderWidth/<value>
/wmFontBorderColor/<value>
/wmTextGravity/<value>
/wmtextdx/<value>
/wmtextdy/<value>
/wmTextInterval/<value>
/wmFontBold/<value>
|saveas/<Urlsafe_Base64_Encode(bucket:filekey)>
| 파라미터 | 필수 | 설명 |
|---|---|---|
op |
예 | 작업 유형. 워터마크 처리에는 avthumb 사용 |
format |
예 | 출력 포맷 (flv, mp4, m3u8 등) |
saveas |
아니오 | URL-안전 Base64 인코딩된 출력 위치: Urlsafe_Base64_Encode(bucket:저장파일명) |
| 파라미터 | 필수 | 설명 |
|---|---|---|
wmImage2 |
아니오 | 워터마크용 이미지/동영상 경로 형식: URL-안전 Base64 인코딩 <bucket>:<path>예시: test:1.jpg → dGVzdDoxLmpwZw==다중 워터마크: 콤마로 구분하여 인코딩 예시: Url-Safe-Base64-Encode(test:1.jpg),Url-Safe-Base64-Encode(test:2.jpg)팁: 동영상 워터마크는 메인 동영상과의 동기화 유지를 위해 짧은 클립 사용 권장 |
wmGravity |
아니오 | 위치 지정 (wmGravity 파라미터 표 참조)추천: 브랜딩에는 BOTTOM_RIGHT 위치가 시청 경험에 방해되지 않음 |
wmauto |
아니오 | 적응형 스케일링: • 1 - 해상도 변화에 비례하여 스케일 조정• 0 (기본값) - 원본 크기 유지예시: 1200×600 동영상에 40×40 워터마크 사용 시 300×200으로 변환하면 wmauto/1로 10×10으로 축소추천: 다양한 디바이스에서 시청할 경우 wmauto/1 활성화 |
wmWidth |
아니오 | 워터마크 너비 (픽셀/퍼센트 지정): • 절대값: wmWidth/40 (40px)• 상대값: wmWidth/50% (동영상 너비의 50%)• 0 이하: 종횡비에 따라 자동 조정 추천: 고정 픽셀값보다 퍼센트 지정 권장 |
wmHeight |
아니오 | 워터마크 높이 (픽셀/퍼센트 지정): • 절대값: wmHeight/60 (60px)• 상대값: wmHeight/20% (동영상 높이의 20%)• 0 이하: 종횡비에 따라 자동 조정 wmWidth와 wmHeight 모두 0 이하일 경우 원본 크기 사용추천: 로고 워터마크는 동영상 높이의 10-15%가 적절 |
wmDissolve |
아니오 | 투명도 설정 (1-100): • 100 - 완전 불투명 (기본값)• 1 - 거의 투명• 범위 외 값은 자동 조정 추천: 70-85 값이 가시성과 방해 요소 간 최적 밸런스 |
wmdx |
아니오 | wmGravity 위치 기준 수평 오프셋:• 양수: 오른쪽 이동 • 음수: 왼쪽 이동 wmGravity 파라미터 수와 일치해야 함추천: 코너에서 10-20px 오프셋으로 화면 잘림 방지 |
wmdy |
아니오 | wmGravity 위치 기준 수직 오프셋:• 양수: 위로 이동 • 음수: 아래로 이동 wmGravity 파라미터 수와 일치해야 함추천: 하단 배치 시 양수 오프셋으로 하단 경계 접촉 방지 |
wmInterval |
아니오 | 위치 변경 간격 (초 단위) 추천: 무단 녹화 방지를 위해 15-30초 간격 사용 |
multiConvertTime |
아니오 | 워터마크 변경 타임스탬프 (콤마 구분) 예시: 5,10,20 (5초, 10초, 20초에 변경)wmInterval과 동시 사용 불가추천: 장면 전환 타이밍에 맞춰 자연스러운 이동 구현 |
| 파라미터 | 필수 | 설명 |
|---|---|---|
wmText |
아니오 | 텍스트 내용 (URL-안전 Base64 인코딩) 다중 텍스트: 콤마 구분 후 인코딩 예시: Url-Safe-Base64-Encode(text1),Url-Safe-Base64-Encode(text2)중요: 중국어 간체자는 UTF-8 인코딩 필수 추천: 회사명·웹사이트·저작권 표시 등 간결한 내용 권장 |
wmFont |
아니오 | 폰트 지정 (URL-안전 Base64 인코딩) 허용 문자: 영숫자·공백·하이픈 다중 폰트: 콤마 구분 후 인코딩 형식: <Urlsafe_Base64_Encode(<Font1>,<Font2>…)>추천: 산세리프 폰트가 가독성에 우수 (지원 폰트 표 참조) |
wmFontColor |
아니오 | 텍스트 색상 (RGB 형식/URL-안전 Base64 인코딩) 형식: 0xrrggbb 또는 &Hrrggbb (접두사 생략 가능)다중 색상: 콤마 구분 후 인코딩 형식: <Urlsafe_Base64_Encode(<색상1>,<색상2>…)>추천: 어두운 배경에 흰색( 0xFFFFFF)·연노랑(0xFFFF00) + 대비되는 테두리 추가 |
wmFontSize |
아니오 | 폰트 크기 (픽셀/퍼센트 지정): • 절대값: 5-2160px • 상대값: 동영상 높이 대비 % (>0%-100%) • 기본값: 6% 추천: 동영상 높이의 5-8%가 최적 가독성 제공 |
wmFontDissolve |
아니오 | 텍스트 투명도 (1-100): • 100 - 완전 불투명 (기본값)• 1 - 거의 투명• 범위 외 값 자동 조정 추천: 이미지 워터마크와 동일 원칙 적용 (70-85 권장) |
wmFontBorderWidth |
아니오 | 텍스트 테두리 두께: • 0 이하: 테두리 없음 (기본값) • 양수: 픽셀 단위 두께 추천: 1-2px 테두리 추가로 복잡한 배경에서 가독성 향상 |
wmFontBorderColor |
아니오 | 텍스트 테두리 색상 (wmFontColor 형식과 동일)기본값: 0x000000 (검정)추천: 흰색 텍스트에 검정 테두리 조합이 최적 가독성 제공 |
wmTextGravity |
아니오 | 텍스트 위치 지정 (wmGravity 형식과 동일)동적 텍스트는 콤마로 다중 위치 지정 가능 추천: 프레임 하단 배치가 중요 콘텐츠 가림 방지에 효과적 |
wmtextdx |
아니오 | wmGravity 기준 수평 오프셋 (wmdx와 동일 원칙)추천: 가장자리에서 10-20px 오프셋으로 잘림 방지 |
wmtextdy |
아니오 | wmGravity 기준 수직 오프셋 (wmdy와 동일 원칙)추천: 하단 배치 시 양수 오프셋으로 하단 경계 접촉 방지 |
wmTextInterval |
아니오 | 텍스트 변경 간격 (초 단위/1초 이상) 추천: 저작권 표시 위치 변경은 20-30초 간격으로 사용자 방해 최소화 |
wmFontBold |
아니오 | 굵은 글씨 설정: • 1 - 굵게• 0 - 보통 (기본값)추천: 작은 크기나 복잡한 배경에서 가독성 향상 |
| 파라미터 | 설명 |
|---|---|
TOP_LEFT |
좌상단 |
TOP_CENTER |
상단 중앙 |
TOP_RIGHT |
우상단 |
CENTER_LEFT |
좌측 중앙 |
CENTER |
정중앙 |
CENTER_RIGHT |
우측 중앙 |
BOTTOM_LEFT |
좌하단 |
BOTTOM_CENTER |
하단 중앙 |
BOTTOM_RIGHT |
우하단 |
test.mp4에 다음 동작의 이미지 워터마크 추가:
vod-wcs-test001 버킷의 watermark.jpg의사 코드:
curl -v -X POST
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/mp4/wmImage2/Urlsafe_Base64_Encode(vod-wcs-test001:watermark.jpg) /wmGravity/TOP_LEFT,TOP_RIGHT/wmInterval/5/wmdx/0,-20/wmdy/0,0/wmWidth/20%/wmHeight/20%|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_watermark.mp4))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
실제 요청:
curl -v -X POST
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tcDQvd21JbWFnZTIvZG05a0xYZGpjeTEwWlhOME1EQXhPbmRoZEdWeWJXRnlheTVxY0djPS93bUdyYXZpdHkvVE9QX0xFRlQsVE9QX1JJR0hUL3dtSW50ZXJ2YWwvNS93bWR4LzAsLTIwL3dtZHkvMCwwL3dtV2lkdGgvMjAlL3dtSGVpZ2h0LzIwJXxzYXZlYXMvZG05a0xYZGpjeTEwWlhOME1EQXhPblJsYzNSZmQyRjBaWEp0WVhKckxtMXdOQT09&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
test.mp4에 동영상 워터마크 추가:
vod-wcs-test001 버킷의 watermark.mp4의사 코드:
curl -v -X POST
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/mp4/wmImage2/Urlsafe_Base64_Encode(vod-wcs-test001:watermark.mp4)/wmGravity/TOP_LEFT/wmWidth/20%/wmHeight/20%|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_video.mp4))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
실제 요청:
curl -v -X POST
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tcDQvd21JbWFnZTIvZG05a0xYZGpjeTEwWlhOME1EQXhPbmRoZEdWeWJXRnlheTV0Y0RRPS93bUdyYXZpdHkvVE9QX0xFRlQvd21XaWR0aC8yMCUvd21IZWlnaHQvMjAlfHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmZG1sa1pXOHViWEEw&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
test.mp4에 텍스트 워터마크 추가:
의사 코드:
curl -v -X POST
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/mp4/wmText/Urlsafe_Base64_Encode(CDNetworks)/wmFont/Urlsafe_Base64_Encode(Arial Unicode MS)/wmTextGravity/TOP_LEFT|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_file.mp4))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
실제 요청:
curl -v -X POST
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tcDQvd21UZXh0L0ppTjROMFkxTVRzbUkzZzFRa0pHT3lZamVEYzVSREU3SmlONE5qSTRNRHNnSmlONE56QkNPVHNtSTNnMk5FRkVPeVlqZURVeVFUQTdKaU40T1RBeFJqcz0vd21Gb250L1FYSnBZV3dnVlc1cFkyOWtaU0JOVXc9PS93bVRleHRHcmF2aXR5L1RPUF9MRUZUfHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmWm1sc1pTNXRjRFE9&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign"
--url "http://mgrDomain/fops"
| 폰트 패밀리 | 폰트 변형 |
|---|---|
| Noto Sans CJK SC | Noto Sans CJK SC 일반체 Noto Sans CJK SC 블랙체 Noto Sans CJK SC 볼드체 Noto Sans CJK SC 데미라이트체 Noto Sans CJK SC 라이트체 Noto Sans CJK SC 미디엄체 Noto Sans CJK SC 얇은체 |
| Noto Sans Mono CJK SC | Noto Sans Mono CJK SC 일반체 Noto Sans Mono CJK SC 볼드체 |
| Noto Serif CJK SC | Noto Serif CJK SC 일반체 Noto Serif CJK SC 블랙체 Noto Serif CJK SC 엑스트라라이트체 Noto Serif CJK SC 라이트체 Noto Serif CJK SC 미디엄체 Noto Serif CJK SC 세미볼드체 |
| Roboto | Roboto 일반체 Roboto 압축체 Roboto 압축 라이트체 Roboto 블랙체 Roboto 라이트체 Roboto 미디엄체 Roboto 얇은체 |
| 원촨이 (WenQuanYi) | 원촨이 젠 헤이 모노 원촨이 젠 헤이 샤프 원촨이 젠 헤이 |