b9dee56294
The previous text to mp4 webvtt pipeline was incomplete. It did not insert ad cues and it could only insert a segment after a sample ended. Now the pipeline supports ad cue insert and segment insertion mid text sample. This required the pipeline to use the text chunker (to split samples and insert segments) and required a major overhaul of the text to mp4 converter. Before the converter came before the chunker. This meant that the converter only expected to see stream info and text samples. Moving the converter after the cue aligner and chunker means that the convert had to be aware of segments and cues. The general approach is the same, however the converter will convert the samples per-segment as the chunker will introduce duplicate samples if a sample spans across segments. Closes #362 Closes #382 Change-Id: I0f54a40524c36a602ad3804a0da26e80851c92fd |
||
---|---|---|
.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 Packed Audio² 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 O Dolby AC3/EAC3 I / O - I - O DTS I / O - - - - FLAC I / O - - - - Opus I / O³ I / O - - - Vorbis - I / O - - - NOTES:
- I for input and O for output.
- ²: https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-3.4
- ³: 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.