Создание DVD-Video

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Создание DVD-Video

Сообщение agbr »

Хав-ту мануал инструкшин

Дано: файлы avi (или какое-либо другое видео), добытые или сделанные каким-либо способом.
Хочется: записать на болванку DVD-Video, которое, как следствие, можно будет потом смотреть не только на компьютере, но и на DVD-плеере. Имеет так-же ряд преимуществ, например не нужно качать экзотические бинарные win32 кодеки для просмотра.

Основываясь на этом ( http://gazette.linux.ru.net/lg83/stoddard.html ) документе, который значительно устарел к настоящему моменту можно утверждать, что для шаманский действий нам понадобятся:

mjpeg-tools: http://mjpeg.sourceforge.net/
dvdauthor: http://sourceforge.net/project/showfiles.php?group_id=59028

и утилиты для создания файловой системы ISO9660 и записи DVD-дисков.

Пусть у нас есть некий файл video.avi, его нужно пережать в формат, соответствующий DVD-Video: ( в статье предлагалось mp2 - audio, m1v - video ). К сожалению, приведённые в статье утилиты не умеют читать видео, закодированное какими-то экзотическими кодеками. Я предлагаю привлечь на помощь mplayer, который, надеюсь, у вас есть.

1) перегоняем audio: ( синтаксис команд может отличаться от версии к версии, я рекомендую вначале ознакомиться с man страницей и выяснить, что делает приведённая мной команда )

mkfifo audio_fifo.wav
mplayer -vc dummy -vo null -ao pcm -aofile audio_fifo.wav video.avi
(в другой консоле в это время)
dd if=audio_fifo.wav | mp2enc -V -o audio.mp2

2) перегоняем video:

mkfifo video_fifo.yuv
mplayer -vo yuv4mpeg:file=video_fifo.yuv -ao null video.avi
(в другой консоле в это время)
dd if=video_fifo.yuv | mpeg2enc -n n -f 8 -s -r 16 -o video.m1v

3) соединяем отдельные звук и видео:

mplex -f 8 audio.mp2 video.m1v -o complete.mpg

4) скармливаем результат dvdauthor:

dvdauthor -o dvd complete.mpg ( на меня оно ругалось по поводу звука, но все получилось нормально )
(повторите это столько раз, сколько видео-файлов вы хотите записать)
dvdauthor -o dvd -T

на выходе получается директория dvd, и в ней VIDEO_TS с содержимым.

5) делаем образ:

mkisofs -dvd-video -udf -o dvd.iso dvd

Результат получен.
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
pktfag
Сообщения: 142
ОС: Arch Linux

Re: Создание DVD-Video

Сообщение pktfag »

Когда при помощи mplex соединяшь один аудио-файл и один видео-файл, у меня при запуске Windows не работал звук, когда смотришь DVD с помощью Media (не знаю как дальше называется, не хочется запукать Windows). Хотя в Linux все работало (в mplayer).

Поэтому я воспользовался этой статьей (по-моему более современная).

А в создании файла dvdauthor мне помог qdvdauthor.
Спасибо сказали:
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Re: Создание DVD-Video

Сообщение agbr »

pktfag писал(а):
20.08.2006 19:26
Когда при помощи mplex соединяшь один аудио-файл и один видео-файл, у меня при запуске Windows не работал звук, когда смотришь DVD с помощью Media (не знаю как дальше называется, не хочется запукать Windows). Хотя в Linux все работало (в mplayer).

Поэтому я воспользовался этой статьей (по-моему более современная).

А в создании файла dvdauthor мне помог qdvdauthor.


Отличная статья.
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu
Контактная информация:

Re: Создание DVD-Video

Сообщение alv »

Переношу в проекты форума
Спасибо сказали:
Аватара пользователя
Виталмий
Сообщения: 468
Статус: Любитель
ОС: Gentoo Linux

Re: Создание DVD-Video

Сообщение Виталмий »

а ещё я посоветовал бы сюда поглядеть!
linux-2.6.17-gentoo-r5 x86 on AMD Athlon XP 2000+
OpenSuse 11.0 x86_64 on Sony VNG-FZ31ER
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Создание DVD-Video

Сообщение Flaming »

Подскажите, пожалуйста, а если есть не один avi-файл, а несколько VOB вперемешку (не DVD, так как, я помню, там должны ещё файлы другие быть), подойдёт ли здесь этот способ?
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Создание DVD-Video

