(미디어) 스트림을 건너 레이가

Joe Medley
Joe Medley

현재 Chrome에서 미디어 소스 확장 프로그램 (MSE)을 사용할 때는 암호화된 스트림과 일반 스트림 간에 전환할 수 없습니다. 이는 실제로 MSE 사양에서 금지하지 않습니다. 대신 이 제한은 주로 미디어 파이프라인이 암호화된 미디어 확장 프로그램 (EME)을 지원하도록 설정된 방식에 있습니다.

MSE를 사용하려면 미디어 스트림이 코덱 초기화 데이터, 암호화 정보와 같은 정보가 포함된 초기화 세그먼트로 시작해야 합니다. 일반적으로 초기화 세그먼트는 미디어 파일의 시작 부분에 있습니다. 따라서 미디어가 다운로드 또는 MSE를 통해 미디어 요소에 연결되면 '그냥 작동'합니다.

스트림 중간에 미디어 특성을 변경하려고 하면 문제가 발생합니다. 미디어 특성을 변경하려면 새 초기화 세그먼트를 전달해야 합니다. 대부분의 특성에는 이 방법이 적용됩니다. 재생이 계속됩니다. 암호화 설정은 예외입니다. 첫 번째 초기화 세그먼트의 암호화 설정은 스트림 세그먼트가 암호화될 있는지만 신호를 보냅니다. 즉, 스트림에 클린 미디어 세그먼트를 삽입할 수 있습니다. 이에 따른 결과는 암호화된 세그먼트가 하나만 있는 암호화되지 않은 스트림의 경우에도 초기화 세그먼트에 암호화 정보가 포함되어야 한다는 것입니다. 따라서 광고 삽입에는 다른 플랫폼에는 적용되지 않는 해결 방법이 필요합니다.

Chrome 58부터는 모든 것이 달라집니다. 이제 동일한 스트림에서 암호화된 콘텐츠와 암호화되지 않은 콘텐츠 간에 전환할 수 있습니다. 이렇게 하면 Firefox 및 Edge에 이미 있는 동작을 일치시켜 호환성을 개선할 수 있습니다.

여기에는 몇 가지 주의사항이 있습니다. 먼저 미디어 스트림에 암호화된 세그먼트가 있을 것으로 예상되는 경우 MediaKeys를 미리 설정해야 합니다. 이전과 마찬가지로 동일한 소스에서 HTTP와 HTTPS를 혼합할 수는 없습니다.