запись dvd-video диска

glod
неужели все так плохо?
Я бы сказал: не плохо, а архихреново! )
В devede, насколько я понял, убрали поддержку mp2, а сделать работоспособным ac3 забыли, т.е. имеются проблемы со звуком.
qdvdauthor давно не поддерживается, bombono в последний раз, когда пробовал, не собирался, а ситуация с dvdstyler вообще трагикомическая:
нативная версия с ауры собирается, но не работает;
виндовая версия под вайном работает, но часто вылетает;
виндовая версия под виртуалкой работает отлично, хотя используются родные (!) портированные экзешники, входящие в состав dvdauthor.

Позор Виктору Перестукину! ©

Но все так плохо только по части "гуев". Юзайте напрямую dvdauthor и будет вам счастье.
Aivar
Юзайте напрямую dvdauthor
шутите? я бы задал несколько вопросов тем, кто осилил dvdauthor, но разве такие имеются?
Имеются. Спрашивайте.
с какого боку к нему вообще подойти? там же не понятно все чуть более, чем полностью и документации толковой нет.
На самом деле, документации по dvdauthor много, правда лишь в том, что в большей части она англоязычная. Но сложного, в общем-то, нет ничего. Все сводится к следующим шагам:
  • создаете видео, соответствующее спецификации DVD;
  • любыми подручными средствами рисуете менюшку и кнопки;
  • из нарисованой менюшки создаете видео-файл;
  • добавляете звуковую дорожку;
  • вставляете кнопки, аки субтитры;
  • подготавливаете структуру диска;
  • выполняете авторинг;
  • нарезаете болванку.
Все делается "не вынимая" из консоли.
да ладно. а подробнее?
Подробности вечером. Устроит?
конечно
Подробности. Подразумевается создание DVD-PAL 720x576.

Подготавливаем фон:
convert /path/to/image.png -resize 720x576! background.png
Накладываем текст:
convert background.png -pointsize 24 -font Georgia-Bold-Italic -fill black -gravity SouthEast -annotate +45+45 \
"16.01.2015" -interword-spacing 10 -interline-spacing 6 -pointsize 64 -font Georgia-Bold-Italic -fill black \
-gravity Center -annotate +5-25 \
"Фильм 1\nФильм 2\nФильм 3\nФильм 4" -blur 2x4 -pointsize 24 -font Georgia-Bold-Italic -fill grey \
-gravity SouthEast -annotate +50+50 \
"16.01.2015" -interword-spacing 10 -interline-spacing 6 -pointsize 64 -font Georgia-Bold-Italic -fill yellow \
-gravity Center -annotate +0-30 \
"Фильм 1\nФильм 2\nФильм 3\nФильм 4" menu.png
Так много, потому что накладываем заголовок диска, текст кнопок, тени, указываем цвет, шрифт, междусимвольный и междустрочный интервал, где печатать и т.д.
Создаем подсветку:
convert -size 720x576 canvas:none +antialias \
-interword-spacing 10 -interline-spacing 6 -pointsize 64 -font Georgia-Bold-Italic -fill RoyalBlue1 -gravity SouthEast \
-annotate +5-25 "Фильм 1\nФильм 2\nФильм 3\nФильм 4" highlight.png
То же самое для цвета выделения:
convert -size 720x576 canvas:none +antialias \
-interword-spacing 10 -interline-spacing 6 -pointsize 64 -font Georgia-Bold-Italic -fill firebrick2 -gravity SouthEast \
-annotate +5-25 "Фильм 1\nФильм 2\nФильм 3\nФильм 4" select.png
Стоит учесть, что кнопки (т.е. субтитры в DVD) могут иметь не более 4-х цветов. Я отключаю сглаживание. В результате имеем только 2 цвета (цвет тона, цвет фона), но если сделать индексацию в 4 цвета, буквы получаются еще более рваными. Можно временно объединить изображение с подсветкой, чтобы посмотреть на результат:
composite highlight.png menu.png /tmp/temph.png
composite select.png menu.png /tmp/temps.png
Собственно, вот что получилось:

Создаем видео менюшки:
convert menu.png ppm:- | ppmtoy4m -n25 -S 420mpeg2 -F25:1 -A59:54 -I p -r | mpeg2enc -n p -f8 -b5000 -G25 -a2 -o /tmp/menu.m2v
Добавляем звуковую дорожку:
mplex -f 8 -S 0 -M -V -o /tmp/menu_temp.mpg /tmp/menu.m2v /media/Data/Edition/dumb_menu.mp2
Звуковая дорожка, пусть хоть пустая волна, обязательна.
Подготавливаем файл menu.xml, где указано расположение кнопок, их имена, навигация с пульта и т.д.. Например:
<?xml version="1.0" encoding="utf-8"?>
<subpictures format="PAL">
  <stream>
    <spu start="00:00:00.00" highlight="highlight.png" select="select.png" force="yes">
      <button name="button01" x0="130" y0="116" x1="588" y1="178" left="button01" right="button01" up="button01" down="button02"/>
      <button name="button02" x0="140" y0="190" x1="574" y1="254" left="button02" right="button02" up="button01" down="button03"/>
      <button name="button03" x0="184" y0="260" x1="534" y1="314" left="button03" right="button03" up="button02" down="button04"/>
      <button name="button04" x0="140" y0="336" x1="576" y1="400" left="button04" right="button04" up="button03" down="button04"/>
    </spu>
  </stream>
