임베더 라이브러리 가이드

PallyCon 워터마킹 임베더 라이브러리는 인코딩/트랜스코딩 솔루션에 포팅될 수 있도록 C++ 라이브러리 형태로 구현된 워터마크 임베더입니다. 영상 인코딩 과정 내부에 직접 워터마크를 삽입하는 방식으로, CLI 임베더를 이용한 워터마크 삽입에 필요한 재인코딩 과정을 생략할 수 있습니다.

graph LR; subgraph 인코더/트랜스코더 A[원본 영상] -->|인코딩 대상 프레임| B(임베더 라이브러리) B -->|0, 1 마크된
두 벌 프레임| C["인코딩 결과물
(0, 1 두 벌 MP4)"] end C --> D(DASH 또는
HLS 패키징) subgraph 패키저 D --> E["패키징 결과물
(0, 1 두 벌)"] end

기본적으로 FFMPEG 기반의 인코더/트랜스코더에 포팅을 지원하며 기타 상용 솔루션에 적용을 위해서는 해당 솔루션 업체의 작업이 필요합니다. 더 많은 정보가 필요하거나 임베더 라이브러리의 적용을 원하는 업체는 잉카엔트웍스로 문의하시기 바랍니다.

문의하기

상세 플로우

PallyCon 워터마킹 임베더 라이브러리는 아래와 같은 단계로 인코더/트랜스코더에 적용됩니다. 아래 플로우차트에서 붉은 색으로 표시된 부분이 포팅 작업이 필요한 과정입니다.

Embedder library flow

  1. 인코더/트랜스코더 초기화

  2. 임베더 라이브러리 초기화

    • 라이브러리 초기화를 위해 ‘0’과 ‘1’ 버전을 대상으로 각각 CreateEmbedderImplement()init() 함수를 실행합니다.
  3. 원본 영상에서 작업할 프레임을 로딩

    • 첫 프레임부터 순차적으로 인코딩 및 워터마크 임베딩 처리를 진행합니다.
  4. 원본 프레임을 이미지로 디코딩

  5. 디코딩된 이미지에 워터마크 삽입

    • ‘0’과 ‘1’ 두 벌의 결과물을 생성하기 위해 8번까지의 과정을 두 차례 수행합니다.
  6. 워터마크 삽입

    • 임베더 라이브러리의 embed() 함수를 호출하여 ‘0’과 ‘1’ 마크를 삽입합니다.
  7. 워터마크 삽입된 이미지를 출력 영상의 프레임으로 인코딩

  8. 인코딩된 프레임을 출력 영상에 기록

  9. 임베더 라이브러리 종료

    • ‘0’과 ‘1’ 버전을 대상으로 임베더 라이브러리의 DestroyEmbedderImplement() 함수를 호출합니다.
  10. 인코더/트랜스코더 종료

원본 영상의 마지막 프레임까지 위 과정 중 3 ~ 8번을 반복 수행해 각각 ‘0’과 ‘1’ 마크가 삽입된 두 벌의 출력 영상을 생성합니다. (예: output_0.mp4 와 output_1.mp4)