Skip to content

v3.0.0

Compare
Choose a tag to compare
@radek-k radek-k released this 03 Aug 12:13
· 115 commits to master since this release
5224cca

Release notes (v3.0 release):

Bug fixes:

  • Decoding:

    • Fixed a crash with AccessViolationException in the video frame decoding method (#31)
    • Fixed a crash when disposing MediaOutput.
  • Encoding:

    • Fixed the invalid DTS error when disposing H.264/H.265 encoder.

New features:

  • Decoding:

    • Added the IsVariableFrameRate and IsFrameCountProvidedByContainer properties to the StreamInfo class.
  • Encoding:

    • Added CRF and preset options in the VideoEncoderSettings class. (for H.264/H.265 codec)
    • Added an option to set metadata in container using the new ContainerMetadata class. (.UseMetadata(...) method in MediaBuilder)
    • Added an option to apply custom flags when creating a container (.UseFormatOption(key,value) method in MediaBuilder)
    • Added an option to specify a container format independently from target file name (using MediaBuilder.CreateContainer(path,format) overload)
    • Added option to set PTS for a new frame. (#23)
    • Added UYVY422 format support (#26)

Other improvements

  • Redesigned FFmpeg loader and improve exception messages.
  • Created a new class for multimedia metadata.
  • Merged VideoPixelFormat and ImagePixelFormat format
  • Improved frame decoding performance.
  • Improved FrameCount accuracy.
  • Created a new VideoCodec enum which only contains supported codecs (instead of FFmpeg.AutoGen.AVCodecID)
  • Video encoder throws an exception when attempt to use the x264 encoder with LGPL FFmpeg binaries.

Migration guide

  • Use FFmpegLoader instead of MediaToolkit.
  • Use MediaBuilder.CreateContainer(...) instead of new MediaBuilder(...).
  • Use ImagePixelFormat instead of VideoPixelFormat.
  • Use the VideoCodec enum instead of FFmpeg.AutoGen.AVCodecID.