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 18:29]
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 ====
  
 I originally wrote it as a proof-of-concept and a way to use libmpv'​s backend for coding. It's good to use if you want to see what a DVD track would look like with some generic settings for encoding, a quick way to get in and out. If you like the way it works, awesome. :)  I originally wrote it as a proof-of-concept and a way to use libmpv'​s backend for coding. It's good to use if you want to see what a DVD track would look like with some generic settings for encoding, a quick way to get in and out. If you like the way it works, awesome. :) 
Line 7: 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 14: 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 28: Line 83:
  
 I recommend using something like [[HandBrake]] for more advanced options. I recommend using something like [[HandBrake]] for more advanced options.
 +
 +
 +==== 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 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