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

Joe Medley
Joe Medley

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

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

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

Chrome 58부터 이 모든 사항이 변경됩니다. 이제 동일한 스트림에서 암호화된 데이터와 암호화되지 않은 데이터 간에 전환할 수 있습니다. 이렇게 하면 Firefox와 Edge에 이미 있는 동작을 일치시켜 호환성이 개선됩니다.

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