Рассылка закрыта
При закрытии подписчики были переданы в рассылку "LinuxCenter News Channel: новости Linux" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Linux Gazette на русском
Информационный Канал Subscribe.Ru |
Linux Gazette на русском | Выпуск #109 | Тираж 8101 экз.
"И пишу я Вам, дорогая Катерина Матвеевна..."
Приветствую! Продолжаем тему DVD. Теперь Вашему вниманию
предлагается статья "Запись собственных DVD в Linux". Эй!
Счастливчики, обладающие пишущими DVD-приводами! Эта статья
для Вас. :-) Присылайте свои вопросы и замечания о материалах,
публикуемых на сайте, по адресу lgrus@lrn.ru и, если не трудно,
сразу указывайте, можно ли использовать Ваши письма в
рассылке. Александр Куприн Запись собственных DVD в
Linux
В этой статье речь пойдёт о том, как сделать собственный
DVD-диск (используя Linux и DVD+RW или DVD-RW привод), совместимый
с большинством стандартных плейеров. Меня всегда поражает насколько просто в Линуксе совершенствовать
и развивать уже начатые кем-то проекты. Запись собственных DVD в
Линукс тоже попадает в категорию подобных задач - вроде бы все
инструменты для этого есть, и в информации на эту тему недостатка
не наблюдается, но нигде до сих пор нет полного документа,
описывающего весь процесс "от и до". Конечно, запись DVD под Линукс
находится еще во "младенчестве", нет ещё продвинутых средств
редактирования с поддержкой меню и других функций, но на данном
этапе уже вполне возможно записывать и сохранять домашнее видео или
ТВ-передачи в формате DVD. Я не буду рассматривать редактирование
видео, а просто опишу процесс записи сигнала с ТВ или с
видеокассеты на DVD. Я также не хочу вдаваться в тонкости установки и настройки
необходимого железа, если вы не знаете как его устанавливать, то
обратите внимание на следующие статьи, надеюсь, они вам помогут. Каждый из этих пакетов имеет свой способ и особенности
установки, так что пожалуйста, изучите инструкции по установке для
каждого из них. У dvd+rw tools нет Makefile, поэтому собрать "бинарники" можно
следующим образом: Одним из самых ответственных шагов является правильный захват
видео: нужно корректно указать размер видео и частоту смены кадров.
Следующая команда для записи видео использует стример, который
входит в состав xawtv: Здесь параметр -n указывает формат, так что если вы используете
PAL, то измените ntsc на pal. Параметр -t устанавливает время
записи в минутах, -s указывает размер видео, в США мы пользуемся
NTSC, который использует размер видео 720x480, если же вы
используете PAL, то смените размер на 720x576. Параметр -r
определяет частоту смены кадров, для NTSC нужно выставить значение
30, для PAL - 24. Ну, и наконец, -c определяет видео устройство
(измените его, если это необходимо). Остальные параметры изменять не
нужно. Следующее, что нам необходимо сделать, это правильно закодировать
видео и аудио информацию в какой-нибудь удобоваримый для
DVD-плейера формат. Для этого мы воспользуемся утилитами из
mjpeg-tools. Следующая команда вытаскивает весь звуковой сигнал из
avi-файла и кодирует его в mp2 audio. Ключ -V здесь нужен для
совместимости с форматом VCD: Далее вытаскиваем видео и кодируем его в mpeg. Продолжительность
этого процесса напрямую зависит от мощности вашей системы. Здесь
для нас важны опции -f 8, которая делает видео совместимым с DVD, а
также -n n, что означает "использовать NTSC", соответственно.
Смените на -n p для PAL: Теперь надо объединить два получившихся закодированных файла.
При этом не забудьте про ключ -f 8 для совместимости с DVD: Чтобы наш диск читался на любом DVD-плейере, его структура
ДОЛЖНА быть идеальной, так что убедитесь что вы выполнили следующие
команды именно так, как показано: Далее создаем IFO файл, содержащий Table of Content: Теперь копируем наш кодированный видео файл в структуру
директорий диска и даем ему нужные атрибуты: IFO и BUP файлы содержат информацию для DVD-плейера,
определяющую свойства видео файла, который он пытается
воспроизвести. Утилита ifogen анализирует видео и вытаскивает
требуемую информацию. Для создания необходимых файлов выполните
следующую команду: Далее надо создать iso образ, который можно будет записать на
DVD-диск. Только убедитесь, что вы воспользуетесь при этом той
версией mkisofs из состава dvdrtools, которая поддерживает файловую
систему DVD: Ну, и, наконец, приступаем к записи нашего диска. Если вы
пользуетесь приводом DVD+RW старого поколения, то сначала болванку
диска нужно отформатировать. Для этого выполните следующие команды
и замените srcd0 на имя вашего пишущего устройства: Если же у вас новый привод DVD-RW, то это делать необязательно --
это выполнит сама утилита dvdrecord: Наиболее часто возникают проблемы при синхронизации аудио
сигнала. При этом вам надо попробовать настроить ваш
жесткий диск - включить 32 bit I/O и DMA: Далее, загрузить драйвер bttv с опцией gbuffers=10: По идее это должно решить любые проблемы с синхронизацией звука.
Если это не помогло, то попробуйте использовать опцию -O n при
использовании утилиты mplex. Она позволяет задерживать видео на n
миллисекунд. Недостаток этого в том, что все надо делать методом
проб и ошибок, и довольно часто на обработке объединенного
видеофайла ifogen вылетает (segfault). Кроме этого, можно попробовать
записать видео в меньшем размере, скажем в 352x240. Для этого
воспользуйтесь yuvscaler из комплекта mjpeg-tools и уменьшите
исходный размер с 720x480. Но лично я этого никогда не
пробовал. Весь вышеописанный процесс, конечно, не позволит вам записать
DVD такого же качества, как и на лицензионных дисках, которые
продаются в магазинах, хотя качество видео будет в основном
зависеть от устройства захвата видеосигнала или от самого источника
видеосигнала, так что используйте наилучшие настройки при записи на
видеокассету, с которой потом будете переписывать изображение на
DVD. Сам процесс может занять несколько часов, так что я написал
скрипт, который делает всё за меня, пока я занимаюсь своими
делами или сплю. Учтите, что 100 минут видео займет около 11 ГБ в
несжатом виде, 2 ГБ после сжатия и 1ГБ в виде iso образа. Copyright ї 2002, Chris Stoddard.
Copying license http://www.linuxgazette.com/copying.html Команда переводчиков: Со всеми предложениями, идеями и комментариями обращайтесь к
Александру Куприну (lgrus@lrn.ru). Убедительная
просьба: указывайте сразу, не возражаете ли Вы против публикации
Ваших отзывов в рассылке. Сайт рассылки: http://gazette.linux.ru.net
Спасибо за перевод Юрию Прушинскому!
Автор: (c) 2002 Chris Stoddard
Перевод: (c) 2003 Юрий
Прушинский
Содержание
Вступление
Необходимое оборудование:
Необходимое ПО:
gcc dvd+rw-format.c
mv a.out dvd+rw-format
cp dvd+rw-format /usr/local/bin
gcc growisofs.c
mv a.out growisofs
cp growisofs /usr/local/bin
Кодирование и запись видео:
streamer -n ntsc -t 60:00 -s 720x480 -r 30 -o stream.avi -f mjpeg -F stereo -c /dev/video0
lav2wav +p stream.avi | mp2enc -V -o audio.mp2
lav2yuv +p stream.avi | mpeg2enc -n n -f 8 -s -r 16 -o video.m1v
mplex -f 8 audio.mp2 video.m1v -o complete.mpg
mkdir dvd
mkdir dvd/VIDEO_TS
tocgen > dvd/VIDEO_TS/VIDEO_TS.IFO
cp complete.mpg dvd/VIDEO_TS/VTS_01_1.VOB
chmod u+w dvd/VIDEO_TS/*.VOB
ifogen -f dvd/VIDEO_TS/VTS_01_1.VOB > dvd/VIDEO_TS/VTS_01_0.IFO
(cd dvd/VIDEO_TS; for i in *.IFO; do cp $i basename $i .IFO.BUP; done)
mkisofs -dvd-video -udf -o dvd.iso dvd/
dvd+rw-format -f /dev/srcd0
growisofs -Z /dev/srcd0=dvd.iso
dvdrecord -dao speed=2 dev=0,0,0 dvd.iso
Возможные проблемы с синхронизацией аудио сигнала
hdparm -c 1 -d 1 /dev/hda
modprobe bttv gbuffers=10
Заключение:
-----make-dvd.sh-----
#!/bin/sh
# Cleans out any left over files and makes the necessary directories
rm -r -f dvd video dvd.iso
mkdir dvd
mkdir dvd/VIDEO_TS
mkdir video
# Changes the channel on the TV tuner card
v4lctl setstation 3
# Records the video stream
streamer -n ntsc -t 60:00 -s 720x480 -r 30 -o video/stream.avi -f mjpeg -F stereo -c /dev/video0
# Encodes the video stream
lav2wav +p video/stream.avi | mp2enc -V -o video/audio.mp2
lav2yuv +p video/stream.avi | mpeg2enc -n n -f 8 -s -r 16 -o video/video.m1v
mplex -f 8 video/audio.mp2 video/video.m1v -o video/complete.mpg
# Builds DVD image from the encoded video
# This portion of the script was lifted directly from
# the writedvd script which comes with the dvdauthor tools
tocgen > dvd/VIDEO_TS/VIDEO_TS.IFO
cp video/complete.mpg dvd/VIDEO_TS/VTS_01_1.VOB
chmod u+w dvd/VIDEO_TS/*.VOB
ifogen -f dvd/VIDEO_TS/VTS_01_1.VOB > dvd/VIDEO_TS/VTS_01_0.IFO
(cd dvd/VIDEO_TS; for i in *.IFO; do cp $i basename $i .IFO.BUP; done)
mkisofs -dvd-video -udf -o dvd.iso dvd/
# Burns the DVD for 1st Generation DVD+RW
# Comment out the dvd+rw-format line if the disc is already formated and
# contains no data.
# Comment these two lines out if you are using a newer drive
dvd+rw-format -f /dev/srcd0
growisofs -Z /dev/srcd0=dvd.iso
# Burns DVD for more modern DVD formats like DVD-RW
# Uncomment this line if you are using a newer drive
#dvdrecord -dao speed=2 dev=0,0,0 dvd.iso
-----make-dvd.sh-----
Published in Issue 83 of Linux Gazette, October
2002
Владимир Меренков, Александр Михайлов, Иван Песин, Сергей
Скороходов, Александр Саввин, Роман Шумихин, Александр Куприн,
Андрей Киселев, Игорь Яровинский, Юрий Прушинский
Эту статью можно взять здесь: http://gazette.linux.ru.net/lg83/stoddard.html
Архивы выпусков можно взять здесь: http://gazette.linux.ru.net/archive/
http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
В избранное | ||