Updated documentation with webvtt and iframe playlist examples

Closes #205, #287

Change-Id: I77ca15f63e262eb0eaff7b6d74d259d30da9f823
This commit is contained in:
KongQun Yang 2018-02-06 17:12:05 -08:00
parent 7dcab4c799
commit 3606f313d6
4 changed files with 31 additions and 22 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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