재생할 변환 결정

이 항목에는 브라이트코브 플레이어에서 재생할 변환을 결정하는 방법에 대한 정보가 포함되어 있습니다.

HLS 또는 MP4?

새로운 브라이트코브 플레이어를 사용하는 경우 가장 많은 수의 디바이스와 브라우저에 도달하기 위해 HLS 및 MP4 변환이 모두 포함된 인제스트 프로파일을 선택하거나 생성하는 것이 좋습니다. 이 표에서는 런타임에 특정 브라우저에서 재생할 변환을 결정하는 방법을 보여 줍니다.

브라우저 유형 기본적으로 사용되는 재생 기술
데스크톱 크롬 34 이상, 데스크톱 파이어 폭스 42 이상, 에지 및 크롬 34 이상 안드로이드 5.0 이상에 HTML 기반 HLS (MSE 사용)
데스크탑 (맥 OS) 사파리, 모바일 (iOS) 사파리 네이티브 HLS (브라우저에 의해 구현)
이전 파이어폭스와 크롬 플래시 기반 HLS; 플래시 10.3 이상 필요 (플래시가 비활성화된 경우 MP4로 폴백 됨)
윈도우 8.1 이상에 IE 11 HTML 기반 HLS (MSE 사용)

HLS & DASH 연출 선택

HLSDASH비디오는 세그먼트로 나뉩니다. 일반적으로 약 10 초의 지속 시간이지만 더 길거나 짧을 수 있습니다. 대역폭과 해상도를 알고 있으면 플레이어는 이러한 기준에 따라 변환을 선택합니다. 해상도나 대역폭을 알 수 없는 경우 (예: 로 플레이어를 만들 때display:none ) 플레이어는 .5 MB/s (4000kbs에 해당) 에 가장 가까운 변환으로 시작합니다. 세그먼트 경계에서 아래 텍스트와 이미지에 설명된 더 높거나 낮은 변환으로 전환됩니다.

HLS와 DASH는 모두 사용 가능한 대역폭과 인코딩을 고려하면서 동시에 플레이어 크기를 고려하여 가능한 최고 품질의 시청 환경을 보장합니다. 이것이 항상 사용 가능한 최고 비트 전송률 변환을 사용하는 것을 의미하지는 않습니다. 예를 들어 플레이어가 300px x 150px 인 경우 4k 스트림을 다운로드하는 데 대역폭이 낭비됩니다.

기본적으로 플레이어는 가장 최근에 감지된 세그먼트 대역폭보다 작은 가장 높은 비트레이트 변형을 로드하려고 시도합니다. 현재 플레이어 크기보다 큰 치수가 여러 개 있는 경우 현재 플레이어 크기보다 큰 크기만 전환됩니다.

재생 중에 플레이어는 다음 알고리즘에 따라 더 높거나 낮은 변환으로 전환됩니다. 이 알고리즘에 대한 입력은 다음과 같습니다.

  • 사용 가능한 대역폭
  • 플레이어 크기

고급 알고리즘 개요

  1. 측정된 대역폭보다 비트 전송률이 높은 모든 변환을 제거합니다.
  2. 나머지 변환을 해상도 (가로 줄 수) 순으로 정렬합니다.
  3. 플레이어 차원에 가장 가까운 것을 가리킵니다.
  4. 그 것보다 높은 것을 선택하십시오.

이 과정은 다음과 같습니다.

  1. 새 세그먼트가 다운로드될 때마다 다운로드 비트 전송률은 세그먼트의 크기와 다운로드에 걸린 시간을 기준으로 계산됩니다.
    HLS 변환1
  2. 새 측정값보다 비트 전송률이 높은 모든 변환이 필터링됩니다.
    HLS 변환2
  3. 현재 플레이어의 크기보다 큰 모든 변환은 필터링됩니다.
    HLS 변환3
  4. 플레이어가 한 픽셀이 너무 작기 때문에 상당한 품질 저하가 필요하지 않으므로 다음으로 높은 해상도로 다시 추가됩니다. 가장 높은 비트레이트 변환이 사용되는 변환입니다.
    HLS 변환4

