DVD-rip

Omzetten van een DVD met VOB's naar Ogg Vorbis Theora

Ik kreeg een mooie documentaire van mijn moeder en wilde die graag uitlenen aan een vriend maar ten eerste leert ervaring dat je het vaak onbedoeld niet terugkrijgt, ten tweede duurt het een eeuwigheid per post zodat je het liever op een server zet, ten derde moet het dan verkleind worden. De doorlopen stappen zijn een geheugensteuntje voor mijzelf maar vast ook wel handig voor iemand die wil weten hoe het zit. Een Ubuntu- of Debian-systeem - of een andere GNU/Linux-distributie is wel zo prettig ;-) De voorbeelden hieronder komen van Debian stable 2010.

Het doel is om er dan een OGG/Theora formaat van te maken omdat dat niet geplaagd wordt door octrooien en echt vrij te gebruiken is.

De URL http://ubuntuforums.org/showthread.php?t=1037517 was erg handig maar omslachtig. Een andere methode is te vinden http://forums.fedoraforum.org/showthread.php?t=243580 en als je alles combineert dan volgt de procedure hieronder.

Check schijfruimte

  • Nodeloos te zeggen dat het veel ruimte in beslag gaat nemen, in mijn geval meer dan 20GB.

Check VOB's

  • Alleen de VOB's op de DVD met de film zijn interessant, dus even handmatig bekijken. Herkenbaar aan bestandsgrootten in de buurt van 1G. Donder de VOB's die ogenschijnlijk niets doen (menu's enzo) overboord.

Kopieer VOB's

  • Kopieer ze naar een tijdelijke directory.
    • In mijn geval was het een set van twee DVD's, de tweede set VOB's heb ik doorgenummerd, VTS_01_5.VOB tot en met VTS_01_8.VOB

Maak er één grote VOB van

  • Open een shell.
  • $ cd /data/tmp/dvd/d1/
    • (of iets anders uiteraard)
  • $ ls
    VTS_01_1.VOB  VTS_01_3.VOB  VTS_01_5.VOB  VTS_01_7.VOB
    VTS_01_2.VOB  VTS_01_4.VOB  VTS_01_6.VOB  VTS_01_8.VOB
  • $ mencoder -o OUT.VOB VTS_01_1.VOB  VTS_01_2.VOB  VTS_01_3.VOB  VTS_01_4.VOB VTS_01_5.VOB  VTS_01_6.VOB  VTS_01_7.VOB  VTS_01_8.VOB -ovc copy -oac copy

Video coderen

Er zijn twee mogelijkheden. De eerste is een methode waarbij in een keer het resultaat gemaakt wordt, de 'snelste' dus. Beide methoden kosten hoe dan ook veel cpu-tijd. De eerste methode codeert zowel beeld als geluid. De tweede methode splitst eerst video en geluid en is dus omslachtiger.

  • Methode 1

  • ffmpeg2theora -v5 -a2 OUT.VOB -o naam.ogv

Als dit naar wens is dan ben je klaar. Daarbij kan gezegd worden dat het resultaat in mijn situatie bijzonder goed was met een recente versie van ffmpeg2theora, twee volle DVD's naar 680MB, een compressie van 100% naar 8%(!).

Werkt het niet dan kun je verder met de onderstaande stappen :-(

  • Methode 2

  • ffmpeg2theora --nosound -v 5 OUT.VOB

    Aanvullende instellingen zijn interessant bij interlacing. Geluid komt dus later. De kwaliteit van '5' is ruim voldoende voor de interviews, voor meer actie is '6' ook goed maar de bestandsgrootte is zomaar het dubbele. Kies de juiste waarden want dit proces kost veel tijd.

Audio extraheren

  • Start avidemux uit het menu
    • Open OUT.VOB
    • Beantwoord de vraag om de index op te bouwen met 'yes'
    • Selecteer een audiotrack (Audio --> Main) en check het geluid door het af te spelen.

    • Audio --> Save als OUT.ac3

Audio coderen

  • ffmpeg -i OUT.ac3 -aq 70 -acodec vorbis -f ogg OUT.ogg

70 is de kwaliteit

Video plaatsen in mkv-container

  • $ ffmpeg -i OUT.ogv -an OUT.mkv

Audio en video samenvoegen

  • Open MKV file creator
    • Kies 'Add' en selecteer het MKV-bestand
    • Kies 'Add' en selecteer het OGG-bestand
    • 'Output filename' veranderen is wel handig om de andere bestanden niet te overschrijven.
    • Klik op 'Start muxing'
    • Nu moet het geheel gecontroleerd worden, start de nieuwe film
      • Als het geluid niet synchroon loopt, de track selecteren en bij "format specific' een waarde voor audio delay invoeren. Mag negatief zijn.

De inhoud van deze site is zonder enige vorm van garantie beschikbaar onder zowel de GNU Free Documentation License als de Creative Commons Naamsvermelding-Gelijk delen-licentie