Skip to content

Releases: lisamelton/video_transcoding

0.25.3

26 May 22:22
Compare
Choose a tag to compare

Tuesday, May 26, 2020

  • Modify detect-crop to show preview commands compatible with newer versions of mpv.
  • Update all copyright notices to the year 2020.

0.25.2

15 May 19:21
Compare
Choose a tag to compare

Wednesday, May 15, 2019

  • Fix a crash in transcode-video with the --copy-audio-name option when the input audio track name does not exist. Via #279.

0.25.1

31 Mar 02:18
Compare
Choose a tag to compare

Saturday, March 30, 2019

  • Fix a heinous multi-part bug in transcode-video which could prevent the proper detection of certain input audio formats, normally allowed for pass-through, from being copied unchanged to the output. This could also cause the --keep-ac3-stereo option from behaving correctly when used together with the --ac3-encoder eac3 option and argument. Thanks to @khaosx for finding the problem!

0.25.0

10 Mar 04:06
Compare
Choose a tag to compare

Saturday, March 9, 2019

  • Change the default mixdown for stereo audio output tracks in transcode-video from Dolby Pro Logic II format to regular stereo. This matches the behavior of the presets in HandBrake since version 1.2.0. The old behavior is still available in transcode-video via the --mixdown dpl2 option and argument. Via #262.
  • Remove previous addition to the "README" document explaining that stereo tracks can also include surround audio information in matrix-encoded Dolby Pro Logic II format since that's no longer the default behavior, nor is it recommended (which makes me sad).
  • In order to avoid a crash on the Windows Subsystem for Linux platform, buffer characters that seem to be part of a multibyte UTF-8 sequence when copying output from HandBrakeCLI to the console or the .log file in transcode-video and from ffmpeg to the console in convert-video. Thanks to @joshstaiger for the persistent detective work and the patch! Via #189 and #264.
  • As a convenience to those not using batch scripts, echo the output file name at the completion of transcoding. Thanks to @JayJay1974 for the idea! Via #260.
  • Explain the --fallback-crop option and its new minimal argument in the "Cropping" section of the "README" document. Thanks to @JMoVS for the reminder! Via #266.
  • Modify the --help output of transcode-video to clarify that the --ac3-bitrate and --pass-ac3-bitrate options only affect surround audio and surround pass-through bitrates.
  • Lower the bitrate of stereo and mono Dolby Digital Plus output to sensible levels in transcode-video when applying the --ac3-encoder eac3 option and argument. Previously this was always 768 Kbps for stereo and 384 Kbps for mono, with stereo being higher than the default bitrate for surround audio output in the same format.
  • Add a "CHANGELOG.md" document to the project and replace the content of the "History" section of the "README" document with pointers to the GitHub releases page and that new "CHANGELOG.md" document.

0.24.0

08 Mar 04:44
Compare
Choose a tag to compare

This version was originally tagged and released on the date below. These notes were added on GitHub much later so the creation date won't match.

Sunday, February 24, 2019

  • Add --audio-format and --keep-ac3-stereo options to transcode-video. Thanks to @samhutchins for the idea and design! Via #254.
    • With the --audio-format option, you can now specify whether AC-3 or AAC is used when surround or stereo output tracks are created.
    • This allows multichannel 5.1 AAC audio output by adding --audio-format surround=aac to your command line. However, you may want to pair that with --audio-width main=surround to avoid two AAC tracks of the same input being created.
    • Think of the --keep-ac3-stereo option as a kinder, gentler form of the --prefer-ac3 option.
    • It copies rather than transcodes AC-3 stereo or mono audio tracks even when the current stereo format is AAC, but it doesn't affect surround tracks.
  • Deprecate the --prefer-ac3 option in transcode-video and remove its description from the --help output. Also via #254.
    • The option still works for now, but using it issues a warning message.
    • You can get the exact same functionality by adding --audio-width all=surround --audio-format all=ac3 to your command line.
    • However, you might want to add --audio-width all=surround --keep-ac3-stereo instead since you'll get higher quality and slightly smaller output, albeit with some AAC tracks in your output when stereo audio in non-AC-3 format still needs to be transcoded.
  • Add a minimal argument to the --fallback-crop option in transcode-video which determines the smallest possible crop values, when using the--crop detect option and argument, by combining results from both HandBrakeCLI and ffmpeg. Thanks to @dkoenig01 for the idea! Via #255.
  • Relax validation criteria for HandBrake-generated .log files in query-handbrake-log as workaround for HandBrakeCLI spewing linkage failure warnings on certain Linux platforms. Via #257.

0.23.0

08 Mar 04:43
Compare
Choose a tag to compare

This version was originally tagged and released on the date below. These notes were added on GitHub much later so the creation date won't match.

