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 224b597b48 Support approximate SegmentTimeline
It is not always possible to align segment duration to target duration
exactly. For example, for AAC with sampling rate of 44100, there are
always 1024 audio frames per sample, so the sample duration is
1024/44100. For a target duration of 2 seconds, the closest segment
duration would be 1.984 or 2.00533.

This feature allows MPD generator to treat these segments as having
the same duration, thus allows MPD generator to generate less
SegmentTimeline entries and potentially no SegmentTimeline entries
(replaced with SegmentTemplate@duration instead if
  --segment_template_constant_duration flag is enabled).

Under flag --allow_approximate_segment_timeline. Disabled by default.

Fixes #330.

Change-Id: I5044eaa348ebbf45bf792a2af53fc95a115ae21b
2018-04-30 17:15:47 -07:00
.github Update github issue template with mailing list for test files 2017-06-02 18:16:41 +00:00
docs Support approximate SegmentTimeline 2018-04-30 17:15:47 -07:00
kokoro Fix build failures in MacOS 10.12.6 with XCode 9.0 2018-01-05 12:21:41 -08:00
packager Support approximate SegmentTimeline 2018-04-30 17:15:47 -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.3 2018-04-20 14:52:05 -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 Rename Playready to PlayReady. 2018-04-26 11:38:31 -07: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.