2017-09-06 21:07:49 +00:00
|
|
|
![Shaka Packager](docs/shaka-packager.png)
|
2016-05-17 00:41:02 +00:00
|
|
|
|
|
|
|
[![Build Status](https://travis-ci.org/google/shaka-packager.svg?branch=master)](https://travis-ci.org/google/shaka-packager)
|
2016-08-19 22:32:27 +00:00
|
|
|
[![Build status](https://ci.appveyor.com/api/projects/status/3t8iu603rp25sa74?svg=true)](https://ci.appveyor.com/project/shaka/shaka-packager)
|
2016-02-18 18:48:46 +00:00
|
|
|
|
2017-09-06 21:07:49 +00:00
|
|
|
Shaka Packager is a tool and a media packaging SDK for
|
|
|
|
[DASH](http://dashif.org/) and [HLS](https://developer.apple.com/streaming/)
|
|
|
|
packaging and encryption. It can prepare and package media content for online
|
|
|
|
streaming.
|
|
|
|
|
|
|
|
Shaka Packager supports:
|
|
|
|
|
|
|
|
- Both Video-On-Demand and Live.
|
|
|
|
- Streaming formats:
|
|
|
|
- [DASH](http://dashif.org/)
|
|
|
|
- [HLS](https://developer.apple.com/streaming/)
|
|
|
|
- Key systems:
|
|
|
|
- [Widevine](http://www.widevine.com/)
|
|
|
|
- [Playready](https://www.microsoft.com/playready/)<sup>1</sup>
|
|
|
|
- [Fairplay](https://developer.apple.com/streaming/fps/)<sup>1</sup>
|
|
|
|
- Encryption standards:
|
|
|
|
- [CENC](https://en.wikipedia.org/wiki/MPEG_Common_Encryption)
|
|
|
|
- [SAMPLE-AES](https://developer.apple.com/library/content/documentation/AudioVideo/Conceptual/HLS_Sample_Encryption/Intro/Intro.html)
|
|
|
|
- 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 | - | - | - |
|
|
|
|
| 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.
|
|
|
|
- Platforms
|
|
|
|
- Linux
|
|
|
|
- Mac
|
|
|
|
- Windows
|
|
|
|
- Cross compiling for ARM is also supported.
|
|
|
|
|
|
|
|
<sup>1: Limited support</sup>
|
|
|
|
|
|
|
|
# Getting Shaka Packager
|
|
|
|
|
|
|
|
There are several ways you can get Shaka Packager.
|
|
|
|
|
|
|
|
- Using [Docker](https://www.docker.com/whatisdocker).
|
|
|
|
Instructions are available [here](docs/source/docker_instructions.md).
|
|
|
|
- Get prebuilt binaries from
|
|
|
|
[release](https://github.com/google/shaka-packager/releases).
|
|
|
|
- Built from source, see [Build Instructions](docs/source/build_instructions.md)
|
|
|
|
for details.
|
|
|
|
|
|
|
|
# Useful Links
|
2014-04-17 22:51:39 +00:00
|
|
|
|
2016-09-01 00:04:39 +00:00
|
|
|
- [Mailing List](https://groups.google.com/forum/#!forum/shaka-packager-users)
|
|
|
|
(join for release announcements or problem discussions)
|
2017-09-06 21:07:49 +00:00
|
|
|
- [Documentation](https://google.github.io/shaka-packager/)
|
|
|
|
- [Tutorials](https://google.github.io/shaka-packager/tutorials/tutorials.html)
|
2016-09-01 00:04:39 +00:00
|
|
|
- Several open source players:
|
|
|
|
- [Web: Shaka Player](https://github.com/google/shaka-player)
|
|
|
|
- [Web: dash.js](https://github.com/Dash-Industry-Forum/dash.js)
|
|
|
|
- [Android: ExoPlayer](https://github.com/google/ExoPlayer)
|
2015-03-24 22:16:16 +00:00
|
|
|
|
2017-09-06 21:07:49 +00:00
|
|
|
# Contributing
|
2014-04-17 22:51:39 +00:00
|
|
|
|
2017-09-06 21:07:49 +00:00
|
|
|
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.
|