위에서 설명한 필터링을 기반으로 변환이 허용되지 않는 것으로 밝혀지면 마스터 재생 목록에 나열된 첫 번째 인코딩이 사용됩니다.

플레이어가 다른 우선 순위를 사용하도록 하려면 변환 선택 논리를 완전히 바꿀 수 있습니다. 예를 들어, 재생 중에 더 많은 정지점을 의미하더라도 해상도에 따라 가장 적합한 변환을 선택할 수 있습니다. 자세한 내용은플레이어에서 설명서를 참조하십시오.hls.Select재생 목록 .

MP4 변환 선택

모바일 장치에서 실행하고 MP4를 재생하는 경우 (위에 나열된 규칙에 따라) 플레이어는 비트 전송률이.5 MB/s에 가장 가까운 MP4를 선택합니다. 데스크톱 또는 랩톱 장치의 경우 3Mb/s에 가장 가까운 장치를 선택합니다.

오디오 트랙 선택

매니페스트는 선택한 비디오 트랙에 따라 로드할 오디오 트랙을 결정합니다.

재생 목록-1.m3u8

#EXTM3U

  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/stereo/en/128kbit.m3u8"
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8"
  
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio/surround/en/320kbit.m3u8"
  #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="dubbing",NAME="Dubbing",DEFAULT=NO,AUTOSELECT=YES,URI="audio/stereo/none/128kbit.m3u8"
  
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Deutsch",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="de",URI="subtitles_de.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="en",URI="subtitles_en.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Espanol",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="es",URI="subtitles_es.m3u8"
  #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fr",URI="subtitles_fr.m3u8"
  
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=258157,CODECS="avc1.4d400d,mp4a.40.2",AUDIO="stereo",RESOLUTION=422x180,SUBTITLES="subs"
  video/250kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=520929,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs"
  video/500kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=831270,CODECS="avc1.4d4015,mp4a.40.2",AUDIO="stereo",RESOLUTION=638x272,SUBTITLES="subs"
  video/800kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1144430,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=958x408,SUBTITLES="subs"
  video/1100kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1558322,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="surround",RESOLUTION=1277x554,SUBTITLES="subs"
  video/1500kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=4149264,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs"
  video/4000kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=6214307,CODECS="avc1.4d4028,mp4a.40.2",AUDIO="surround",RESOLUTION=1921x818,SUBTITLES="subs"
  video/6000kbit.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=10285391,CODECS="avc1.4d4033,mp4a.40.2",AUDIO="surround",RESOLUTION=4096x1744,SUBTITLES="subs"
  video/10000kbit.m3u8

위의 샘플에는 스테레오서라운드 라는 두 개의 오디오 그룹이 있습니다. 8비트 전송률에 6가지 비디오 해상도도 있습니다.

  • 3개의 하위 비트 전송률은 스테레오 오디오 그룹을 사용합니다.
  • 5개의 더 높은 비트 전송률은 서라운드 오디오 그룹을 사용합니다.

두 오디오 그룹에는 언어와 이름이 다른 두 개의 스트림이 있습니다. 이 트랙이 있으면 플레이어의 메뉴에 대체 오디오 트랙으로 표시됩니다.

참고

  • HLS는 디먹싱된 오디오 시나리오에서 오디오 스트림을 조정할 수 없습니다. 따라서 위의 예와 같이 다른 오디오 그룹이나 대체 오디오가 있는 경우 스테레오 또는 서라운드 트랙의 여러 품질 표현을 지정할 수 없습니다.

    그러나 재생 목록이 오디오 전용인 경우 일반EXT-X-STREAM-INF태그를 통해 오디오를 제공하면 재생 목록이 오디오 전용일 수 있습니다.

  • DASH의 경우 적응형 오디오를 가질 수 있지만 오디오 전용 매니페스트가 아닌 한 현재 적응을 지원하지 않습니다. 비디오 변환과 관련된 단일 변환을 선택합니다. 이것은 우리가 찾은 첫 번째 오디오 변환입니다.