A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.
Go to file
Daniel Cantarín 7aab7a8b50
Add --hls_media_sequence_number to support custom value in HLS
HLS uses the EXT-X-MEDIA-SEQUENCE tag at the start of a live playlist in
order to specify the first segment sequence number. This is because any
live playlist have a limited number of segments, and they also keep
updating with new segments while removing old ones. When a player refreshes
the playlist, this information is important for keeping track of segments
positions.

When the packager starts, it naturally starts this count from zero. However,
there are many situations where the packager may be restarted, without this
meaning starting this value from zero (but continuing a previous sequence).
The most common situations are problems in the encoder feeding the packager.

With those cases in mind, this parameter allows to set the initial
EXT-X-MEDIA-SEQUENCE value. This way, it's possible to continue the sequence
number from previous packager run.

Closes #691.
2020-01-31 10:25:19 -08:00
.github Update github issue template with mailing list for test files 2017-06-02 18:16:41 +00:00
docs Add --hls_media_sequence_number to support custom value in HLS 2020-01-31 10:25:19 -08:00
kokoro Fix build failures in MacOS 10.12.6 with XCode 9.0 2018-01-05 12:21:41 -08:00
packager Add --hls_media_sequence_number to support custom value in HLS 2020-01-31 10:25:19 -08:00
.clang-format Use Chromium style for clang-format 2014-07-02 22:49:46 +00:00
.dockerignore Reduce Docker image size 2018-12-20 13:31:03 -08:00
.gitignore Add gitignores for msvs files 2016-12-19 21:26:26 +00:00
.gitmodules Add an empty .gitmodules to avoid gclient warning 2014-03-28 22:13:33 +00:00
.travis.yml Fix appveyor builds 2019-12-31 20:41:54 -08:00
AUTHORS Add crypto_period_seconds to Widevine key request (#545) 2019-01-24 10:39:54 -08:00
CHANGELOG.md Fix appveyor builds 2019-12-31 20:41:54 -08:00
CONTRIBUTING.md Add AUTHORS, CONTRIBUTORS, CONTRIBUTING.md, and README.md 2014-04-19 00:05:38 +00:00
CONTRIBUTORS Add crypto_period_seconds to Widevine key request (#545) 2019-01-24 10:39:54 -08:00
DEPS Roll boringssl/src fc9c67599..76918d016 2019-10-23 04:32:33 +00:00
Dockerfile Add pssh tool in docker image 2019-02-19 23:06:05 +00:00
LICENSE Update README and LICENSE 2016-09-07 19:22:41 +00:00
README.md Update README.md on AC-3 / E-AC-3 in TS support 2019-02-27 23:32:54 +00:00
appveyor.yml Fix appveyor builds 2019-12-31 20:41:54 -08:00
chromium-LICENSE Add Chromium license 2014-04-10 19:58:08 +00:00
gyp_packager.py Disable bundled_binutils and bundled_gold on Linux 2018-08-24 21:14:19 +00:00

README.md

Shaka Packager

Build Status Build status

Shaka Packager is a tool and a media packaging SDK for DASH and HLS packaging and encryption. It can prepare and package media content for online streaming.

Shaka Packager supports:

  • Both Video-On-Demand and Live.

  • Streaming formats:

  • Key systems:

  • Encryption standards:

  • Media Containers and codecs

    Codecs ISO-BMFF WebM MPEG2-TS WVM Packed Audio²
    H264 (AVC) I / O - I / O I -
    H265 (HEVC) I / O - I - -
    VP8 I / O I / O - - -
    VP9 I / O I / O - - -
    AV1 I / O I / O - - -
    AAC I / O - I / O I O
    Dolby AC3 I / O - I / O - O
    Dolby EAC3 I / O - O - O
    DTS I / O - - - -
    FLAC I / O - - - -
    Opus I / O³ I / O - - -
    Vorbis - I / O - - -

    NOTES:

  • Subtitles

    • WebVTT in both text form and embedded in MP4
    • TTML in text form (DASH only)
  • Platforms

    • Linux
    • Mac
    • Windows
    • Cross compiling for ARM is also supported.

1: Limited support

Getting Shaka Packager

There are several ways you can get Shaka Packager.

Useful Links

Contributing

If you have improvements or fixes, we would love to have your contributions. See https://github.com/google/shaka-packager/blob/master/CONTRIBUTING.md for details.