Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dvd_trip [2019/03/11 19:21]
beandog
dvd_trip [2023/12/26 01:50]
beandog removed
Line 1: Line 1:
 ====== dvd_trip ====== ====== dvd_trip ======
  
-''​dvd_trip''​ is a tiny DVD ripper. It is tiny because it has a subset of DVD ripper options.+  * [[dvd_info]] - main package 
 + 
 +''​dvd_trip''​ is a tiny DVD ripper ​that is part of [[https://​github.com/​beandog/​dvd_info|dvd_info]]. It is tiny because it has a subset of major DVD ripper options. 
 + 
 +A man page is included with the install (man dvd_trip). 
 + 
 +See also ''​--help''​ output: 
 + 
 +<​code>​ 
 +dvd_trip - a tiny DVD ripper 
 + 
 +Usage: 
 +  dvd_trip [path] [options] 
 + 
 +  -o, --output <​filename> ​      Save to filename (default: dvd_track_##​.mkv) 
 + 
 +Track selection:​ 
 +  -t, --track <#> ​         Encode selected track (default: longest) 
 +  -c, --chapter <#>​[-#​] ​        ​Encode chapter number or range (default: all) 
 + 
 +Language selection:​ 
 +      --alang <​language> ​       Select audio language, two character code (default: first audio track) 
 +      --aid <#> ​                ​Select audio track ID 
 +      --slang <​language>​ Select subtitles language, two character code (default: none) 
 +      --sid <#> ​                ​Select subtitles track ID 
 + 
 +Encoding options: 
 + 
 +  -v, --vcodec <​x264|x265|vpx>​ Video codec (defaut: x265) 
 +  -q, --crf <#>​ Video encoder CRF (default: use codec baseline) 
 +  -a, --acodec <​aac|opus>​ Audio codec (default: AAC) 
 +  -d, --detelecine Detelecine video 
 +  -e, --deinterlace Deinterlace video 
 + 
 +Defaults: 
 + 
 +By default, dvd_trip will encode source to HEVC video with AAC audio in a 
 +Matroska container. If an output filename is given with a different extension,​ 
 +it will use the default settings. for those instead. In each case, the default 
 +presets are used as selected by the codecs as well. Note that mpv must already 
 +be built with support for these codecs, or dvd_trip will quit. 
 + 
 +See the man page for more details. 
 + 
 +  .mkv - HEVC video, AAC audio 
 +  .mp4 - H.264 video, AAC audio 
 +  .webm - VPX9 video, Opus audio 
 + 
 +Other: 
 +  -h, --help ​                   Show this help text and exit 
 +      --version ​                Show version info and exit 
 + 
 +DVD path can be a device name, a single file, or directory (default: /dev/sr0) 
 + 
 +dvd_trip reads a configuration file from ~/​.config/​dvd_trip/​mpv.conf 
 + 
 +See mpv man page for syntax and dvd_trip man page for examples. 
 +</​code>​
  
 ==== Features ==== ==== Features ====
Line 9: Line 66:
 What it does: What it does:
  
-  * requires no arguments, will rip the longest track to trip_encode.mkv ​by default+  * requires no arguments, will rip the longest track to ''​dvd_trip_##'' ​by default ​where '##'​ is the track number.
   * rips the video track plus one audio track   * rips the video track plus one audio track
   * can select audio track by language or track id   * can select audio track by language or track id
Line 16: Line 73:
   * .mp4 - H.264 (x264) AAC (fdk-aac)   * .mp4 - H.264 (x264) AAC (fdk-aac)
   * .webm - VPX9 Opus   * .webm - VPX9 Opus
-  * .ogv - Theora Vorbis 
-  * sets output frames per second and color settings based on source (PAL / NTSC) 
-  * deinterlacing 
   * detelecining   * detelecining
-  * simple presets based on my preferences related to quality: low, medium, high, insane; default is medium 
  
-What it does not do:+What it does **NOT** ​do (this is why it's a tiny ripper):
   * subtitles   * subtitles
   * multiple audio streams   * multiple audio streams
Line 31: Line 84:
 I recommend using something like [[HandBrake]] for more advanced options. I recommend using something like [[HandBrake]] for more advanced options.
  
-==== Quality Presets ==== 
  
-The preset ​levels ​are set by my own experience ​of ripping DVDsall of it though comes from lots of testing, and it's safe to say that the higher ones should look pretty ​good. :)+==== x265 Encoding ==== 
 + 
 +CRF for x265 ranges from 0 to 51, with the default being 28. 
 + 
 +In x265, changing the encoder speed is relative to filesize, not quality. In these presets, however, both CRF and encoding speed are adjusted for each level. 
 + 
 +==== x264 Encoding ==== 
 + 
 +CRF for x264 ranges from 0 to 51, with the default being 23. 
 + 
 +In x264, changing the encoder speed is relative to quality, not filesize. In these presets, however, both CRF and encoding speed are adjusted for each level. 
 + 
 +==== VPX Encoding ==== 
 + 
 +The WebM project recommends doing a two-pass encode as the default options for creating video. I prefer doing a one-pass with a good CRF instead, and that is what's used here. 
 + 
 +VPX doesn'​t have a '​CRF'​ in the same sense that x264 and x265 do. Instead, you can set minimum and maximum quality scale levels. The lowest being 0, and the highest 63 (rc_min_quantizer and rc_max_quantizer). 
 + 
 +The values cannot be set to each other in an attempt to "​force"​ a specific quality level. The library requires that there be a minimium difference ​of 8 between the two values. 
 + 
 +In addition to setting the rangesthe rate control method is set to '​quality'​. The other options being VBR, CBR, and constrained quality. 
 + 
 +The default settings using libvpx as a one-pass, with no quality scales set is generally low-quality,​ with lots of blockiness, and so is used for the "​low"​ preset. Depending on your source, you may or may not get a good encode out of it, but setting it to defaults means you could get anything. The other presets set a minimum quality level.
  
-The '​insane'​ preset ​is designed for really high quality, and if you don't mind waiting a long time or the larger filesize, I'd recommend it. It's intended to be "​archive-level"​ quality ​for the video -- that is, encode it once and be done forever. Since dvd_trip doesn'​t do audio passthrough (a limitation of libmpv), I can't recommend it for long-term audio storage.+Using vpxenc, here is what the settings would look like for the low preset:
  
 +<​code>​
 +vpxenc --end-usage=q --passes=1 --webm -o vpxenc.webm source.y4m
 +</​code>​

Navigation