Kaip konvertuoti *.avi failą į DVD formatą?

Toks klausimas man neseniai kilo pažįstamiems paprašius įrašyti vaikišką filmuką į diską jų vaikui taip, kad būtų galima žiūrėti per jų DVD leistuvą. O jų leistuvas senovinis, nepalaiko ko gero mpeg4 formato ir *.avi failų, įrašytų į diską, jame pasižiūrėti negalima…

Viską darysiu komandų eilutės priemonėmis – gal iš tingėjimo (kam ieškoti tų grafinių programų? Mokėti už jas nesiruošiu), o ir dėl patogumo (tas aspektas labiau pasijaučia, kai reikia tokias pačias užduotis atlikti pakartotinai). Įrankiai elementarūs bet kuriam Linux distributyvui: ffmpeg failų konvertavimui, „dvdauthor“ dvd gaminimui, ir „mkisofs“ dvd *.iso atvaizdo sukūrimui.

Taigi, susižvejojau internete vieną iš daugelio instrukcijų ir pamėginau.

Štai kokį failą bandžiau konvertuoti į DVD:

$ ffmpeg -i ~/Video/Video.avi
ffmpeg version 0.7.3-4:0.7.3-0ubuntu0.11.10.1, Copyright (c) 2000-2011 the Libav developers
  built on Jan  4 2012 16:21:50 with gcc 4.6.1
<...>
Seems stream 0 codec frame rate differs from container frame rate: 23.98 (65535/2733) -> 23.98 (10000000/417083)
Input #0, avi, from '/home/dg/Video/Video.avi':
  Metadata:
    encoder         : VirtualDubMod 1.5.10.2 (build 2540/release)
    title           : Video
  Duration: 01:37:51.02, start: 0.000000, bitrate: 2142 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
<...>

Standartinė procedūra lyg ir būtų tokia:

## konvertuojam mpeg4 formatų failą į mpeg2 formatą:
$ ffmpeg -i Video.avi -aspect 16:9 -target pal-dvd video-mpeg2.mpg
## paverčiam tą mpeg2 formato failą vienu DVD takeliu:
$ dvdauthor -o dvd/ -t video-mpeg2.mpg
## suformuojam DVD disko struktūrą
$ dvdauthor -o dvd/ -T
## gaminam DVD disko atvaizdą, kurį po to galima įkepti į fizinį DVD diską:
$ mkisofs -dvd-video -o Video-dvd.iso dvd/

Taip pagamintas DVD buvo ištemptas vertikaliai. Taip nutiko todėl, kad šio video įrašo dydis yra 720×304 px, o MPEG2 standartas būtų 720×405 px, kuris po to pritempiamas iki 16:9 santykio.

Taigi, visų pirma teko pridėti tuos 100 pikselių kaip juodas juostas virš kadro ir po kadru:

$ ffmpeg -i Video.avi -vcodec mpeg4 -vf pad=720:405:0:50:black -r 25 -aspect 16:9 -sameq -acodec copy Video-su-juostom.avi

Taigi, kas čia vyksta:
„-i Video.avi“ – pirminis filmo failas;
„-vcodec mpeg4“ – naudojamas mpeg4 kodekas;
„-vf pad=720:405:0:50:black“ – pritaikomas video filtras: „pad“ reiškia, kad pridedamos juostos, „720:405“ – filmo naujame faile dydis, „0:50“ – kad pirminio failo kadras talpinamas naujajame nuliniame stulpelyje ir penkiasdešimtoje eilutėje nuo viršutinio kairiojo kampo; „black“ – kad juostos turi būti juodos;
„-r 25“ – naujas kadrų dažnis, nes pirminio failo kadrų dažnis buvo nestandartinis (23.98), ir be šios parinkties ffmpeg failo nekonvertuodavo, rodydavo klaidą.
„-aspect 16:9“ – dvd vaizdo vienas iš galimų santykių (kitas būtų 4:3);
„-sameq“ – naudoti tą pačią vaizdo kokybę apdorojant vaizdą;
„-acodec copy“ – audio takelį tiesiog nukopijuoti;
„Video-su-juostom.avi“ – čia jau rezultatas – šiek tiek apdorotas vaizdo failas.

Šią seką atlikus gavau tokį failą:

$ ffmpeg -i Video-su-juostom.avi
ffmpeg version 0.7.3-4:0.7.3-0ubuntu0.11.10.1, Copyright (c) 2000-2011 the Libav developers
<...>
Input #0, avi, from 'Video-su-juostom.avi':
  Metadata:
    title           : Video
    encoder         : Lavf53.3.0
  Duration: 01:37:51.08, start: 0.000000, bitrate: 3291 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 720x404 [PAR 254:255 DAR 3048:1717], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
