Skip to content

About

Shaka Packager with FFmpeg, for encoding renditions and packaging them for DASH and HLS in one container.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

shaka-packager-ffmpeg

Shaka Packager with FFmpeg, for encoding renditions and packaging them for DASH and HLS in one container.

This image is the default image of shaka-packager (ghcr.io/randomcontainers/shaka-packager:latest), published under its own name. The contents are the same; the digests differ. It contains Shaka Packager and FFmpeg, on Ubuntu or Alpine, for linux/amd64 and linux/arm64.

These are unofficial builds, not affiliated with or endorsed by the upstream projects. Report problems with the image in randomcontainers/shaka-packager and problems with a tool itself in that tool's own issue tracker.

Quick start

docker run --rm --user "$(id -u):$(id -g)" -v "$PWD:/work" ghcr.io/randomcontainers/shaka-packager-ffmpeg 'in=input.mp4,stream=video,output=video.mp4,playlist_name=video.m3u8' 'in=input.mp4,stream=audio,output=audio.mp4,playlist_name=audio.m3u8' --mpd_output manifest.mpd --hls_master_playlist_output master.m3u8

The examples in the shaka-packager README work with this image too.

Tags

<version> is the Shaka Packager version.

Tags Base
latest, <version>, ubuntu, <version>-ubuntu, <version>-ubuntu26.04 Ubuntu 26.04
alpine, <version>-alpine, <version>-alpine3.24 Alpine 3.24

latest and <version> are the Ubuntu 26.04 images. The images are currently built on Ubuntu 26.04 and Alpine 3.24. Tags without a distro version move to the next distro release when the project does; tags ending in ubuntu26.04 or alpine3.24 stay on that release and are no longer rebuilt once the project moves to the next one.

Only the tags of the Shaka Packager version currently in shaka-packager's package.yml are rebuilt, exact-version tags included, so pin a digest when you need the same bytes every time. Tags of older versions stay as they were last built. The published tags and their digests are listed on the package page.

Platforms

linux/amd64 and linux/arm64, both built natively on GitHub-hosted runners.

Files and permissions

The working directory is /work. The image runs as UID 1000, and any other UID works too: HOME is then /, and caches go to /cache, which anyone can write to. How to get output files owned by you depends on how you run containers:

Runtime Flag
Docker on Linux (rootful), GitHub Actions --user "$(id -u):$(id -g)"
Rootless Podman --userns=keep-id
Rootless Docker --user 0:0 (root in the container is your user on the host)
Docker Desktop on macOS or Windows none, file ownership is mapped for you

Contents

Package License Repository
Shaka Packager BSD-3-Clause AND Apache-2.0 AND MIT AND ISC-Veillard AND curl AND Zlib AND libpng-2.0 randomcontainers/shaka-packager
FFmpeg GPL-3.0-or-later AND MPL-2.0 AND BSD-3-Clause AND Zlib AND Unlicense randomcontainers/ffmpeg

Verifying

Each image has a build provenance attestation from this repository's GitHub Actions run. The run uses the shared build workflow of randomcontainers/ci, which signs the attestation, so name both repositories:

gh attestation verify oci://ghcr.io/randomcontainers/shaka-packager-ffmpeg:latest \
  --repo randomcontainers/shaka-packager-ffmpeg --signer-repo randomcontainers/ci

Images from ghcr.io/randomcontainers/shaka-packager are built in randomcontainers/shaka-packager, so verify them with --repo randomcontainers/shaka-packager --signer-repo randomcontainers/ci.

Updates

The images are rebuilt when a new image of a package above is published, for example after an upstream release. They are also rebuilt when the base image changes and at least every 7 days, so distro security fixes reach the current tags. The package repositories describe how each upstream release is picked up.

Licenses

The image contents are licensed under BSD-3-Clause AND Apache-2.0 AND MIT AND ISC-Veillard AND curl AND Zlib AND libpng-2.0 AND GPL-3.0-or-later AND MPL-2.0 AND Unlicense. The version of each package is in /usr/local/share/randomcontainers/<package>/version and its license files are in /usr/local/share/randomcontainers/<package>/licenses/.

Corresponding source:

Ubuntu and Alpine packages keep their own licenses. The SBOM of each platform image lists them with their versions:

docker buildx imagetools inspect ghcr.io/randomcontainers/shaka-packager-ffmpeg:latest --format '{{ json .SBOM }}'

The files in this repository are available under the MIT license, see LICENSE.

Requesting a tool

To suggest another tool, use the Request a tool form.

This repository

The files here are generated from the combos section of package.yml in randomcontainers/shaka-packager. Open issues and pull requests there.

About

Shaka Packager with FFmpeg, for encoding renditions and packaging them for DASH and HLS in one container.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors