-
Notifications
You must be signed in to change notification settings - Fork 27
Video
The other-transcode.rb
tool automatically selects a platform-specific hardware video encoder and determines target video bitrate based on the size of the input, so using it can be as simple as this:
other-transcode.rb C:\Rips\Movie.mkv
If no hardware video encoder is available, the x264
software video encoder is selected as a fallback.
The default video format is H.264 because it's available on all supported hardware encoders. It's also usually faster than encoding in HEVC format.
Providing your hardware supports it, you can select HEVC format with the --hevc
option:
other-transcode.rb --hevc C:\Rips\Movie.mkv
Using the --hevc
option with the Nvidia NVENC, Intel Quick Sync Video or x265
encoders will automatically select 10-bit output.
The 10-bit HEVC format is superior in quality to H.264 because it significantly reduces the risk of color banding.
An additional quality improvement, temporal AQ (Adaptive Quantization), is available for HEVC encoding when using Nvidia GeForce GTX 1660 or later video cards by adding the --nvenc-temporal-aq
option:
other-transcode.rb --hevc --nvenc-temporal-aq C:\Rips\Movie.mkv
Because more than one hardware video encoder is often available and because software video encoders are usually available, these options can override automatic selection:
Option | Encoder |
---|---|
--vt |
Apple VideoToolbox |
--nvenc |
Nvidia NVENC |
--qsv |
Intel Quick Sync Video |
--amf |
AMD Video Coding Engine |
--vaapi |
Video Acceleration API |
--x264 |
x264 software H.264 |
--x265 |
x265 software HEVC |
The x264
software video encoder has two other useful options available which can also be used together:
Option | Purpose |
---|---|
--x264-avbr |
Use average variable bitrate (AVBR) ratecontrol |
--x264-quick |
Increase encoding speed with no perceptible loss in video quality, avoiding quality problems with some encoder presets |
By default, hardware video decoding is only leveraged to accelerate the processing of input video formats like VC-1. Use the --decode all
option and argument to process all video input formats. However, be aware that using --decode all
may actually slow things down, depending on the format and the hardware available.