<...>

Kurį nesunkiai konvertavau į DVD diskuose naudojamą mpeg2 formatą. Beje, gali būti, kad yra būdas sujungti aukščiau esančią ir žemiau esančią komandą į vieną, gal net galutinio DVD vaizdo kokybė nuo to pagerėtų. Jei kas žinote, kaip – pasidalinkite. O aš toliau dariau taip:

$ ffmpeg -i Video-su-juostom.avi -aspect 16:9 -target pal-dvd video-mpeg2.mpg

O tada – kūriau DVD struktūrą:

$ export VIDEO_FORMAT=PAL
$ dvdauthor -o dvd/ -t video-mpeg2.mpg
$ dvdauthor -o dvd/ -T

Atkreipkite dėmesį į „export VIDEO_FORMAT=PAL.“ komandą. Nenurodžius VIDEO_FORMAT aplinkos kintamojo vykdant pirmąją komandą su „dvdauthor“ rodydavo tokią informaciją apie galimą problemą:
„INFO: no default video format, must explicitly specify NTSC or PAL”
o antroji komanda su „dvdauthor“ baigdavosi klaida, ir dvd struktūra nebūdavo iki galo sukuriama.

Na, o sukūrus visą dvd disko aplankų ir failų struktūrą (ją rasite aplanke „dvd“) belieka sukurti *.iso atvaizdą:

$ mkisofs -dvd-video -o Video-dvd.iso dvd/

Kurį po to su bet kuria dvd įrašymo programa (pvz., su K3b) galima įrašyti į DVD diską.

Arba, DVD diską galima iškepti tiesiogiai iš kietajame diske esančio aplanko „dvd“ tokia komanda:

$ growisofs -Z /dev/dvd -dvd-video dvd/

🙂


Paskelbta

,

sukūrė

Žymos:

Komentarai

Atsakymai į “Kaip konvertuoti *.avi failą į DVD formatą?”: 4

  1. Vaidotas avataras
    Vaidotas

    Aš tam naudoju nemokamą atviro kodo programą Devede, kurios viena iš funkcijų yra ir vaizdo failų konvertavimas į DVD formatą. Galima konvertuoti į ISO failą, arba standartinę DVD struktūrą (audioTS ir videoTS).

  2. kazkoks avataras
    kazkoks

    Na jo viskas pas tave labai sudėtingai, geriau su Vaidoto programėlę ;), bet šiaip straipsnis labai išsamus.

  3. Darius avataras
    Darius

    Labai ačiū! Suveikė.

    1. Donatas G. avataras

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

Brukalų kiekiui sumažinti šis tinklalapis naudoja Akismet. Sužinokite, kaip apdorojami Jūsų komentarų duomenys.

Raktažodžiai

atviras kodas bylos Codeigniter darbas drėlingas el. parašas EŽTT genocidas gimimas holokaustas InEnglish internetas joga Jurgelis karo nusikaltimai kde konferencija Kononov Kraujelis kubuntu LAT LGGRTC lietuvybė linux microsoft mokslai mokslas nusikaltimai žmoniškumui partizanai PHP pokaris programavimas programos religija religijos laisvė sausio13 sektos seneliai teismas teisė tinklaraštis vasiliauskas vertimas wordpress žurnalizmas

Vėliausi įrašai

Mano web projektai

Sąskaitos paprastai | Patobulinta juridinių asmenų paieška | Asmens kodų tikrinimo priemonė

Visuomenė, politika, etc.

Gentys | Religija.lt | Lietuvos religijotyrininkų draugija | Krizių įveikimo centras | GPB | BDS judėjimas

Tinklaraščiai

Kūlverstukas | Rimas Kudelis | Ar kas nors dar rašo tinklaraščius? 🙂

Technologijos

Codeigniter | HTMX | Alpine.js | Kubuntu

Mano viešasis PGP raktas
keybase.io paskyra

Autorinės teisės

© 2004-2024, Donatas Glodenis. Šiame tinklaraštyje paskelbtą autorinį turinį kitur galima naudoti tik gavus raštišką autoriaus sutikimą.

Jei konkrečiu atveju nėra nurodyta kitaip, tinklaraščio įrašuose išsakomi vertinimai yra asmeninė jų autoriaus nuomonė.