Сообщение Flaming »

agbr писал(а):
20.08.2006 18:39
2) перегоняем video:

mkfifo video_fifo.yuv
mplayer -vo yuv4mpeg:file=video_fifo.yuv -ao null video.avi
(в другой консоле в это время)
dd if=video_fifo.yuv | mpeg2enc -n n -f 8 -s -r 16 -o video.m1v

ругается:

Код:

flaming@tux /mnt/other/Video/dvd $ mplayer -vo yuv4mpeg:file=video_fifo.yuv -ao null ../vzvod.AVI MPlayer dev-SVN-rUNKNOWN-4.1.2 © 2000-2007 MPlayer Team CPU: AMD Athlon™ 64 Processor 3200+ (Family: 15, Model: 47, Stepping: 2) SSE supported but disabled SSE2 supported but disabled CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0 Скомпилировано для x86 CPU со следующими расширениями: MMX MMX2 3DNow 3DNowEx Воспроизведение ../vzvod.AVI. Обнаружен AVI формат файла! [aviheader] Найден видео поток, -vid 0 [aviheader] Найден аудио поток, -aid 1 VIDEO: [DX50] 512x272 24bpp 23.976 fps 663.6 kbps (81.0 kbyte/s) Использую (по умолчанию) режим построчной развёртки кадров.[ass] auto-open [ass] Инициализация. [ass] Обновление кеша шрифтов. ========================================================================== Открываю декодер видео: [ffmpeg] FFmpeg's libavcodec codec family Выбран видеокодек: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4) ========================================================================== ========================================================================== Открываю декодер аудио: [mp3lib] MPEG layer-2, layer-3 AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400) Выбран аудиокодек: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== AO: [null] 44100Hz 2ch s16le (2 bytes per sample) Начало воcпроизведения... VDec: запрос vo config - 512 x 272 (предпочтимое цветовое пространство: Planar YV12) VDec: использую Planar YV12 в качестве выходного csp (не 0) Movie-Aspect - 1.88:1 - премасштабирую для коррекции соотношения сторон фильма. VO: [yuv4mpeg] 512x272 => 512x272 Planar YV12 A: 0.4 V: 0.0 A-V: 0.371 ct: 0.000 1/ 1 ??% ??% ??,?% 0 0 MPlayer прерван сигналом 13 в модуле: flip_page - MPlayer рухнул. Это не должно происходить. Это может быть ошибкой в коде MPlayer _или_ в Вашем драйвере, _или_ в Вашей версии gcc. Если Вы думаете, что в этом виноват MPlayer, пожалуйста, прочтите DOCS/HTML/ru/bugreports.html и следуйте инструкциям оттуда. Мы не сможем и не будем помогать, пока Вы не предоставите эту информацию, сообщая о возможной ошибке. flaming@tux /mnt/other/Video/dvd $ dd if=video_fifo.yuv | mpeg2enc -n n -f 8 -s -r 16 -o video.m1v INFO: [mpeg2enc] SETTING EXTENDED MMX for MOTION! INFO: [mpeg2enc] SETTING SSE and MMX for TRANSFORM! INFO: [mpeg2enc] SETTING EXTENDED MMX for PREDICTION! INFO: [mpeg2enc] Selecting DVD output profile **ERROR: [mpeg2enc] Input stream with unknown frame-rate and no frame-rate specified with -a! INFO: [mpeg2enc] Progressive input - selecting progressive encoding. --verbose|-v num Level of verbosity. 0 = quiet, 1 = normal 2 = verbose/debug --format|-f fmt Set pre-defined mux format fmt. [0 = Generic MPEG1, 1 = standard VCD, 2 = user VCD, 3 = Generic MPEG2, 4 = standard SVCD, 5 = user SVCD, 6 = VCD Stills sequences, 7 = SVCD Stills sequences, 8|9 = DVD] --aspect|-a num Set displayed image aspect ratio image (default: 2 = 4:3) [1 = 1:1, 2 = 4:3, 3 = 16:9, 4 = 2.21:1] --frame-rate|-F num Set playback frame rate of encoded video (default: frame rate of input stream) 0 = Display frame rate code table --video-bitrate|-b num Set Bitrate of compressed video in KBit/sec (default: 1152 for VCD, 2500 for SVCD, 7500 for DVD) --nonvideo-bitrate|-B num Non-video data bitrate to assume for sequence splitting calculations (see also --sequence-length). --quantisation|-q num Image data quantisation factor [1..31] (1 is best quality, no default) When quantisation is set variable bit-rate encoding is activated and the --bitrate value sets an *upper-bound* video data-rate --output|-o pathname Pathname of output file or fifo (REQUIRED!!!) --target-still-size|-T size Size in KB of VCD stills --interlace-mode|-I num Sets MPEG 2 motion estimation and encoding modes: 0 = Progressive (non-interlaced)(Movies) 1 = Interlaced source material (video) 2 = Interlaced source material, per-field-encoding (video) --motion-search-radius|-r num Motion compensation search radius [0..32] (default 16) --reduction-4x4|-4 num Reduction factor for 4x4 subsampled candidate motion estimates [1..4] [1 = max quality, 4 = max. speed] (default: 2) --reduction-2x2|-2 num Reduction factor for 2x2 subsampled candidate motion estimates [1..4] [1 = max quality, 4 = max. speed] (default: 3) --min-gop-size|-g num Minimum size Group-of-Pictures (default depends on selected format) --max-gop-size|-G num Maximum size Group-of-Pictures (default depends on selected format) If min-gop is less than max-gop, mpeg2enc attempts to place GOP boundaries to coincide with scene changes --closed-gop|-c All Group-of-Pictures are closed. Useful for authoring multi-angle DVD --force-b-b-p|-P Preserve two B frames between I/P frames when placing GOP boundaries --quantisation-reduction|-Q num Max. quantisation reduction for highly active blocks [0.0 .. 4.0] (default: 0.0) --quant-reduction-max-var|-X num Luma variance below which quantisation boost (-Q) is used [0.0 .. 2500.0](default: 0.0) --video-buffer|-V num Target decoders video buffer size in KB (default 46) --video-norm|-n n|p|s Tag output to suit playback in specified video norm (n = NTSC, p = PAL, s = SECAM) (default: PAL) --sequence-length|-S num Place a sequence boundary in the video stream so they occur every num Mbytes once the video is multiplexed with audio etc. N.b. --non-video-bitrate is used to the bitrate of the other data that will be multiplexed with this video stream --3-2-pulldown|-p Generate header flags for 3-2 pull down of 24fps movie material --intra_dc_prec|-D [8..11] Set number of bits precision for DC (base colour) of blocks in MPEG-2 --reduce-hf|-N num [0.0..2.0] Reduce hf resolution (increase quantization) by num (default: 0.0) --keep-hf|-H Maximise high-frequency resolution - useful for high quality sources and/or high bit-rates) --sequence-header-every-gop|-s Include a sequence header every GOP if the selected format doesn't do so by default. --no-dummy-svcd-SOF|-d Do not generate dummy SVCD scan-data for the ISO CD image generator "vcdimager" to fill in. --playback-field-order|-z b|t Force setting of playback field order to bottom or top first --multi-thread|-M num Activate multi-threading to optimise throughput on a system with num CPU's [0..32], 0=no multithreading, (default: 0) --correct-svcd-hds|-C Force SVCD horizontal_display_size to be 480 - standards say 540 or 720 But many DVD/SVCD players screw up with these values. --no-constraints Deactivate constraints for maximum video resolution and sample rate. Could expose bugs in the software at very high resolutions! --no-altscan-mpeg2 Deactivate the use of the alternate block pattern for MPEG-2. This is A work-around for a Bug in an obscure hardware decoder. --dualprime-mpeg2 Turn ON use of dual-prime motion compensation. Default is OFF unless this option is used --custom-quant-matrices|-K kvcd|tmpgenc|default|hi-res|file=inputfile|help Request custom or userspecified (from a file) quantization matrices --unit-coeff-elim|-E num Skip picture blocks which appear to carry little information because they code to only unit coefficients. The number specifies how aggresively this should be done. A negative value means DC coefficients are included. Reasonable values -40 to 40 --b-per-refframe| -R 0|1|2 The number of B frames to generate between each I/P frame --cbr|-u For MPEG-2 force the use of (suboptimal) ConstantBitRate (CBR) encoding --help|-? Print this lot out!

Что не так? По надписям не пойму. :(
Спасибо сказали:
Ответить