Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
encoding_specifications [2014/07/29 22:54] beandog [dlna-usb-3 (created 2014-07-24)] |
encoding_specifications [2018/03/19 13:53] (current) beandog |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Encoding Specifications ====== | ====== Encoding Specifications ====== | ||
- | I like to have specifications for encoding content so that I have a snapshot of settings that I used at the time. Doing this, it allows me to verify that everything works across all devices, and expectations and bugs are noted. | + | Here's the specs I use to encode my DVDs: |
- | ==== dlna-usb-1 (created 2014-07-19) ==== | + | * HandBrake 1.0.2 |
+ | * Matroska | ||
+ | * H.264 | ||
+ | * Level 4.1 (what Blu-rays use) | ||
+ | * High Profile | ||
+ | * x264 | ||
+ | * slow, slower, veryslow, or placebo preset (slow by default) | ||
+ | * animation, film, grayscale tuning | ||
+ | * smpte170m color matrix | ||
+ | * CRF 23 to 14 (as desired) | ||
+ | * Video | ||
+ | * detelecine or decomb as-needed | ||
+ | * 30 or 60 constant frames per second | ||
+ | * Audio | ||
+ | * AC3 re-encode or FDK AAC encode depending on desired quality | ||
+ | * VOBSUB or Closed Captioning as available | ||
+ | * Chapter markers | ||
- | encoding specifications: dlna-usb-1 (2014-07-19) | + | Or, a sample encode: |
- | Compatability: | + | <code>HandBrakeCLI --markers --cfr --title 10 --encoder x264 --quality 14 --rate 60 --encoder-profile high --encoder-level 4.1 --encoder-preset slow --encoder-tune animation --encopts colorprim=smpte170m:transfer=smpte170m:colormatrix=smpte170m --audio 1 --aencoder ac3 --subtitle 1 --input /home/steve/Media/Laundry-Basket/1.665.2017.TNTGO.iso --output 1.665.2017.17212.TNTGO.mkv</code> |
- | * DLNA streamable (both Sony BDPs) | + | |
- | * USB compatible (both Sony BDPs) | + | |
- | * keyint 30 for good seeking in files | + | |
- | * proper H.264 profile and level for DVDs | + | |
- | + | ||
- | Software: | + | |
- | + | ||
- | * Gentoo Linux | + | |
- | * HandBrake 0.9.9 | + | |
- | * mkvtoolnix 6.7.0 | + | |
- | * libebml 1.3.0 | + | |
- | * libmatroska 1.4.1 | + | |
- | * x264: 0.138.x | + | |
- | + | ||
- | Handbrake: | + | |
- | + | ||
- | * chapters | + | |
- | * decomb | + | |
- | * detelecine | + | |
- | * two-pass | + | |
- | * turbo | + | |
- | * audio encoder: fdk_aac | + | |
- | * audio bitrate: 96k | + | |
- | * video bitrate: 1024k | + | |
- | * fallback: copy | + | |
- | + | ||
- | x264: | + | |
- | + | ||
- | * preset: medium | + | |
- | * tune: animation or film | + | |
- | * keyint: 30 | + | |
- | + | ||
- | H.264: | + | |
- | + | ||
- | * profile: high | + | |
- | * level: 3.1 | + | |
- | + | ||
- | mkvtoolnix: | + | |
- | + | ||
- | * See [[https://trac.bunkus.org/wiki/FAQ%3AImprovingPlaybackCompatibilityWithPlayers]] | + | |
- | * no_cue_duration, no_cue_relative_position (Sony BDP 2, seeking) | + | |
- | + | ||
- | MPlayer 1.1-4.8 on Ubuntu 14.04 has a bug where the subtitle language code does not display in the OSD. The file is properly tagged, and there are not any issues with the Matroska container metadata. Exists in MPlayer 1.1.1 as well. | + | |
- | + | ||
- | ==== dlna-usb-2 (created 2014-07-22) ==== | + | |
- | + | ||
- | Same as above, but changed libav version to 9.14. Previous version was unspecified. | + | |
- | + | ||
- | ==== dlna-usb-3 (created 2014-07-24) ==== | + | |
- | + | ||
- | The Gentoo ebuild for HandBrake 0.9.9 has a bug where it does not detect closed caption video on DVD streams. This was confirmed by building the same version from source and running the same tests. | + | |
- | + | ||
- | Decided to move to building HandBrake from upstream's source, using the last SVN commit as the latest version. | + | |
- | + | ||
- | <code> | + | |
- | svn co svn://svn.handbrake.fr/HandBrake/trunk@6239 | + | |
- | </code> | + | |
- | + | ||
- | Here's my configure script: | + | |
- | + | ||
- | <code> | + | |
- | ./configure \ | + | |
- | --launch-jobs=0 \ | + | |
- | --force \ | + | |
- | --enable-x265 \ | + | |
- | --enable-fdk-aac \ | + | |
- | --enable-libav-aac \ | + | |
- | --enable-avformat \ | + | |
- | --disable-gtk \ | + | |
- | --disable-gst | + | |
- | </code> | + | |
- | + | ||
- | HandBrake now has the option to use libavformat for the container, in addition to internal libmkv and mp4v2: av_mkv, and av_mp4. | + | |
- | + | ||
- | The command-line options also were simplified replacing --h264-* with --encoder-* | + | |
- | + | ||
- | All said, here's an example of the changes to the command line: | + | |
- | + | ||
- | <code> | + | |
- | --encoder-preset medium --encoder-tune animation --encoder-profile high --encoder-level 3.1 --format av_mkv | + | |
- | </code> | + | |
- | + | ||
- | Noticed on this build that HandBrake was setting the vbv-maxsize and vbv-maxrate higher than the H.264 level permitted (3.1 caps at 14,000; was set to 17,500). Added the max limits to the encoding options as well: | + | |
- | + | ||
- | <code> | + | |
- | --encopts 'keyint=30:vbv-bufsize=14000:vbv-maxrate=14000' | + | |
- | </code> | + | |
- | + | ||
- | Comparing the x264 settings between a newer and older file, the only other change made was ''filler'' is set to 0. | + | |
- | + | ||
- | ==== dlna-usb-3 (created 2014-07-26) ==== | + | |
- | + | ||
- | Same settings as above, but reverted HandBrake version back to upstream's 0.9.9 release, but without the Gentoo ebuild so that I can have support for closed captioning. | + | |
+ | Latest revision: 2018-03-19 |