Shaka Streamer
lastmod 2023-07-11created 2023-07-113 edits
A simple, config-file-based approach to preparing streaming media, built on FFmpeg and Shaka Packager.
Features
- Shaka Streamer makes packaging and streaming easy.
- Simple, config-file-based application
- No complicated command lines
- Sane defaults
Detailed information:
- Supports:
- VOD or live content
- DASH and HLS output (or both at once)
- VOD multi-period DASH (and equivalent HLS output)
- Clear or encrypted output
- Hardware encoding (if available on the platform)
- Transcoding and packaging of static inputs for VOD
- Looping a file for simulated live streaming
- Capturing video from a webcam
- Generating input from an arbitrary external command
- Control DASH live stream attributes
- Control output folders and file names
- Add arbitrary FFmpeg filters to input or output
Installation
# To install/upgrade globally (drop the "sudo" for Windows):
sudo pip3 install --upgrade shaka-streamer shaka-streamer-binaries
# To install/upgrade per-user:
pip3 install --user --upgrade shaka-streamer shaka-streamer-binaries
Examples
Example command-line for live streaming to Google Cloud Storage:
python3 shaka-streamer \
-i config_files/input_looped_file_config.yaml \
-p config_files/pipeline_live_config.yaml \
-c gs://my_gcs_bucket/folder/
Example command-line for live streaming to Amazon S3:
python3 shaka-streamer \
-i config_files/input_looped_file_config.yaml \
-p config_files/pipeline_live_config.yaml \
-c s3://my_s3_bucket/folder/
See also
- DRM
- Widevine
- MPEG Common Encryption (CENC)]
- Shaka Streamer - A simple, config-file-based approach to preparing streaming media, built on FFmpeg and Shaka Packager.
- Shaka Packager - A media packaging SDK for C++ programmers writing DASH and HLS packager applications, with common encryption support, live, and VOD.
- Shaka Player - A JavaScript library for adaptive video streaming.