diff options
author | Zhiming Wang <zmwangx@gmail.com> | 2015-05-04 14:55:10 -0700 |
---|---|---|
committer | Zhiming Wang <zmwangx@gmail.com> | 2015-05-04 14:55:10 -0700 |
commit | 301679861a2440a10c9eac746cec86459f445ef9 (patch) | |
tree | 5aad22ead01cf0da226623f603f33867896c0fea /source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md | |
parent | d0a07c64afba47bbe8bfb56ba9893296a73fc7db (diff) | |
download | my_new_personal_website-301679861a2440a10c9eac746cec86459f445ef9.tar.xz my_new_personal_website-301679861a2440a10c9eac746cec86459f445ef9.zip |
remove all Octopress stuff
Diffstat (limited to 'source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md')
-rw-r--r-- | source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md b/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md new file mode 100644 index 00000000..4db51a86 --- /dev/null +++ b/source/blog/2014-10-23-ripping-copy-protected-dvd-with-mpv.md @@ -0,0 +1,38 @@ +--- +layout: post +title: "Ripping copy-protected DVD with mpv" +date: 2014-10-23 20:03:22 -0700 +comments: true +categories: +--- +**_11/02/2014 update:_** + +See [this post](/blog/2014/11/02/vobcopy-dvdbackup-etc/) for issues, explanations, and more. + +--- + +**_10/25/2014 update:_** + +I'm such an idiot. `vobcopy` is the real, hassel-free way to go. + + brew install vobcopy + +Then, with the DVD mounted, + +> **vobcopy** without any options will copy the title with the most chapters into files of 2GB size into the current working directory. + +Of course there are a ton of options, but I generally hate to browse through options unless I have to, so I'm happy with calling without argument. + +--- + +Yesterday I was trying to rip a music video off a newly released DVD from Japan. I knew very little about how DRM (in this case, CSS) actually works and how to break it. I tried to operate directly on the VOB file with `ffmpeg` or `mpv` but both failed with a lot of header errors — I suppose more files than the VOB are required for authentication? Whatever, maybe I’ll learn the details in the future, but I don’t see the need since DVD is an outdated technology anyway. + +So, can we proceed from here? Most certainly. I noticed that although `mpv` won’t let me play a single VOB, I can simply hand it the DVD mount point, and it will play the whole DVD seamlessly. **Caution:** `mpv` needs to be compiled with `libdvdnav` and `libdvdread`! With brew you just do + + brew install mpv --with-libdvdnav --with-libdvdread + +For better performance and backup, I first cloned the DVD into a `.cdr` image (DVD/CD-R Master Image) using Disk Utility (I've never tried creating/cloning image with `diskutil` CLI, so nothing to report on that). Then I mount the image, say the mount point is `/Volumes/UPBX_80165`. As said I can hand that mount point to `mpv` and it simply works, but how about extracting the MPEG-2 video stream? The `--stream-capture=<filename>` option is there just for you. In principle `--stream-dump=<filename>` should also work, but without monitoring the output and controlling where to end, I’m not sure if it will ever terminate itself when reading from a DVD (when I stream captured the DVD it just kept repeating itself until I explicitly quit with `q`). So that's it: + + mpv --stream-capture=dump.mpg /Volumes/UPBX_80165 + +Then you can torture the `dump.mpg` with `ffmpeg` however you want. The most obvious thing is to cut out the music video part, and put into a new container like MPEG-TS. Or transcode it to H.264 for your iPhone. The nice thing about `dump.mpg` is that, unless I got it wrong, there's no quality loss here — the only thing you got rid of is that goddamn DRM. |