Skip to content

Releases: shaka-project/shaka-packager

v1.5.1

26 Jul 01:10
Compare
Choose a tag to compare

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

12 Jul 23:15
Compare
Choose a tag to compare

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

24 Jun 01:19
Compare
Choose a tag to compare

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.

v1.4.0

08 Apr 22:54
Compare
Choose a tag to compare

[1.4.0] - 2016-04-08

Added

  • Added support for MacOSX (#65). Thanks to @nevil.
  • Added support for Dolby AC3 and EAC3 Audio in ISO-BMFF (#64).
  • Added support for language code with subtags, e.g. por-BR is now supported.
  • Added a new optional flag (--include_common_pssh) to widevine encryption
    to include common system pssh box in addition to
    widevine pssh box.
  • Improved handling of unescaped NAL units in byte stream (#96).

Changed

  • Changed fixed key encryption to generate
    common system pssh box by default; overridable by
    specifying pssh box(es) explicitly with --pssh flag, which is now optional.
    --pssh should be one or more PSSH boxes instead of just pssh data in hex
    string format if it is specified.
  • Improved subsample encryption algorithm for H.264 and H.265. Now only video
    data in slice NALs are encrypted (#40).

Fixed

  • Split AdaptationSets by container and codec in addition to content_type,
    language. AVC/MP4 and VP9/WebM are now put in different AdaptationSets if
    they are packaged together.
  • Fixed index range off-by-1 error in WebM DASH manifest (#99).
  • Fixed WebM SeekHeader bug that the positions should be relative to the
    Segment payload instead of the start of the file.

v1.3.1

23 Jan 02:45
Compare
Choose a tag to compare

[1.3.1] - 2016-01-22

This release fixes and improves WebM parsing and packaging.

Added

  • Added 'cenc:default_KID' attribute in ContentProtection element for non-MP4,
    i.e. WebM mpd too #69.
  • Added WebM content decryption support #72.

Fixed

  • Fixed decoding timestamp always being 0 when trasmuxing from WebM to MP4 #67.
  • Improved sample duration computation for WebM content to get rid of possible
    gaps due to accumulated errors #68.
  • Fixed possible audio sample loss in WebM parser, which could happen if there
    are audio blocks before the first video block #71.

v1.3.0

16 Jan 00:24
Compare
Choose a tag to compare

[1.3.0] - 2016-01-15

Added

  • Added support for new container format: WebM.
  • Added support for new codecs:
    • H265 in ISO-BMFF (H265 in other containers will be added later).
    • VP8, VP9 in WebM and ISO-BMFF (experimental).
    • Opus and Vorbis in WebM.
    • DTS in ISO-BMFF.
  • Added Verbose logging through --v or --vmodule command line flags.
  • Added Subtitle support for On-Demand: allowing subtitle inputs in webvtt or
    ttml. Support for subtitle inputs in media files will be added later.
  • Added version information in generated outputs.

Changed

  • Store Sample Auxiliary Information in Sample Encryption Information ('senc')
    box instead of inside Media Data ('mdat') box.
  • Got rid of svn dependencies, now all dependencies are in git repo.
  • Switched to boringssl, replacing openssl.

Fixed (in addition to fix in v1.2.1)

  • Fixed issue #55 DASH validation (conformance check) problems.
  • Fixed AssetId overflow in classic WVM decryption when AssetId exceeds
    0x8000000.
  • Fixed a memory leak due to thread object tracking #61.

v1.2.1

19 Nov 02:31
Compare
Choose a tag to compare

[1.2.1] - 2015-11-18

Fixed

  • Fixed a deadlock in MpdBuilder which could lead to program hang #45
  • Fixed a race condition in MpdNotifier which could lead to corrupted mpd #49
  • Improved support for WVM files:
    • Support files with no PES stream ID metadata.
    • Support files with multiple audio or video configurations.
  • Fixed a race condition when flushing ThreadedIoFile which may cause flush
    to be called before file being written; fixed another race condition in
    ThreadedIoFile if there is an error in reading or writing files.
  • Relaxed requirement on reserved bits when parsing AVCC #44
  • Fixed stropts.h not found issue in CentOS 7.

v1.2.0

02 Oct 00:18
Compare
Choose a tag to compare

[1.2.0] - 2015-10-01

Added

Changed

  • Improved performance with threaded I/O.
  • Disabled gold linker by default, which does not work on Ubuntu 64bit server.
  • Delete temperary files created by packager when done.
  • Updated MediaInfo file formats.

Fixed

  • Support ISO-BMFF files with trailing 'moov' boxes.
  • DASH-IF IOP 3.0 Compliance. Some changes are controlled by flag
    --generate_dash_if_iop_compliant_mpd. It is defaulted to false, due to lack
    of player support. Will change the default to true in future releases.
    • Added @ContentType to AdaptationSet;
    • For video adaptation sets, added @maxWidth/@width, @maxHeight/@height, @maxFrameRate/@frameRate and @par attributes;
    • For video representations, added @frameRate and @sar attributes;
    • For audio adaptation sets, added @lang attribute;
    • For representations with aligned segments/subsegments, added attribute
      @subSegmentAlignment/@segmentAlignment;
    • Added cenc:default_KID and cenc:pssh to ContentProtection elements;
    • Moved ContentProtection elements up to AdaptationSet element, controlled by
      --generate_dash_if_iop_compliant_mpd;
    • Moved representations encrypted with different keys to different adaptation
      sets, grouped by @group attribute, controlled by
      --generate_dash_if_iop_compliant_mpd.
  • Fixed SSL CA cert issue on CentOS.
  • Fixed a couple of packager crashes on invalid inputs.
  • Read enough bytes before detecting container type. This fixed MPEG-TS not
    recognized issue on some systems.
  • Generate proper tkhd.width and tkhd.height with non-square pixels.
  • Support composition offset greater than (1<<31).
  • Fixed one-sample fragment issue with generated audio streams.
  • Fixed and correct width/height in VisualSampleEntry for streams with cropping.
    This fixes encrypted live playback issue for some resolutions.

Version 1.1

15 Oct 03:07
Compare
Choose a tag to compare

This release contains:

WVM (Widevine) media source files.
WVM decryption.
CENC decryption.
Reorganization of the code.