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
KongQun Yang 1223694249 Do not force earliest_presentation_time to 0 for VOD
Instead, the actual earliest presentation time is used except for
the first segment if there is an offset between presentation time
(pts) and decoding time (dts).

Chrome (as of v66) reports dts instead of pts in buffered ranges in
MSE API. To avoid breaking Chrome, the earliest_presentation_time
of the first segment is set to its dts as Chrome does not like negative
values for
  adjusted dts = dts + Period@start (0 for the first period)
                 - presentationTimeOffset (earliest_presentation_time).

Fixes #303.

Change-Id: I5ca80e05d5570961400499436f2bcc01f06e69e0
2018-04-20 13:58:01 -07:00
.github Update github issue template with mailing list for test files 2017-06-02 18:16:41 +00:00
docs Update documentation on Widevine DRM with more examples 2018-02-08 02:35:53 +00:00
kokoro Fix build failures in MacOS 10.12.6 with XCode 9.0 2018-01-05 12:21:41 -08:00
packager Do not force earliest_presentation_time to 0 for VOD 2018-04-20 13:58:01 -07:00
.clang-format Use Chromium style for clang-format 2014-07-02 22:49:46 +00: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 Include shared_library and mpd_generator in ci and releases 2017-12-12 23:11:01 +00:00
AUTHORS Fix order of VPS, SPS, PPS in hvcC box of HEVC/MP4 (#300) 2017-11-30 14:34:42 -08:00
CHANGELOG.md CHANGELOG for v2.0.2 2018-03-27 17:34:00 -07:00
CONTRIBUTING.md Add AUTHORS, CONTRIBUTORS, CONTRIBUTING.md, and README.md 2014-04-19 00:05:38 +00:00
CONTRIBUTORS Fix order of VPS, SPS, PPS in hvcC box of HEVC/MP4 (#300) 2017-11-30 14:34:42 -08:00
DEPS Fix build failures in MacOS 10.12.6 with XCode 9.0 2018-01-05 12:21:41 -08:00
Dockerfile Fix docker build failure due to build update 2016-08-29 17:52:53 -07:00
LICENSE Update README and LICENSE 2016-09-07 19:22:41 +00:00
README.md Updated documentation with webvtt and iframe playlist examples 2018-02-08 02:35:39 +00:00
appveyor.yml Fix build failures in MacOS 10.12.6 with XCode 9.0 2018-01-05 12:21:41 -08:00
chromium-LICENSE Add Chromium license 2014-04-10 19:58:08 +00:00
gyp_packager.py Address gcc build failures in some platforms 2017-12-07 11:45:26 -08: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
    H264 (AVC) I / O - I / O I
    H265 (HEVC) I / O - I -
    VP8 I / O I / O - -
    VP9 I / O I / O - -
    AAC I / O - I / O I
    Dolby AC3/EAC3 I / O - I -
    DTS I / O - - -
    Opus I / O I / O - -
    Vorbis - I / O - -

    ** I for input and O for output. ** Opus support in ISO-BMFF is experimental.

  • 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.