Updated documentation with webvtt and iframe playlist examples
Closes #205, #287 Change-Id: I77ca15f63e262eb0eaff7b6d74d259d30da9f823
This commit is contained in:
parent
7dcab4c799
commit
3606f313d6
|
@ -30,13 +30,16 @@ Shaka Packager supports:
|
||||||
| VP8 | I / O | I / O | - | - |
|
| VP8 | I / O | I / O | - | - |
|
||||||
| VP9 | I / O | I / O | - | - |
|
| VP9 | I / O | I / O | - | - |
|
||||||
| AAC | I / O | - | I / O | I |
|
| AAC | I / O | - | I / O | I |
|
||||||
| Dolby AC3/EAC3 | I / O | - | - | - |
|
| Dolby AC3/EAC3 | I / O | - | I | - |
|
||||||
| DTS | I / O | - | - | - |
|
| DTS | I / O | - | - | - |
|
||||||
| Opus | *I / O* | I / O | - | - |
|
| Opus | *I / O* | I / O | - | - |
|
||||||
| Vorbis | - | I / O | - | - |
|
| Vorbis | - | I / O | - | - |
|
||||||
|
|
||||||
** I for input and O for output.
|
** I for input and O for output.
|
||||||
** Opus support in ISO-BMFF is experimental.
|
** Opus support in ISO-BMFF is experimental.
|
||||||
|
- Subtitles
|
||||||
|
- WebVTT in both text form and embedded in MP4
|
||||||
|
- TTML in text form (DASH only)
|
||||||
- Platforms
|
- Platforms
|
||||||
- Linux
|
- Linux
|
||||||
- Mac
|
- Mac
|
||||||
|
|
|
@ -6,7 +6,8 @@ technique that enables high quality streaming of media content over HTTP.
|
||||||
|
|
||||||
Shaka Packager supports DASH content packaging. This tutorial covers DASH
|
Shaka Packager supports DASH content packaging. This tutorial covers DASH
|
||||||
packaging of VOD content without encryption. For live content packaging, see
|
packaging of VOD content without encryption. For live content packaging, see
|
||||||
:doc:`live`; for content encryption, see :doc:`drm`.
|
:doc:`live`; for content encryption, see :doc:`drm`; for full documentation,
|
||||||
|
see :doc:`/documentation`.
|
||||||
|
|
||||||
Synopsis
|
Synopsis
|
||||||
--------
|
--------
|
||||||
|
@ -35,6 +36,7 @@ applied to VP9 in the same way.
|
||||||
|
|
||||||
$ packager \
|
$ packager \
|
||||||
in=h264_baseline_360p_600.mp4,stream=audio,output=audio.mp4 \
|
in=h264_baseline_360p_600.mp4,stream=audio,output=audio.mp4 \
|
||||||
|
in=input_text.vtt,stream=text,output=output_text.vtt \
|
||||||
in=h264_baseline_360p_600.mp4,stream=video,output=h264_360p.mp4 \
|
in=h264_baseline_360p_600.mp4,stream=video,output=h264_360p.mp4 \
|
||||||
in=h264_main_480p_1000.mp4,stream=video,output=h264_480p.mp4 \
|
in=h264_main_480p_1000.mp4,stream=video,output=h264_480p.mp4 \
|
||||||
in=h264_main_720p_3000.mp4,stream=video,output=h264_720p.mp4 \
|
in=h264_main_720p_3000.mp4,stream=video,output=h264_720p.mp4 \
|
||||||
|
@ -47,11 +49,12 @@ The above packaging command creates five single track fragmented mp4 streams
|
||||||
* static-live::
|
* static-live::
|
||||||
|
|
||||||
$ packager \
|
$ packager \
|
||||||
'in=h264_baseline_360p_600.mp4,stream=audio,init_segment=audio_init.mp4,segment_template=audio_$Number$.m4s' \
|
'in=h264_baseline_360p_600.mp4,stream=audio,init_segment=audio/init.mp4,segment_template=audio/$Number$.m4s' \
|
||||||
'in=h264_baseline_360p_600.mp4,stream=video,init_segment=h264_360p_init.mp4,segment_template=h264_360p_$Number$.m4s' \
|
'in=input_text.vtt,stream=text,init_segment=text/init.mp4,segment_template=text/$Number$.m4s' \
|
||||||
'in=h264_main_480p_1000.mp4,stream=video,init_segment=h264_480p_init.mp4,segment_template=h264_480p_$Number$.m4s' \
|
'in=h264_baseline_360p_600.mp4,stream=video,init_segment=h264_360p/init.mp4,segment_template=h264_360p/$Number$.m4s' \
|
||||||
'in=h264_main_720p_3000.mp4,stream=video,init_segment=h264_720p_init.mp4,segment_template=h264_720p_$Number$.m4s' \
|
'in=h264_main_480p_1000.mp4,stream=video,init_segment=h264_480p/init.mp4,segment_template=h264_480p/$Number$.m4s' \
|
||||||
'in=h264_main_1080p_6000.mp4,stream=video,init_segment=h264_1080p_init.mp4,segment_template=h264_1080p_$Number$.m4s' \
|
'in=h264_main_720p_3000.mp4,stream=video,init_segment=h264_720p/init.mp4,segment_template=h264_720p/$Number$.m4s' \
|
||||||
|
'in=h264_main_1080p_6000.mp4,stream=video,init_segment=h264_1080p/init.mp4,segment_template=h264_1080p/$Number$.m4s' \
|
||||||
--generate_static_mpd --mpd_output h264.mpd
|
--generate_static_mpd --mpd_output h264.mpd
|
||||||
|
|
||||||
The above packaging command creates five groups of segments (each with an init
|
The above packaging command creates five groups of segments (each with an init
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
$ packager \
|
$ packager \
|
||||||
in=h264_baseline_360p_600.mp4,stream=audio,output=audio.mp4,playlist_name=audio.m3u8,hls_group_id=audio,hls_name=ENGLISH \
|
in=h264_baseline_360p_600.mp4,stream=audio,output=audio.mp4,playlist_name=audio.m3u8,hls_group_id=audio,hls_name=ENGLISH \
|
||||||
in=h264_baseline_360p_600.mp4,stream=video,output=h264_360p.mp4,playlist_name=h264_360p.m3u8 \
|
in=h264_baseline_360p_600.mp4,stream=video,output=h264_360p.mp4,playlist_name=h264_360p.m3u8,iframe_playlist_name=h264_360p_iframe.m3u8 \
|
||||||
in=h264_main_480p_1000.mp4,stream=video,output=h264_480p.mp4,playlist_name=h264_480p.m3u8 \
|
in=h264_main_480p_1000.mp4,stream=video,output=h264_480p.mp4,playlist_name=h264_480p.m3u8,iframe_playlist_name=h264_480p_iframe.m3u8 \
|
||||||
in=h264_main_720p_3000.mp4,stream=video,output=h264_720p.mp4,playlist_name=h264_720p.m3u8 \
|
in=h264_main_720p_3000.mp4,stream=video,output=h264_720p.mp4,playlist_name=h264_720p.m3u8,iframe_playlist_name=h264_720p_iframe.m3u8 \
|
||||||
in=h264_high_1080p_6000.mp4,stream=video,output=h264_1080p.mp4,playlist_name=h264_1080p.m3u8 \
|
in=h264_high_1080p_6000.mp4,stream=video,output=h264_1080p.mp4,playlist_name=h264_1080p.m3u8,iframe_playlist_name=h264_1080p_iframe.m3u8 \
|
||||||
--hls_master_playlist_output h264_master.m3u8 \
|
--hls_master_playlist_output h264_master.m3u8 \
|
||||||
--mpd_output h264.mpd
|
--mpd_output h264.mpd
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,8 @@ available.
|
||||||
|
|
||||||
Shaka Packager supports HLS content packaging. This tutorial covers HLS
|
Shaka Packager supports HLS content packaging. This tutorial covers HLS
|
||||||
packaging of VOD content without encryption. For live content packaging, see
|
packaging of VOD content without encryption. For live content packaging, see
|
||||||
:doc:`live`; for content encryption, see :doc:`drm`.
|
:doc:`live`; for content encryption, see :doc:`drm`; for full documentation,
|
||||||
|
see :doc:`/documentation`.
|
||||||
|
|
||||||
Synopsis
|
Synopsis
|
||||||
--------
|
--------
|
||||||
|
@ -46,11 +47,12 @@ The examples below uses the H264 streams created in :doc:`encoding`.
|
||||||
* TS output::
|
* TS output::
|
||||||
|
|
||||||
$ packager \
|
$ packager \
|
||||||
'in=h264_baseline_360p_600.mp4,stream=audio,segment_template=audio_$Number$.ts,playlist_name=audio.m3u8,hls_group_id=audio,hls_name=ENGLISH' \
|
'in=h264_baseline_360p_600.mp4,stream=audio,segment_template=audio/$Number$.ts,playlist_name=audio/main.m3u8,hls_group_id=audio,hls_name=ENGLISH' \
|
||||||
'in=h264_baseline_360p_600.mp4,stream=video,segment_template=h264_360p_$Number$.ts,playlist_name=h264_360p.m3u8' \
|
'in=input_text.vtt,stream=text,segment_template=text/$Number$.vtt,playlist_name=text/main.m3u8,hls_group_id=text,hls_name=ENGLISH' \
|
||||||
'in=h264_main_480p_1000.mp4,stream=video,segment_template=h264_480p_$Number$.ts,playlist_name=h264_480p.m3u8' \
|
'in=h264_baseline_360p_600.mp4,stream=video,segment_template=h264_360p/$Number$.ts,playlist_name=h264_360p/main.m3u8,iframe_playlist_name=h264_360p/iframe.m3u8' \
|
||||||
'in=h264_main_720p_3000.mp4,stream=video,segment_template=h264_720p_$Number$.ts,playlist_name=h264_720p.m3u8' \
|
'in=h264_main_480p_1000.mp4,stream=video,segment_template=h264_480p/$Number$.ts,playlist_name=h264_480p/main.m3u8,iframe_playlist_name=h264_480p/iframe.m3u8' \
|
||||||
'in=h264_high_1080p_6000.mp4,stream=video,segment_template=h264_1080p_$Number$.ts,playlist_name=h264_1080p.m3u8' \
|
'in=h264_main_720p_3000.mp4,stream=video,segment_template=h264_720p/$Number$.ts,playlist_name=h264_720p/main.m3u8,iframe_playlist_name=h264_720p/iframe.m3u8' \
|
||||||
|
'in=h264_high_1080p_6000.mp4,stream=video,segment_template=h264_1080p/$Number$.ts,playlist_name=h264_1080p/main.m3u8,iframe_playlist_name=h264_1080p/iframe.m3u8' \
|
||||||
--hls_master_playlist_output h264_master.m3u8
|
--hls_master_playlist_output h264_master.m3u8
|
||||||
|
|
||||||
The above packaging command creates five single track TS streams
|
The above packaging command creates five single track TS streams
|
||||||
|
@ -59,11 +61,12 @@ The above packaging command creates five single track TS streams
|
||||||
* MP4 output is also supported::
|
* MP4 output is also supported::
|
||||||
|
|
||||||
$ packager \
|
$ packager \
|
||||||
'in=h264_baseline_360p_600.mp4,stream=audio,init_segment=audio_init.mp4,segment_template=audio_$Number$.m4s,playlist_name=audio.m3u8,hls_group_id=audio,hls_name=ENGLISH' \
|
'in=h264_baseline_360p_600.mp4,stream=audio,init_segment=audio/init.mp4,segment_template=audio/$Number$.m4s,playlist_name=audio/main.m3u8,hls_group_id=audio,hls_name=ENGLISH' \
|
||||||
'in=h264_baseline_360p_600.mp4,stream=video,init_segment=h264_360p_init.mp4,segment_template=h264_360p_$Number$.m4s,playlist_name=h264_360p.m3u8' \
|
'in=input_text.vtt,stream=text,segment_template=text/$Number$.vtt,playlist_name=text/main.m3u8,hls_group_id=text,hls_name=ENGLISH' \
|
||||||
'in=h264_main_480p_1000.mp4,stream=video,init_segment=h264_480p_init.mp4,segment_template=h264_480p_$Number$.m4s,playlist_name=h264_480p.m3u8' \
|
'in=h264_baseline_360p_600.mp4,stream=video,init_segment=h264_360p/init.mp4,segment_template=h264_360p/$Number$.m4s,playlist_name=h264_360p/main.m3u8,iframe_playlist_name=h264_360p/iframe.m3u8' \
|
||||||
'in=h264_main_720p_3000.mp4,stream=video,init_segment=h264_720p_init.mp4,segment_template=h264_720p_$Number$.m4s,playlist_name=h264_720p.m3u8' \
|
'in=h264_main_480p_1000.mp4,stream=video,init_segment=h264_480p/init.mp4,segment_template=h264_480p/$Number$.m4s,playlist_name=h264_480p/main.m3u8,iframe_playlist_name=h264_480p/iframe.m3u8' \
|
||||||
'in=h264_main_1080p_6000.mp4,stream=video,init_segment=h264_1080p_init.mp4,segment_template=h264_1080p_$Number$.m4s,playlist_name=h264_1080p.m3u8' \
|
'in=h264_main_720p_3000.mp4,stream=video,init_segment=h264_720p/init.mp4,segment_template=h264_720p/$Number$.m4s,playlist_name=h264_720p/main.m3u8,iframe_playlist_name=h264_720p/iframe.m3u8' \
|
||||||
|
'in=h264_main_1080p_6000.mp4,stream=video,init_segment=h264_1080p/init.mp4,segment_template=h264_1080p/$Number$.m4s,playlist_name=h264_1080p/main.m3u8,iframe_playlist_name=h264_1080p/iframe.m3u8' \
|
||||||
--hls_master_playlist_output h264_master.m3u8
|
--hls_master_playlist_output h264_master.m3u8
|
||||||
|
|
||||||
The above packaging command creates five groups of streams (each with an init
|
The above packaging command creates five groups of streams (each with an init
|
||||||
|
|
Loading…
Reference in New Issue