개요
H.265라고도하는 HEVC (High-Efficiency Video Coding)는 비디오 파일 크기를 줄여 고품질 재생을 허용하는 비디오 압축 표준입니다.
Android 용 Brightcove Native SDK는 다음 HEVC 선택 프로세스를 사용합니다.
HEVC 소스 선택
HEVC 소스 선택 프로세스는 Brightcove를 사용하여 비디오를 요청한 후에 시작됩니다. Catalog
.
계정 구성에 따라Catalog
응답에는 HEVC 변환이 있거나없는 여러 소스가 포함될 수 있습니다. 다음은 예입니다.
"sources": [
{
"type": "application/dash+xml",
"src": "http://manifest.prod.boltdns.net/manifest/v1/dash/live-baseurl/clear/4800266849001/11023209-08e4-40d4-9a8b-25aa659421e2/2s/manifest.mpd?fastly_token=ZYZ",
"profiles": "urn:mpeg:dash:profile:isoff-live:2011"
},
{
"type": "application/dash+xml",
"src": "https://manifest.prod.boltdns.net/manifest/v1/dash/live-baseurl/clear/4800266849001/11023209-08e4-40d4-9a8b-25aa659421e2/2s/manifest.mpd?fastly_token=XYZ",
"profiles": "urn:mpeg:dash:profile:isoff-live:2011"
},
{
"type": "application/dash+xml",
"src": "http://manifest.prod.boltdns.net/manifest/v2/dash/live-baseurl/clear/avc1_hvc1_mp4a/4800266849001/11023209-08e4-40d4-9a8b-25aa659421e2/2s/manifest.mpd?fastly_token=XYZ",
"profiles": "urn:mpeg:dash:profile:isoff-live:2011"
},
{
"type": "application/dash+xml",
"src": "https://manifest.prod.boltdns.net/manifest/v2/dash/live-baseurl/clear/avc1_hvc1_mp4a/4800266849001/11023209-08e4-40d4-9a8b-25aa659421e2/2s/manifest.mpd?fastly_token=XYZ",
"profiles": "urn:mpeg:dash:profile:isoff-live:2011"
}
]
이 예에는 4 개의 DASH 소스가 있습니다.
- 비 HEVC HTTP 소스 1 개
- 비 HEVC HTTPS 소스 1 개
- HEVC HTTP 소스 1 개
- HEVC HTTPS 소스 1 개
HEVC 소스에는 문자열이 포함되어 있습니다. hvc
URL에서.
Android 소스 선택 기용 네이티브 SDK는 HEVC 소스를 선호합니다. 위의 예에서는 HEVC HTTPS 소스를 선택합니다.
Native SDK는에 정의 된 기본 선택 프로세스를 계속합니다. 기계적 인조 인간: 소스 선택문서:
- HTTP보다 HTTPS 선호
- HLS보다 DASH 선호
- 재생을 위해 HLS를 선택하는 경우 사용 가능한 가장 높은 버전의 HLS를 선호합니다.
HEVC 변환 선택
수집 구성에 따라 HEVC 소스가 다른 변환에 포함될 수 있습니다. 다음이있을 수 있습니다.
HEVC 변환 만
비디오 소스의 변환에 HEVC 코덱 만있는 경우 관련된 변환 선택이 없습니다. ExoPlayer는 장치 기능과 사용 가능한 대역폭을 고려하여 적절한 변환을 선택합니다.
HEVC 및 기타 코덱의 혼합
비디오 소스에 HEVC 및 기타 코덱 (예 : AVC)이 혼합 된 렌 디션이있는 경우 렌 디션 선택 프로세스가 호출됩니다. Native SDK가 소스를 ExoPlayer에로드하면 SelectionOverride비디오 변환이 다른 코덱보다 HEVC를 선호합니다.
장치에서 렌 디션 형식을 지원하는 비디오의 경우 렌 디션 프로세스는 다음과 같습니다.
- Native SDK는 모든 HEVC 변환을 선택합니다.
- 동일한 해상도로 기존 HEVC를 복제하는 비 HEVC 변환을 무시합니다.
이로 인해 ExoPlayer는 대부분의 경우 HEVC를 선호합니다. 다음은 두 가지 가능한 시나리오입니다.
코덱 혼합 복제
이 시나리오에서는 대부분의 HEVC 및 AVC 코덱 해상도가 중복됩니다. 예:
AVC <Representation bandwidth="453000" height="270" width="480">
AVC <Representation bandwidth="704000" height="360" width="640">
AVC <Representation bandwidth="903000" height="360" width="640">
AVC <Representation bandwidth="1202000" height="540" width="960">
AVC <Representation bandwidth="1989000" height="720" width="1280">
AVC <Representation bandwidth="2478000" height="720" width="1280">
AVC <Representation bandwidth="3458000" height="720" width="1280">
AVC <Representation bandwidth="3761000" height="720" width="1280">
HVC <Representation bandwidth="304000" height="270" width="480">
HVC <Representation bandwidth="548000" height="360" width="640">
HVC <Representation bandwidth="993000" height="432" width="768">
HVC <Representation bandwidth="1301000" height="576" width="1024">
HVC <Representation bandwidth="1605000" height="720" width="1280">
HVC <Representation bandwidth="2809000" height="720" width="1280">
위의 비디오 변환이 주어지면 Brightcove Natvie SDK는 다음 변환을 선택합니다.
AVC <Representation bandwidth="1202000" height="540" width="960">
HVC <Representation bandwidth="304000" height="270" width="480">
HVC <Representation bandwidth="548000" height="360" width="640">
HVC <Representation bandwidth="993000" height="432" width="768">
HVC <Representation bandwidth="1301000" height="576" width="1024">
HVC <Representation bandwidth="1605000" height="720" width="1280">
HVC <Representation bandwidth="2809000" height="720" width="1280">
해상도가 기존 HEVC 변환을 복제하지 않기 때문에 AVC 변환이 하나만 선택되었습니다.
반반
이 시나리오에는 AVC 코덱을 사용하는 저해상도 변환과 HVC 코덱을 사용하는 고해상도 변환이 있습니다. 예:
AVC <Representation bandwidth="453000" height="270" width="480">
AVC <Representation bandwidth="704000" height="360" width="640">
AVC <Representation bandwidth="903000" height="360" width="640">
AVC <Representation bandwidth="1202000" height="540" width="960">
AVC <Representation bandwidth="3761000" height="720" width="1280">
HVC <Representation bandwidth="1301000" height="576" width="1024">
HVC <Representation bandwidth="1605000" height="720" width="1280">
HVC <Representation bandwidth="2809000" height="720" width="1280">
이 경우 HEVC 변환을 복제하는 해상도가있는 AVC 코덱이 없기 때문에 Native SDK가 모든 변환을 선택하여 ExoPlayer가 사용 가능한 대역폭을 기반으로 변환을 선택할 수 있도록합니다.
Native SDK는이 시나리오의 모든 경우에 HEVC 선택을 강제하지 않으므로 최저 변환을 높은 비트 전송률 HEVC 변환으로 제한하지 않습니다. 이로 인해 네트워크 연결 상태가 좋지 않은 사용자 환경이 나빠질 수 있습니다.