Releases: shaka-project/shaka-packager
Releases · shaka-project/shaka-packager
v3.0.1
v3.0.0
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) ([7ef51...
v2.6.1
v2.6.0
Added
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
Added
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
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
v2.4.3
v2.4.2
v2.4.1
v2.4.0
Added
- Support hardware accelerated AES (#198).
- Support various HDR formats for HEVC (#341, #632).
- Add more loggings for GAPs (#474).
- Retry file deletion if it fails (#533). Only applicable to live packaging.
- Simplify the dependency for pssh-box utility (#538).
- Add crypto_period_duration to Widevine key requests (#545).
- Include pssh-box.py in docker image and release (#550).
- Support encryption using IV from Widevine key server (#555).
- [DASH] Support custom Accessibillity and Role elements (#565). This is needed
to support DVS Accessibillity audio in DASH. - Support CMAF file extensions (#574).
- Support PlayReady PSSH generation with CBCS protection scheme (#602).
- [HLS] Generate FRAME-RATE attribute in EXT-X-STREAM-INF tag (#634).
- Add --quiet to suppress LOG(INFO) outputs (#661).
Fixed
- Handle large descriptor header size in 'esds' box (#536).
- Improve the handling of corrupted timestamp in live streams (#563).
- Fix problems that target duration is not set in mpd/hls params, which then
results incorrect bandwidth estimates (#498, #581). - Allow absolute path in playlist name (#585).
- [HLS] Fix possible zero bandwidth for EXT-I-FRAME-STREAM-INF (#610).
- Supports encryption of streams with parameter sets in frames, i.e. avc3, hvc1
etc (#621, #627). - [HLS] Segments not deleted with
$Time$ in segment_template when output HLS
segments only (#625). - [HLS] ID3 payload for transportStreamTimestamp not truncated to 33 bits
(#629). - Fix UDP sockets support in Windows (#643).
- Fix possible packager hangs when reading mp4 files from FIFO (#664).
Changed
- [HLS] Replace hev1 in codec with hvc1 and avc3 with avc1 (#587).
- Rename
--generate_static_mpd
to--generate_static_live_mpd
(#672).
Doc
- Added documentation for pssh-box utility (#500).