Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
stb:adaptive_streaming [2018/07/04 15:36] Alexander [Known limitations] |
stb:adaptive_streaming [2018/08/28 11:34] (текущий) Alexander |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Adaptive streaming HLSv4 and MPEG-DASH on TVIPSTB ====== | + | ====== Поддержка протоколов адаптивного стимминга (HLS, HLSv4 и MPEG-DASH) на медиацентрах TVIP ====== |
- | + | ||
- | + | ||
- | ==== HLS v4 ==== | + | |
- | + | ||
- | Initiated by using URL scheme //hlsv4// or //hlsv4s//.\\ | + | |
- | + | ||
- | Feature set list is based on [[https://www.rfc-editor.org/rfc/rfc8216.txt|RFC8216]] \\ | + | |
- | + | ||
- | ===3.1. Supported Media Segment Formats === | + | |
- | + | ||
- | ===3.2 MPEG-2 Transport Streams=== | + | |
- | Tested: //H.264, HEVC, AAC, MPEG Audio//.\\ | + | |
- | Untested, but planned: //AC3, EAC3, DTS//.\\ | + | |
- | Not planned to support: //MPEG2, MPEG4//.\\ | + | |
- | \\ | + | |
- | **EXT-X-MAP** is not supported for MPEGTS. | + | |
- | + | ||
- | ===3.3 Fragmented MPEG-4=== | + | |
- | Tested: //H.264, HEVC, AAC//.\\ | + | |
- | Untested, but planned: //AC3, EAC3, DTS//.\\ | + | |
- | Planned to support: //VP9//.\\ | + | |
- | \\ | + | |
- | **EXT-X-MAP** is supported for initialization segment.\\ | + | |
- | + | ||
- | ===3.4 Packed audio=== | + | |
- | Tested: //AAC//.\\ | + | |
- | Planned: //AC3, EAC3.//\\ | + | |
- | + | ||
- | + | ||
- | ===3.5 WebVTT=== | + | |
- | Basic support for wtt segments in VoD. | + | |
- | + | ||
- | ===4.3.2 Media Segment Tags=== | + | |
- | + | ||
- | ===4.3.2.1 EXTINF=== | + | |
- | Supported. | + | |
- | \\ | + | |
- | ===4.3.2.2 EXT-X-BYTERANGE=== | + | |
- | Supported. | + | |
- | \\ | + | |
- | ===4.3.2.3 EXT-X-DISCONTINUITY=== | + | |
- | Supported, but player reaction is limited. | + | |
- | \\ | + | |
- | ===4.3.2.4 EXT-X-KEY=== | + | |
- | Supported.\\ | + | |
- | Attributes: //URI, IV, KEYFORMAT.// | + | |
- | AES-128 is supported.\\ | + | |
- | SAMPLE-AES is supported for MPEGTS. | + | |
- | CENC for fMP4 is planned. | + | |
- | \\ | + | |
- | ===4.3.2.5 EXT-X-MAP=== | + | |
- | Supported for fMP4. Only unencrypted. | + | |
- | \\ | + | |
- | ===4.3.2.6 EXT-X-PROGRAM-DATE-TIME=== | + | |
- | Supported.\\ | + | |
- | Can be used for timeshifting. | + | |
- | \\ | + | |
- | ===4.3.2.7 EXT-X-DATERANGE=== | + | |
- | Not supported. | + | |
- | \\ | + | |
- | + | ||
- | ===4.3.3 Media Playlist Tags=== | + | |
- | + | ||
- | ===4.3.3.1 EXT-X-TARGETDURATION=== | + | |
- | Supported. | + | |
- | \\ | + | |
- | ===4.3.3.1 EXT-X-MEDIA-SEQUENCE=== | + | |
- | Supported. | + | |
- | \\ | + | |
- | ===4.3.3.3 EXT-X-DISCONTINUITY-SEQUENCE=== | + | |
- | Supported, but player reaction is limited. | + | |
- | \\ | + | |
- | ===4.3.3.4 EXT-X-ENDLIST=== | + | |
- | Supported. | + | |
- | \\ | + | |
- | ===4.3.3.5 EXT-X-PLAYLIST-TYPE=== | + | |
- | Supported. | + | |
- | \\ | + | |
- | ===4.3.3.6 EXT-X-I-FRAMES-ONLY=== | + | |
- | Not supported. | + | |
- | \\ | + | |
- | + | ||
- | ===4.3.4 Master Playlist Tags=== | + | |
- | Supported. | + | |
- | \\ | + | |
- | ===4.3.4.1 EXT-X-MEDIA=== | + | |
- | Supported.\\ | + | |
- | Valid //TYPE// values: //AUDIO, VIDEO, SUBTITLES//.\\ | + | |
- | Supported attributes: //TYPE, URI, GROUP-ID, LANGUAGE, NAME// | + | |
- | ===4.3.4.1.1 Rendition Groups=== | + | |
- | Supported.\\ | + | |
- | ===4.3.4.2 EXT-X-STREAM-INF=== | + | |
- | Supported.\\ | + | |
- | Supported attributes: //BANDWIDTH,CODECS,AUDIO,VIDEO,SUBTITLES//. | + | |
- | \\ | + | |
- | ===4.3.4.3 EXT-X-I-FRAME-STREAM-INF=== | + | |
- | Not supported.\\ | + | |
- | ===4.3.4.4 EXT-X-SESSION-DATA=== | + | |
- | Not supported.\\ | + | |
- | ===4.3.4.5 EXT-X-SESSION-KEY=== | + | |
- | Not supported.\\ | + | |
- | + | ||
- | ===4.3.5 Media or Master Playlist Tags=== | + | |
- | ===4.3.5.1 EXT-X-INDEPENDENT-SEGMENTS=== | + | |
- | Not supported.\\ | + | |
- | ===4.3.5.2 EXT-X-START=== | + | |
- | Not supported.\\ | + | |
- | + | ||
- | ===6.3 Client Responsibilities=== | + | |
- | ===6.3.3 Playing the Media Playlist File=== | + | |
- | EXT-X-PROGRAM-DATE-TIME is only forward exterpolated. | + | |
- | + | ||
- | ==== MPEG-DASH ==== | + | |
- | + | ||
- | MPEG-DASH support will be based on : [[https://dashif.org/wp-content/uploads/2017/09/DASH-IF-IOP-v4.1-clean.pdf|DASH-IF interop guideline]]. | + | |
- | \\ | + | |
- | Currently support is limited: | + | |
- | * VOD profile and some subset of Live profile are supported. | + | |
- | * Media segments should be MP4 (CMAF) with H264/H265 video and AAC/AC3 audio. | + | |
- | * Media should be either splitted into file segments and use SegmentTemplate tag, either have a single segment + sidx box and use SegmentBase. SegmentList was not tested. | + | |
- | * It is recommended that presentation has a single Period. If has multiple periods, all adaptation sets tructure should be strictly the same in all periods. Changing of media between periods is not supported. | + | |
- | * Encryption is not supported (Widevine CDM is planned). | + | |
- | * Only first available video track (adaptation set) will be selected. | + | |
- | * Any adaptation set filtering is not supported (encrypted can be ignored, however). Audio sets will be signalled one by one. | + | |
- | * Subtitles are not currently supported (WebVTT is planned). | + | |
- | * Represenation set (bandwidth) switching is only possible between video adaptation sets. Audio would always use first representation set signalled. | + | |
- | * In Live mode playlist will be updated more frequently, than it may be needed. | + | |
- | * Any tags controlling buffering or stream priorities are not supported. | + | |
- | + | ||
- | ==== Known limitations === | + | |
- | * Video tracks can not be switched. | + | |
- | * Switching of audio tracks may sometimes not work. | + | |
+ | Описание доступно на [[en:stb:adaptive_streaming|английском языке]]. |