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

조 메들리
조 메들리

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

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

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

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

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