Audio and video · Edition No. 59 · 23 Oct 2026

shaka-project/shaka-packager

Cuts a video file into the pieces and index files that a browser needs in order to stream it.

← Audio and videoRead the whole edition →
Shaka Packager: video a browser can stream. Cuts a video into the pieces a player asks for.

2.6k stars · BSD-3-Clause · v3.9.3 (2026-07-27) · Track this in Scout

Cuts a video file into the pieces and index files that a browser needs in order to stream it.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It takes finished video and audio and produces the two standard streaming layouts, DASH and HLS, which between them cover every current browser and device. It writes the small media pieces and the index file, called a manifest, that lists the available quality levels so a player can switch between them as the connection changes. It handles encryption for the common content protection systems, including Widevine, PlayReady and FairPlay, and can take keys from a key server or from the command line. It can package a live stream as well as a stored file, and it can repackage existing files without re-encoding them, which is fast because the video itself is untouched. A library version lets other software call the same code. It is not an encoder: it will not change the resolution or the bitrate of a video, so something like ffmpeg has to produce the quality levels before this tool packages them.

Why it matters

Who it suits. Anyone putting their own video on their own pages who wants it to start quickly and survive a bad connection, and anyone who needs content protection because a licence demands it. The small star count is misleading: this is production software used by large video services. Skip it if a single MP4 file in a video tag is good enough, which it often is for short clips.

Verdict. Worth twenty minutes if video is part of the work, and worth knowing about even if it is not, because the alternative is usually a paid service. It is BSD-3-Clause, which is about as free as a licence gets, and version 3.9.3 was released on 27 July 2026, so it is current. Two warnings. The division of labour catches people out: this packages, ffmpeg encodes, and most "it didn't work" problems are a video that was never encoded at the right quality levels in the first place. And the encryption side is only half the problem, because playing protected content also needs a licence server, which this does not provide. For adjacent needs: tsduck/tsduck from Edition 46 works on broadcast television streams rather than web streaming, and bluenviron/mediamtx from Edition 26 is a live media server that receives a stream and hands it out again, which is a different job from preparing a stored file.

Stars2.6k
LicenceBSD-3-Clause
Latestv3.9.3 (2026-07-27)
Good
  • Produces both standard streaming layouts from one command, which covers every current browser.
  • Repackages without re-encoding, so it is fast and does not touch the picture quality.
  • BSD-3-Clause, with the content protection support included rather than sold separately.
Watch for
  • It does not encode, so something else has to produce the quality levels first.
  • Content protection needs a licence server as well, which is a separate and larger project.
  • The documentation assumes the reader already knows the streaming vocabulary.
Similar repositories
  • tsduck/tsduck

    BSD-2-Clause, covered in Edition 46; reads and rewrites the streams used by broadcast television, which is a neighbouring world with different formats and no web player involved.

    Track this in Scout
  • bluenviron/mediamtx

    MIT, covered in Edition 26; receives a live stream over one protocol and hands it out over several others, where this one prepares stored files for a browser.

    Track this in Scout
Install
chmod +x packager-linux-x64
Screenshots
shaka-project/shaka-packager: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.