Vraag & Antwoord

OS Linux

Tutorial: avi -> DVD

5 antwoorden
  • Omdat ik de laatste tijd nogal veel avi films op dvd heb gezet hier mijn bevindingen in de vorm van een tutorial. De benodigheden: ffmpeg, transcode, dvdauthor, mplayer, mjpegtools, growisofs en ongeveer 10GB vrije ruimte(op ext2/ext3/reiserfs zolang het maar geen FAT32 is). matrix.avi moet je vervangen door de film die je wilt omzetten. De stappen: 1) Wil je ondertitels bij je film dan kun je ze hardcoden in de film zelf. Op deze manier kun je de ondertitels niet aan/uitzetten maar worden ze gewoon deel van de film. Voordeel is wel dat je vooraf kunt controleren of de ondertiteling synchroon loopt en niet na een paar uur transcoden erachter komt dat de ondertiteling niet synchroon loopt met je nieuwe mpg film. matrix.srt is de ondertiteling maar dat hoeft niet perse een .srt bestand te zijn. [code:1:30cb8a8a54]mencoder matrix.avi -sub matrix.srt -ovc lavc -oac copy -o matrix.avi.subs[/code:1:30cb8a8a54] De film wordt nu opnieuw gecodeerd in divx met de ondertiteling erin gebakken. Deze stap geeft een beetje (bijna niet merkbaar) kwaliteitsverlies. Dit duurt vrij lang (10 minuten tot een half uur) 2) Als je meerdere delen hebt kun je die eerst samenvoegen op de volgende manier: [code:1:30cb8a8a54]cat deel1.avi deel2.avi > samengevoegd.avi mencoder -noidx -ovc copy -oac copy -o nieuweavi.avi samengevoegd.avi[/code:1:30cb8a8a54] In "nieuweavi.avi" heb je dan de samengevoegde delen. samengevoegd.avi (en eventueel deel1.avi en deel2.avi) kun je verwijderen. Omdat er geen index wordt aangemaakt voor nieuweavi.avi ziet de video er af en toe raar uit in mplayer als je vooruit springt. Dit is geen probleem want in de volgende stappen lossen we dat weer op. 3) De meeste films die je zelf ript of download hebben een framerate van 23.976 fps. Omdat je dvd speler 25.000 fps wil hebben moet dat omgezet worden. Nadeel is dat de video/audio sync verloren gaat als we zometeen transcode gebruiken(alhoewel je dat kan oplossen door de optie -J modfps maar dan loopt de video weer schokkerig). Om dit hele gedoe op te lossen kun je de audio resamplen zodat deze wat sneller loopt. Speel de film af in mplayer en ergens in de output staat iets zoals dit: [code:1:30cb8a8a54] AVI file format detected. AVI: ODML: Building odml index (2 superindexchunks) VIDEO: [XVID] 640x272 24bpp 23.976 fps 1000.1 kbps (122.1 kbyte/s) .... AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 6000->176400 (48.0 kbit) [/code:1:30cb8a8a54] Let op het getal voor fps (de framerate) en het getal voor Hz (het aantal audiosampels per seconde) Nu moeten we de video resamplen van 23.976 naar 25.000 fps. Omdat de we de video een factor 25.000/23.976=1.0427094 versnellen moeten we dat met de audio ook doen. Dus we gaan van 44100 Hz naar 44100*1.0427094 = 45983.483. Als film heb ik hier gekozen voor matrix.avi.subs (als je de ondertiteling erin hebt gezet) [code:1:30cb8a8a54] avifix -f 25,1 -e 45983.483 -i matrix.avi.subs [/code:1:30cb8a8a54] Het avi bestand wordt nu aangepast en in deze versie loopt de AV niet meer synchroon maar dat lossen we in stap 4 op. Met bovenstaande formule moet dat ook lukken voor ander videos. Meestal heeft een video 48000 Hz audio en om dat om te zetten (als de video 23.976 fps heeft): [code:1:30cb8a8a54] avifix -f 25,1 -e 50050.05 -i matrix.avi.subs [/code:1:30cb8a8a54] 4) Deze stap duur het langst (ongeveer net zolang als de film zelf op mijn athlon 2600). We splitsen de AVI op in een video deel (.m2v) en een audio deel (.ac3). [code:1:30cb8a8a54] transcode -i matrix.avi.subs -y ffmpeg --export_prof dvd-pal --export_asr 2 -o matrix -D0 -E 48000,16,2 -b 224 -s2 -m matrix.ac3 -J resample --export_fps 25 [/code:1:30cb8a8a54] Dit splitst matrix.avi op een geeft twee bestanden: matrix.m2v (je hoeft geen extensie voor de m2v video mee te geven aan transcode dat doet transcode automatisch) en matrix.ac3 Terwijl transcode bezig is kun je alvast de video bekijken: [code:1:30cb8a8a54] mplayer matrix.m2v [/code:1:30cb8a8a54] 5) De video en audio bestanden moeten nu weer samengevoegd worden. Dit is ook handig om te doen terwijl transcode bezig is. Het beste kun je na 5-10 minuten transcoden alvast testen of de resulterende mpeg goed loopt (vooral AV sync). [code:1:30cb8a8a54] mplex -f8 -o matrix.mpg matrix.m2v matrix.ac3 [/code:1:30cb8a8a54] Als resultaat krijg je matrix.mpg. 6) Matrix.mpg moet worden omgezet naar VOB files. Je maakt eerst een directory DVD aan waarin dvdauthor VIDEO_TS en AUDIO_TS directories voor je aanmaakt. De reden waarom je geen fat32 moet gebruiken is omdat fat32 vaak alle bestanden in kleine letters opslaat en dat geeft nog wel eens problemen op standalone dvd players. Dit hele proces duurt niet zolang en doe je als volgt: [code:1:30cb8a8a54] mkdir DVD && dvdauthor --chapters=15:00,30:00,45:00,1:00:00,1:15:00,1:30:00 -o DVD/ matrix.mpg && dvdauthor -T -o DVD/ [/code:1:30cb8a8a54] De chapters optie bij dvdauthor is optioneel maar laat zien hoe je elk kwartier een hoofdstuk krijgt in je film. 7) En als laatste nog branden (wel eerst even testen op een RW): [code:1:30cb8a8a54] growisofs -dvd-compat -speed=4 -Z /dev/hdc -dvd-video DVD/ [/code:1:30cb8a8a54] Succes! 8)
  • Knip
  • Sinds wanneer is Nero Linux of zelfs OSS??
  • [quote:c175e5a3b7="Tekkie"]Sinds wanneer is Nero Linux of zelfs OSS??[/quote:c175e5a3b7] Helemaal over het hoofd gezien dat het om Linux ging :oops:
  • Misschien kun je deze HOWTO op de wiki plaatsen? Dan kunnen anderen hun ervaringen toevoegen en is het document voor een breder publiek toegankelijk. http://wiki.nedlinux.nl

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.