A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.
Go to file
Joey Parrish 56e227267c Fix python linter errors and add linter checks to CI
Internal CI systems and the new GitHub CI system were out of sync,
with the external system not doing any linting.  Further, the internal
system was using an internal-only linter for Python.

This creates a script for Python linting based on the open-source
pylint tool, checks in the Google Style Guide's pylintrc file, creates
a custom action for linting and adds it to the existing workflows,
fixes pre-existing linter errors in Python scripts, and updates pylint
overrides.

b/190743862

Change-Id: Iff1f5d4690b32479af777ded0834c31c2161bd10
2021-06-21 21:46:48 +00:00
.github Fix python linter errors and add linter checks to CI 2021-06-21 21:46:48 +00:00
docs CI overhaul based on GitHub Actions 2021-06-16 11:52:02 -07:00
kokoro Fix python linter errors and add linter checks to CI 2021-06-21 21:46:48 +00:00
npm Make CI workflows safe when testing in a fork 2021-06-17 13:36:59 -07:00
packager Fix python linter errors and add linter checks to CI 2021-06-21 21:46:48 +00:00
.clang-format Use Chromium style for clang-format 2014-07-02 22:49:46 +00:00
.dockerignore Reduce Docker image size 2018-12-20 13:31:03 -08:00
.gitignore HTTP PUT output support (#737) 2021-02-02 10:51:50 -08:00
.gitmodules Add an empty .gitmodules to avoid gclient warning 2014-03-28 22:13:33 +00:00
AUTHORS Add segment_list support for DASH on-demand profile 2021-05-25 12:08:58 -07:00
CHANGELOG.md Update CHANGELOG for v2.5.0 2021-06-09 17:08:43 -07:00
CONTRIBUTING.md Add AUTHORS, CONTRIBUTORS, CONTRIBUTING.md, and README.md 2014-04-19 00:05:38 +00:00
CONTRIBUTORS Add segment_list support for DASH on-demand profile 2021-05-25 12:08:58 -07:00
DEPS Skip clang updates on Windows 2021-06-14 12:17:28 -07:00
Dockerfile CI overhaul based on GitHub Actions 2021-06-16 11:52:02 -07:00
LICENSE Update README and LICENSE 2016-09-07 19:22:41 +00:00
README.md Update documentation for text support. 2021-02-17 18:39:07 +00:00
chromium-LICENSE Add Chromium license 2014-04-10 19:58:08 +00:00
gyp_packager.py Fix python linter errors and add linter checks to CI 2021-06-21 21:46:48 +00:00

README.md

Shaka Packager

Build Status Build status

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 - - -
    AV1 I / O I / O - - -
    AAC I / O - I / O I O
    MP3 O - I / O - O
    Dolby AC3 I / O - I / O - O
    Dolby EAC3 I / O - O - O
    Dolby AC4 I / O - - - -
    DTS I / O - - - -
    FLAC I / O - - - -
    Opus I / O³ I / O - - -
    Vorbis - I / O - - -

    NOTES:

  • Subtitles

    Format Input Output
    Text WebVTT Y Y
    WebVTT in MP4 #405 Y
    Text TTML Y
    TTML in MP4 - Y
    DVB-SUB Y -
    Teletext #272 -
    • ⁴: TTML input is only supported with TTML output (pass-through, DASH only), see also #584.
  • 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.

Useful Links

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.