Skip to content
Search

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
  • Reusable configs
  • Runs on Linux, macOS, and Windows
  • Supports almost any input FFmpeg can ingest.
  • Can push output automatically to Google Cloud Storage or Amazon S3.
  • Provides FFmpeg and Shaka Packager binaries

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)
  • Various input options
    • 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
  • Lets you control the details if you want.
    • 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

Favorite site

author Zer0 sitemap