Конвертирование .avi в DVD используя консольные утилиты
Рубрика: Аудио и видео ПО -> Hужное/полезноеМетки: console | FFmpeg | MEncoder | видео конвертер
Воскресенье, 28 марта 2010 г.
Просмотров: 4468
Подписаться на комментарии по RSS

Давайте, попробуем:
1. Преобразование нашего .avi-файла используя FFmpeg или MEncoder в подходящий формат - .mpg
Предпочтительней будет использовать FFmpeg, так как для тех же операций он требует гораздо меньше параметров командной строки. В качестве примера приведу конвертирование AVI-файла в формат PAL DVD:
ffmpeg -i film.avi -aspect 4:3 -target pal-dvd dvd.mpg
Если же мы захотим повторить ту же операцию с помощью MEncoder, нам придётся добавить ряд параметров коммандной строки. Чтобы сделать свою жизнь проще, нужно пользоваться скриптами :) Вот пример:
#! /bin/bash # bash script for creating a pal dvd # movie is sneakers! mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf \ -vf scale=720:576,harddup -srate 48000 -af lavcresample=48000 \ -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:\ keyint=15:vstrict=0:acodec=ac3:abitrate=192:aspect=16/9 -ofps 25 \ -o sneakers.mpg sneakers.avi
Примечание: формат DVD сильно ограничен, то есть битрейт и соотношение экрана предварительно определены. Взгляните на эту таблицу:
| Формат | Разрешение | В. кодек | В. битрейт | Частота дискретизации | A. кодек | A. битрейт | FPS | Соотношение сторон |
|---|---|---|---|---|---|---|---|---|
| NTSC DVD | 720x480, 704x480, 352x480, 352x240 | MPEG-2 | 9800 kbps | 48000 Hz | AC-3,PCM | 1536 kbps (max) | 30000/1001, 24000/1001 | 4:3, 16:9 (только для 720x480) |
| NTSC DVD | 352x240[a] | MPEG-1 | 1856 kbps | 48000 Hz | AC-3,PCM | 1536 kbps (max) | 30000/1001, 24000/1001 | 4:3, 16:9 |
| NTSC SVCD | 480x480 | MPEG-2 | 2600 kbps | 44100 Hz | MP2 | 384 kbps (max) | 30000/1001 | 4:3 |
| NTSC VCD | 352x240 | MPEG-1 | 1150 kbps | 44100 Hz | MP2 | 224 kbps | 24000/1001, 30000/1001 | 4:3 |
| PAL DVD | 720x576, 704x576, 352x576, 352x288 | MPEG-2 | 9800 kbps | 48000 Hz | MP2,AC-3,PCM | 1536 kbps (max) | 25 | 4:3, 16:9 (только для 720x576) |
| PAL DVD | 352x288[a] | MPEG-1 | 1856 kbps | 48000 Hz | MP2,AC-3,PCM | 1536 kbps (max) | 25 | 4:3, 16:9 |
| PAL SVCD | 480x576 | MPEG-2 | 2600 kbps | 44100 Hz | MP2 | 384 kbps (max) | 25 | 4:3 |
| PAL VCD | 352x288 | MPEG-1 | 1152 kbps | 44100 Hz | MP2 | 224 kbps | 25 | 4:3 |
[a] Эти разрешения редко используются для DVD, поскольку имеют довольно низкое качество. | ||||||||
2. Добавим субтитры с помощью spumux
Создадим два XML-файла с содержимым ниже, и сохраним их в качестве "filmRUS.xml" и "filmENG.xml" (то есть, для каждого языка).
<subpictures> <stream> <textsub filename="filmRUS.srt" characterset="cp1251" fontsize="28.0" font="devedesans.ttf" horizontal-alignment="left" vertical-alignment="bottom" left-margin="60" right-margin="60" top-margin="20" bottom-margin="30" subtitle-fps="25" movie-fps="25" movie-width="720" movie-height="574" force="yes" /> </stream> </subpictures>
Кодировку указываем исходя из того, в какой кодировке исходные файлы с субтитрами.
XML-файлы содержат информацию, необходимую для spumux. Имена опций говорят сами за себя. Шрифт можно использовать любой понравившийся, присутствующий в системе.
Теперь создаём MPG-файл с субтитрами:
spumux -s0 filmRUS.xml filmRUS.mpg rm film.mpg spumux -s1 filmENG.xml filmRUSENG.mpg rm filmRUS.mpg
3. Создаём файловую систему DVD при помощи dvdauthor в два этапа:
Создаём простой текстовый файл со следующим содержимым и сохраняем его как auth.xml
<dvdauthor> <vmgm /> <titleset> <titles> <subpicture lang="ru"/> <subpicture lang="en" /> <pgc> <vob file="filmRUSENG.mpg" /> </pgc> </titles> </titleset> </dvdauthor>
и вводим следующую команду в терминале:
dvdauthor -o mydvd -x auth.xml
В результате чего получим файловую систему DVD в директории mydvd.
4. Осталось записать всё это добро на диск!
growisofs -Z /dev/dvd -dvd-video mydvd/
Опция -Z сотрёт диск, если он не будет пустым.
Вот и всё :) Ничего сложного :)













