Releases: shaka-project/shaka-packager
Releases · shaka-project/shaka-packager
v2.0.3
Changed
- Removed --pto_adjustment flag (related to #368).
Fixed
- Use max bitrate in Representation@bandwidth instead of average bitrate for DASH live profile (#376).
- Set Widevine key request content-type to JSON instead of xml (#372).
- Fix default_language not working if 2-char code is used (#371).
- Do not force earliest_presentation_time to 0 for VOD (#303).
- Generate more precise time in Period@duration (#368). This avoids possible
rounding error in MSE causing frames to be dropped at Period boundary.
v2.0.2
v2.0.1
Added
- Recognize m4s as a valid extension for init segment (#331). It is used to be
allowed as the extension for media segments only. - Improve DASH multi-period support: calculate presentationTimeOffset and
Period@duration from video segment presentation timestamps. This avoids
video playback jitters due to gaps.
Fixed
v2.0.0
Added
- Enhanced HLS support.
- Support for attributes RESOLUTION, CHANNELS, AUTOSELECT and DEFAULT.
- Live and Event playlists.
- fMP4 in HLS (including byte range support).
- DRM: Widevine and Fairplay.
- I-Frame playlist.
- Enhanced subtitle support.
- Segmented WebVTT in fMP4.
- Segmented WebVTT in text, for HLS.
- Support generating DASH + HLS manifests simultaneously (#262).
- AC3 / E-AC3 support.
- Experimental multi-period support.
- Raw key multi-key support.
- DASH Trickplay.
- Make fMP4 output CMAF compatible.
- Support for WebM colour element.
- Support skip_encryption stream descriptor fields (#219).
- Improved documentation and tutorials.
Changed
- Refactored packager code and media pipeline.
- Exposed top level packaging interface.
- Renamed --webm_subsample_encryption flag to --vp9_subsample_encryption flag.
- Deprecated --availability_time_offset flag.
Fixed
- Write manifests atomically to fix possible truncated manifests seen on clients
(#186). - [WebM] Fix live segmenter overflow if longer than two hours (#233).
- Fix a possible interferenace problem when re-using UDP multicast streams in
different processes (#241). - Create directories in the output path if not exist (#276).
- Fix order of H265 VPS, SPS, PPS in hvcC box (#297).
- Handle additional unused mdat properly (#298).
- Fix possible incorrect HEVC decoder configuration data (#312).
- Handle varying parameter sets in sample when converting from NAL unit stream
to byte stream (#327).
v1.6.2
Added
- Added an option to keep parameter set NAL units (SPS/PPS for H264,
SPS/PPS/VPS for H265), which is necessary if the parameter set NAL units
are varying from frame to frame. The flag is --strip_parameter_set_nalus,
which is true by default. This addresses #206 (the flag needs to be set to
false).
Fixed
- Fixed the problem that sliding window logic is still active with DASH static
live profile (#218). - Fixed AAC-HE not correctly signaled in codec string (#225).
- [WebM] Fixed output truncated if using the same file for both input and
output (#210). - [WebM] Fixed possible integer overflow in stream duration in MPD manifest
(#214).
v1.6.1
v1.6.0
Added
- Added support for Windows (both 32-bit and 64-bit are supported).
- Added support for live profile with static mpd by setting flag
--generate_static_mpd (#142). This allows on demand content to use segment
template. - Added support for tagging a specific audio AdaptationSet as the default /
main AdaptationSet with --default_language flag (#155). - Added UDP options support: udp://ip:port[?options]. Currently three options
are supported: reuse=1|0 whether reusing UDP sockets are allowed (#133),
interface=a.b.c.d interface address, timeout=microseconds for socket timeout. - Added 4K and 8K encryption support (#163).
Changed
- [WebM][VP9] Use subsample encryption by default for VP9 per latest WebM spec.
The feature can be disabled by setting --webm_subsample_encryption=false. - [WebM] Mimic mp4 behavior: either all the samples in a segment are encrypted
or all the samples are clear. - [WebM] Move index segment forward to right after init segment (#159).
Fixed
- Fixed AdaptationSet switching signalling when
--generate_dash_if_iop_compliant_mpd is enabled (#156). - [H.264] Fixed access unit detection problem if there are multiple video slice
NAL units in the same frame (#134). - [WebVTT] Detect .webvtt as WebVTT files.
- [WebM] Fixed keyframe detection in BlockGroup for encrypted frames.
- [HLS] Fixed HLS playlist problem when clear lead is set to zero (#169).
- Fixed --version command.
Deprecated
- Deprecated flag --udp_interface_address. Use udp options instead.
- Deprecated flags --single_segment and --profile. They are now derived from
the presence of 'segment_template' in stream descriptors.
v1.5.1
Added
- Added a runtime flag to use decoding timestamp in timeline for mp4:
--mp4_use_decoding_timestamp_in_timeline
Changed
- Remove restriction that sps:gaps_in_frame_num_value_allowed_flag should be
0 in h264. Packager should not care about this flag (#126). - Remove restriction that sample duration cannot be zero. A warning message
is printed instead (#127).
Fixed
- Fix text formats (webvtt, ttml) not recognized problem (#130).
v1.5.0
Added
- Added TS (output) and HLS (output) with SAMPLE-AES encryption support.
Note that only H.264 and AAC are supported right now. - Added support for CENCv3, i.e. 'cbcs', 'cbc1', 'cens' protection schemes.
- Added H.265 support in TS (input) and iso-bmff (input / output).
- Added experimental Opus in iso-bmff support.
Changed
- Change project name from edash-packager to shaka-packager. Also replaces
various references of edash in the code accordingly.
v1.4.1
Fixed
- [VP9] VPCodecConfiguration box should inherit from FullBox instead of Box.
- [VP9] Fixed 'senc' box generation when encrypting mp4:vp9 with superframe.
- [WebM] Close file before trying to get file size, so the file size can be
correctly calculated.
Changed
- [MP4] Ignore unrecognized mp4 boxes instead of error out.