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:23]
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 DVDs, all of it though comes from lots of testing, and it's safe to say that the higher ones should look pretty good. :) 
- 
-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. 
  
 ==== x265 Encoding ==== ==== x265 Encoding ====
Line 41: Line 89:
 CRF for x265 ranges from 0 to 51, with the default being 28. 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 one.+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 ranges, the 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.
  
 +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