</subpictures>
Вертикальная координата Y из расчета чересстрочности должна быть кратной двум.
Но это больше пригодится, если делать какое-то экзотическое меню. Мне хватает автоопределения кнопок:
<?xml version="1.0" encoding="utf-8"?>
<subpictures format="PAL">
  <stream>
    <spu start="00:00:00.00" highlight="highlight.png" select="select.png" force="yes"
    autooutline="infer"
    outlinewidth="16"
    autoorder="columns">
    </spu>
  </stream>
</subpictures>
Тут главное, чтобы междусимвольный интервал был меньше, чем междустрочный, иначе слова в строке будут восприниматься как отдельные кнопки.
Добавляем кнопки в меню:
spumux -P -s 0 menu.xml < /tmp/menu_temp.mpg > menu.mpg
Подготавливаем xml-файл со структурой диска. С одним titleset и vts-меню:
<?xml version="1.0" encoding="utf-8"?>
<dvdauthor jumppad="0">
  <vmgm>
    <menus>
      <video format="pal" aspect="4:3"/>
      <audio lang="UK"/>
      <!--************** VMG MENU **************-->
      <pgc>
        <vob file="empty_pal_mp2.mpg"/>
        <pre>jump titleset 1 menu;</pre>
      </pgc>
    </menus>
  </vmgm>
  <titleset>
    <!--************** VTS MENU **************-->
    <menus>
      <video format="pal" aspect="4:3"/>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <button name="button01">;jump title 1;</button>
        <button name="button02">;jump title 2;</button>
        <vob file="menu.mpg" pause="inf"/>
      </pgc>
    </menus>
    <titles>
      <video aspect="16:9" widescreen="nopanscan"/>
      <audio lang="UK"/>
      <!--************** TITLE 1 **************-->
      <pgc>
        <vob file="film1.mpg" chapters="0:00"/>
        <post>jump title 2;</post>
      </pgc>
      <!--************** TITLE 2 **************-->
      <pgc>
        <vob file="film2.mpg" chapters="0:00"/>
        <post>call menu;</post>
      </pgc>
    </titles>
  </titleset>