Sunday, February 10, 2019

  • Add a --avbr ratecontrol option to transcode-video (via #248) which:
    • Implements an average variable bitrate (AVBR) ratecontrol system focused on maintaining quality at the risk of final bitrates being as much as 10-15% higher or lower than the target.
    • May emit a few VBV underflow warnings at the beginning of a transcode, but nothing like the sustained deluge possible with my special, or default, ratecontrol system.
    • Works only with the x264 and x264_10bit encoders. Sorry, but the settings necessary to implement AVBR are not available with the x265 family of encoders.
  • Add my new AVBR ratecontrol system to the "Explanation" section of the "README" document.
  • Add an undocumented --raw ratecontrol testing option to transcode-video which implements, by default, an unconstrained ABR system, easily modified with --handbrake-option and/or --encoder-option.
  • Add a --mixdown option to transcode-video which sets the mixdown format for all AAC audio tracks, either Dolby Pro Logic II (the default) or stereo. Thanks to @samhutchins for the idea and the patch! Via #245.
  • Fix failure in detect-crop on Linux for certain inputs by forcing the text output from ffmpeg into UTF-8 binary format to ensure the correct parsing of that data during crop detection. Via #247.
  • List all hardware-based video encoders within the related answer in the "FAQ" section of the "README" document. Thanks to @vr8hub for the idea! Via #251.
  • Update all copyright notices to the year 2019.

0.22.0

08 Mar 04:42
Compare
Choose a tag to compare

This version was originally tagged and released on the date below. These notes were added on GitHub much later so the creation date won't match.

Saturday, December 15, 2018

  • Add an --encoder option to transcode-video so --encoder x265 will work the same as the much longer and harder to type --handbrake-option encoder=x265.
  • Add a --simple ratecontrol option to transcode-video (via #211) which:
    • Works like my special, or default, ratecontrol system but won't emit those annoying VBV underflow warnings because it's only constrained by the target bitrate and not also a minimum quality.
    • Signals Hypothetical Reference Decoder (HRD) information in metadata like my average bitrate (ABR) ratecontrol system.
    • Produces output similar in appearance to that from hardware-based encoders but is less prone to color banding.
  • Modify transcode-video to not pass the target video bitrate to hardware-based encoders when a CRF value is also specified, e.g. via something like --handbrake-option quality=20. Currently, this is only applicable to encoders such as nvenc_h264, nvenc_h265, vce_h264 and vce_h265.
  • Revise both the H.265 video and hardware-based video transcoding answers in the "FAQ" section of the "README" document.
  • Update and simplify the "Explanation" section of the "README" document.

0.21.2

08 Mar 04:41
Compare
Choose a tag to compare

This version was originally tagged and released on the date below. These notes were added on GitHub much later so the creation date won't match.

Tuesday, December 4, 2018

  • Modify transcode-video to pass the target video bitrate to hardware-based encoders available in HandBrake for Windows and Linux as well as HandBrake nightly builds for macOS:
    • Check the output of HandBrakeCLI --help from one of those builds to find out if your platform has any of these video encoders available.
    • The names of these encoders all end with "_h264" (for H.264) or "_h265" (for HEVC).
    • On macOS, adding --handbrake-option encoder=vt_h264 is all that's needed to enable hardware-based H.264 transcoding. Use vt_h265 for HEVC.
    • On Windows and Linux, use qsv_h264 or qsv_h265. Other encoders might be available as well in nightly builds.
    • WARNING: If you request an encoder that is not available, HandBrakeCLI may fail or it may just fallback to a software-based encoder. Check your console output while transcoding to be certain.
    • These hardware-based encoders are far faster than the software-based x264 and x265 encoders while still delivering reasonable quality. Of course, your mileage (and perception) may vary.

0.21.1

08 Mar 04:40
Compare
Choose a tag to compare

This version was originally tagged and released on the date below. These notes were added on GitHub much later so the creation date won't match.

Sunday, December 2, 2018

  • Fix a bug in transcode-video creating MP3 instead of AAC audio in MKV output on Windows. This was caused by a previous optimization not passing a named AAC audio encoder to HandBrakeCLI, i.e. ca_aac or av_aac. Apparently the default is different on Windows. Go figure. Thanks, @samhutchins! Via #235.
  • Add a workaround in transcode-video for HandBrake nightly builds not setting the mixdown of multichannel audio track inputs to Dolby Pro Logic II format at 160 Kbps when the output is AAC stereo. Apparently the new default for that type of input is 5.1 channels at 384 Kbps, which wouldn't play on most Roku or Apple TV devices without re-transcoding or non-standard software. Again, go figure.
  • Add a workaround in transcode-video and convert-video for HandBrake nightly builds not copying mono or stereo audio track inputs which are already in AAC format.

0.21.0

08 Mar 04:40
Compare
Choose a tag to compare

This version was originally tagged and released on the date below. These notes were added on GitHub much later so the creation date won't match.

Friday, November 9, 2018

  • Modify transcode-video to create "sparse" .log files by removing overwritten progress information, often making those files an order of magnitude (i.e. 10x) smaller. Via #213.
  • Replace code in transcode-video which used mkvpropedit or mp4track in a post-transcoding step to sanitize audio titles containing commas, with much simpler code leveraging a comma escaping mechanism only available in HandBrakeCLI version 1.0.0 or later.
  • Fix bug in transcode-video where the level was not set when using the x264_10bit encoder.
  • Remove support the non-existent x265_16bit encoder in transcode-video. This might have been available last year in some development builds of HandBrakeCLI, but it's definitely not in any release.