Shaka Packager Versions Save

A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.

v3.0.4

3 weeks ago

3.0.4 (2024-03-27)

Bug Fixes

v3.0.3

1 month ago

3.0.3 (2024-03-12)

Bug Fixes

v3.0.2

1 month ago

3.0.2 (2024-03-07)

Bug Fixes

  • duplicate representation id for TTML when forced ordering is on (#1364) (0fd815a), closes #1362

v3.0.1

1 month ago

3.0.1 (2024-03-05)

Bug Fixes

  • CI: Add Mac-arm64 to build matrix (#1359) (c456ad6)
  • CI: Add missing Linux arm64 builds to release (9c033b9)

v3.0.0

1 month ago

3.0.0 (2024-02-28)

⚠ BREAKING CHANGES

  • Update all dependencies
  • Drop Python 2 support in all scripts
  • Replace glog with absl::log, tweak log output and flags
  • Replace gyp build system with CMake

Features

  • Add input support for EBU Teletext in MPEG-TS (#1344) (71c175d)
  • Add install target to build system (3e71302)
  • Add PlayReady support in HLS. (#1011) (96efc5a)
  • add startwithSAP/subsegmentstartswithSAP for audio tracks (#1346) (d23cce8)
  • Add support for ALAC codec (#1299) (b68ec87)
  • Add support for single file TS for HLS (#934) (4aa4b4b)
  • Add support for the EXT-X-START tag (#973) (76eb2c1)
  • Add xHE-AAC support (#1092) (5d998fc)
  • Allow LIVE UDP WebVTT input (#1349) (89376d3)
  • DASH: Add Label element. (#1175) (b1c5a74)
  • DASH: Add video transfer characteristics. (#1210) (8465f5f)
  • default text zero bias (#1330) (2ba67bc)
  • Drop Python 2 support in all scripts (3e71302)
  • Generate the entire AV1 codec string when the colr atom is present (#1205) (cc9a691), closes #1007
  • HLS / DASH support forced subtitle (#1020) (f73ad0d)
  • Move all third-party deps into git submodules (#1083) (3e71302)
  • order streams in manifest based on command-line order (#1329) (aad2a12)
  • Parse MPEG-TS PMT ES language and maximum bitrate descriptors (#369) (#1311) (c09eb83)
  • Portable, fully-static release executables on Linux (#1351) (9be7c2b)
  • Replace glog with absl::log, tweak log output and flags (3e71302)
  • Replace gyp build system with CMake (3e71302), closes #1047
  • Respect the file mode for HttpFiles (#1081) (3e71302)
  • This patch adds support for DTS:X Profile 2 audio in MP4 files. (#1303) (07f780d)
  • Update all dependencies (3e71302)
  • Write colr atom to muxed mp4 (#1261) (f264bef), closes #1202

Bug Fixes

  • Accept 100% when parsing WEBVTT regions (#1006) (e1b0c7c), closes #1004
  • Add missing <cstdint> includes (#1306) (ba5c771), closes #1305
  • Always log to stderr by default (#1350) (35c2f46), closes #1325
  • AudioSampleEntry size caluations due to bad merge (#1354) (615720e)
  • dash_roles add role=description for DVS audio per DASH-IF-IOP-v4.3 (#1054) (dc03952)
  • Don't close upstream on HttpFile::Flush (#1201) (53d91cd), closes #1196
  • duration formatting and update mpd testdata to reflect new format (#1320) (56bd823)
  • Fix build errors related to std::numeric_limits (#972) (9996c73)
  • Fix build on FreeBSD (#1287) (3e71302)
  • Fix clang build (#1288) (3e71302)
  • Fix failure on very short WebVTT files (#1216) (dab165d), closes #1217
  • Fix handling of non-interleaved multi track FMP4 files (#1214) (dcf3225), closes #1213
  • Fix issues with collections.abc in Python 3.10+ (#1188) (80e0240), closes #1192
  • Fix local files with UTF8 names (#1246) (3e71302)
  • Fix missing newline at the end of usage (#1352) (6276584)
  • Fix Python 3.10+ compatibility in scripts (3e71302)
  • Fix uninitialized value found by Valgrind (#1336) (7ef5167)
  • Fix various build issues on macOS (3e71302)
  • Fix various build issues on Windows (3e71302)
  • hls, set the DEFAULT explicitly to NO. Supports native HLS players. (#1170) (1ab6818), closes #1169
  • http_file: Close upload cache on task exit (#1348) (6acdcc3), closes #1347
  • Indexing bytes produces int on python3 for pssh-box.py (#1228) (d9d3c7f), closes #1227
  • Low Latency DASH: include the "availabilityTimeComplete=false" attribute (#1198) (d687ad1)
  • misleading log output when HLS target duration updates (fixes #969) (#971) (f7b3986)
  • MP4: Add compatible brand dby1 for Dolby content. (#1211) (520926c)
  • Parse one frame mpeg-ts video (#1015) (b221aa9), closes #1013
  • preserve case for stream descriptors (#1321) (5d44368)
  • Prevent crash in GetEarliestTimestamp() if periods are empty (#1173) (d6f28d4), closes #1172
  • PTS diverge DTS when DTS close to 2pow33 and PTS more than 0 (#1050) (ab8ab12), closes #1049
  • remove extra block assumptions in mbedtls integration (#1323) (db59ad5), closes #1316
  • Restore support for legacy FairPlay system ID (#1357) (4d22e99)
  • Roll back depot_tools, bypass vpython (#1045) (3fd538a), closes #1023
  • set array_completeness in HEVCDecoderConfigurationRecord correctly (#975) (270888a)
  • TTML generator timestamp millisecond formatting (#1179) (494769c), closes #1180
  • Update golden files for ttml tests and failing hls unit tests. (#1226) (ac47e52)
  • Update to use official FairPlay UUID. (#1281) (ac59b9e)
  • use a better estimate of frame rate for cases with very short first sample durations (#838) (5644041)
  • webvtt single cue do not fail on EOS (#1061) (b9d477b), closes #1018

v2.6.1

2 years ago

Fixed

  • Fix crash in static-linked linux builds (#996)
  • Update outdated Dockerfiles

v2.6.0

2 years ago

Added

  • Low latency DASH support (#979)
  • Added MPEG-H support (mha1, mhm1) (#930, #952)

Fixed

  • Workaround warning spam using http_file (#948)
  • Fixed various python2/3 issues in the build
  • Fixed builds with CC=clang CXX=clang++

Changed

  • Added arm64 to the build matrix
  • Make release binary names more consistent
  • Produce static release executables on Linux (#978, #965)
  • Stop using hermetic clang, libc++, etc
    • "gclient sync" now runs 20-30% faster
    • "ninja -C out/Release" now runs 5-13% faster
    • No longer required:
      • DEPOT_TOOLS_WIN_TOOLCHAIN environment variable
      • MACOSX_DEPLOYMENT_TARGET environment variable
      • clang=0 gyp variable
      • host_clang=0 gyp variable
      • clang_xcode=1 gyp variable
      • use_allocator=none gyp variable
      • use_experimental_allocator_shim=0 gyp variable

v2.5.1

2 years ago

Added

  • Add support for MSVS 2017 and 2019 (#867, #955)

Fixed

  • Fix position of LA_URL in PlayReady headers (#961)
  • Fix broken Dockerfile due to depot_tools update
  • Fix shared_library builds on Windows (#318, #956, #957, #958)

Changed

  • CI overhaul based on GitHub Actions (#336, #959)
    • Migrated Appveyor and Travis integrations to GitHub Actions
    • Added significant new release automation to build, test, and release on GitHub, NPM, and Docker Hub

Doc

  • Fix doc formatting for dash_only and hls_only (#954)

v2.5.0

2 years ago

Added

  • Support HTTP PUT to upload packaging outputs to cloud (#149).
  • Support Dolby Vision backward compatible profiles (#341).
  • Support different IVs for each track (#543).
  • Support dash_only and hls_only parameters (dash_only=0|1, hls_only=0|1) (#651).
  • [HLS] Allow custom EXT-X-MEDIA-SEQUENCE number (--hls_media_sequence_number) (#691).
  • [MP4] Allow specifying protection pattern for pattern encryption (--crypt_byte_block, --skip_byte_block) (#710).
  • [MP4] Allow write |mvex| before |trak| (--mvex_before_trak) (#711).
  • [DASH] Support signalling of last segment number (dash_add_last_segment_number_when_needed) (#713).
  • [DASH] Allow adaptive switching between different codecs (--allow_codec_switching) (#726).
  • [DASH] Include mspr:pro alongside to cenc:pssh for PlayReady (#743).
  • Support Dolby DD+JOC in DASH and HLS (#753).
  • Support AC-4 codec (#754).
  • Support inclusion of extra PlayReady header data (--playready_extra_header_data) (#756).
  • Support MPEG-1 Audio in mpeg2ts I/O and packed-audio / mp4 output (#779).
  • Support more text input and output formats, including DVB-SUB input (#832) and TTML in MP4 output (#87).
  • Support segment_list for DASH on-demand profile (--dash_force_segment_list).

Fixed

  • DASH / HLS spec compliance issues
    • [HLS] Add support for independent segments tag (#564).
    • [TS] Improve frame rate calculation for TS streams (#751).
    • [MP4] Change major brand from isom to mp41 (#755).
    • [MP4] Always set ES_ID to 0 when writing ES Descriptor (#755).
    • Properly handle AVC profiles with SPS extension (#755).
    • [HLS] Don't include FRAME-RATE in EXT-X-STREAM-INF (#816).
    • [HLS] Fix missing FRAME-RATE in playlists with TS streams (#816).
  • [DASH] TrickPlay using separate trick play specific streams (#732).
  • Don't fail if input contents contain SampleGroupDescriptionBox with 0 entries (#812).
  • [HLS] Fixes attributes for DVS tracks (#857).
  • Fix trick-mode property values (space instead of comma).
  • Properly handle SkipBytes with num_bytes as 0 (#875).
  • [MPEG-TS] Fix PCR reserved bits not being set correctly (#893).
  • [HLS] Explicitly signal the lack of CEA captions (#922).

Changed

  • Change AV1 cbcs to protect all bytes of decode_tile structure (#698).
  • [MP4] Allow not to generate 'sidx' box for single-segment too (#862).
  • [WebM] Ignore matroska projection metadata instead of fail parsing (#932).
  • Changed default HTTP UserAgent to ShakaPackager/ (#939).

v2.4.3

3 years ago

Fixed

  • Fix playback issue of HEVC content with cbcs encryption in AVplayer (#717).
  • Fix possible incorrect resolutions with avc3 (#750).