</dvdauthor>
Для упрощения дал только два заголовка. Этот вариант можно использовать, если видео имеет один стандарт и формат.
С несколькими titleset и vmg-меню (взял готовый файл с недавнего проекта):
<?xml version="1.0" encoding="utf-8"?>
<dvdauthor jumppad="0">
  <vmgm>
    <menus>
      <video format="pal" aspect="4:3"/>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <!--************** VMG MENU **************-->
      <pgc entry="title">
        <button>jump title 1;</button>
	<button>jump title 2;</button>
	<button>jump title 3;</button>
	<button>jump title 4;</button>
	<button>jump title 7;</button>
        <vob file="menu.mpg" pause="inf"/>
        <pre>if (g0 == 2) { jump title 2; }
	if (g0 == 3) { jump title 3; }
	if (g0 == 4) { jump title 4; }
	if (g0 == 5) { jump title 5; }
	if (g0 == 6) { jump title 6; }
	if (g0 == 7) { jump title 7; }
	</pre>
      </pgc>
    </menus>
  </vmgm>
      <!--************** VTS 1 **************-->
  <titleset>
    <menus>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <vob file="empty_pal_mp2.mpg"/>
        <pre>jump vmgm menu;</pre>
      </pgc>
    </menus>
      <!--************** TITLE 1 **************-->
    <titles>
      <video format="pal" aspect="16:9" widescreen="nopanscan"/>
      <audio lang="UK"/>
      <pgc>
	<vob file="/media/Data/Home/2012-2014/Video/01 Toto.mpg" chapters="0:00,3:29,6:46,9:25,13:01,15:48,17:57,12:18,23:42,30:15,35:42"/>
        <post> g0=2; call menu entry root;</post>
      </pgc>
    </titles>
  </titleset>
      <!--************** VTS 2 **************-->
    <titleset>
    <menus>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <vob file="empty_pal_mp2.mpg"/>
        <pre>jump vmgm menu;</pre>
      </pgc>
    </menus>
      <!--************** TITLE 2 **************-->
    <titles>
      <video format="pal" aspect="16:9" widescreen="nopanscan"/>
      <audio lang="UK"/>
      <pgc>
      <vob file="/media/Data/Edition/dn/temp/19.mpg" chapters="0:00,1:41,2:01,4:24,5:18,6:10,6:37,7:48,11:25"/>
      <vob file="/media/Data/Edition/dn/temp/24.mpg" chapters="0:00"/>
	<pre> g0=0;</pre>
	<post> g0=3; call menu entry root;</post>
      </pgc>
    </titles>
  </titleset>
        <!--************** VTS 3 **************-->
    <titleset>
    <menus>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <vob file="empty_pal_mp2.mpg"/>
        <pre>jump vmgm menu;</pre>
      </pgc>
    </menus>
      <!--************** TITLE 3 **************-->
    <titles>
      <video format="pal" aspect="4:3"/>
      <audio lang="UK"/>
      <pgc>
      <vob file="/media/Data/Edition/dn/temp/13.mpg" chapters="0:00"/>
	<pre> g0=0;</pre>
	<post> g0=4; call menu entry root;</post>
      </pgc>
    </titles>
  </titleset>
      <!--************** VTS 4 **************-->
  <titleset>
    <menus>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <vob file="empty_pal_mp2.mpg"/>
        <pre> jump vmgm menu;</pre>
      </pgc>
    </menus>
      <!--************** TITLE 4 **************-->
    <titles>
      <video format="pal" aspect="16:9" widescreen="nopanscan"/>
      <audio lang="UK"/>
      <pgc>
      <vob file="/media/Data/Home/2012-2014/Video/02 megom.mpg" chapters="0:00,0:37,1:11,3:25,5:01,6:22"/>
	<pre> g0=0;</pre>
        <post> g0=5; call menu entry root;</post>
      </pgc>
    </titles>
  </titleset>
        <!--************** VTS 5 **************-->
  <titleset>
    <menus>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <vob file="empty_ntsc_mp2.mpg"/>
        <pre> jump vmgm menu;</pre>
      </pgc>
    </menus>
      <!--************** TITLE 5 **************-->
    <titles>
      <video format="ntsc" aspect="16:9" widescreen="nopanscan"/>
      <audio lang="UK"/>
      <pgc>
      <vob file="/media/Data/Edition/zvezdo.mpg" chapters="0:00,1:40"/>
	<pre> g0=0;</pre>
        <post> g0=6; call menu entry root;</post>
      </pgc>
    </titles>
  </titleset>
        <!--************** VTS 6 **************-->
  <titleset>
    <menus>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <vob file="empty_pal_mp2.mpg"/>
        <pre> jump vmgm menu;</pre>
      </pgc>
    </menus>
      <!--************** TITLE 6 **************-->
    <titles>
      <video format="pal" aspect="4:3"/>
      <audio lang="UK"/>
      <pgc>
      <vob file="/media/Data/Edition/nrmeg.mpg" chapters="0:00,1:25"/>
	<pre> g0=0;</pre>
        <post> g0=7; call menu entry root;</post>
      </pgc>
    </titles>
  </titleset>
        <!--************** VTS 7 **************-->
  <titleset>
    <menus>
      <audio lang="UK"/>
      <subpicture lang="UK"/>
      <pgc entry="root">
        <vob file="empty_pal_mp2.mpg"/>
        <pre> jump vmgm menu;</pre>
      </pgc>
    </menus>
      <!--************** TITLE 7 **************-->
    <titles>
      <video format="pal" aspect="4:3"/>
      <audio lang="UK"/>
      <pgc>
      <vob file="/media/Data/Edition/dn/temp/18.mpg" chapters="0:00"/>
	<pre> g0=0;</pre>
        <post> call menu entry root;</post>
      </pgc>
    </titles>
  </titleset>
</dvdauthor>
Этот вариант пригодится, если имеют место видеофайлы разных стандартов, форматов и т.д.
Вообще-то, вложения меню могут быть довольно сложными. Все зависит от фантазии и терпения.
Выполняем авторинг, указывая файл структуры диска и выходной каталог dvd:
dvdauthor -o dvd -x dvdauthor.xml
Если есть желание, создаем образ диска:
genisoimage -dvd-video -v -o dvd.iso dvd
и пишем на диск:
growisofs -dvd-compat -Z /dev/sr0=dvd.iso -speed=4
либо сразу записываем болванку:
growisofs -Z /dev/sr0 -dvd-video dvd -speed=4
Наличие параметров -dvd-video и -dvd-compat обязательно. В противном случае потом часто возникают вопросы, почему записанный диск некорректно воспроизводится аппаратным плеером. Особенно это касается DVD-9.

Кажись все. Это вкратце, разумеется. Вообще, тема обширная.
bombono в последний раз, когда пробовал, не собирался
Попробуйте еще раз. У меня собралась без проблем, с ее помощью сделал уже несколько DVD-меню.
www.linux32.ru - новости и статьи о Linux
 
Зарегистрироваться или войдите чтобы оставить сообщение.