b2932d5a33
Removed the logic in MuxerListener to estimate bandwidth from file size and duration, since it is not compliant to the spec. MpdBuilder will estimate bandwidth from segment size and duration if bandwidth is not specified in MediaInfo. Here is the statement from DASH spec (23009-1:2014): Consider a hypothetical constant bitrate channel of bandwidth with the value of this attribute in bits per second (bps). Then, if the Representation is continuously delivered at this bitrate, starting at any SAP that is indicated either by @startwithsap or by any Segment Index box, a client can be assured of having enough data for continuous playout providing playout begins after @minbuffertime * @bandwidth bits have been received (i.e. at time @minbuffertime after the first bit is received). For dependent Representations this value specifies the bandwidth according to the above definition for the aggregation of this Representation and all complementary Representations. Fixes #376. Change-Id: I0fddce39e709d0cded0a4c9ae59adbbcc97ec5ea |
||
---|---|---|
.github | ||
docs | ||
kokoro | ||
packager | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
AUTHORS | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
DEPS | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
appveyor.yml | ||
chromium-LICENSE | ||
gyp_packager.py |
README.md
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.
- Using Docker. Instructions are available here.
- Get prebuilt binaries from release.
- Built from source, see Build Instructions for details.
Useful Links
- Announcement List (join for release announcements and surveys)
- Documentation
- Tutorials
- Several open source players:
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.