いらないモノ、ひつようなモノ

書籍、音楽、そして若干のテクノロジー

DVDファイルの作成

MPEGファイルの作成はkinoを使わなくてもコマンドラインのからの連続技で可能だろうが面倒なのでkinoを利用する。

  1. exportのメニューでfileに「mydvd(例)」と入力
  2. FileFormatは8-DVDを選択
  3. DVD-Video Optionで Output dvdauthor XML 「Create DVD-Video(dvdauthor)」を選択。これは[Burn to /dev/dvd with growisofs],[Author only],[None]とあるが、4.7G以内なら最初から[Burn to /dev/dvd with growisofsを選択してもいいかも。

結果は

[root@localhost devede-3.01]# ls -Rl mydvd*
-rw-r--r-- 1 root root       360 2007-08-11 02:26 mydvd-dvdauthor.xml
-rw-r--r-- 1 root root       360 2007-08-11 02:37 mydvd-dvdauthor.xml.backup
-rw-r--r-- 1 root root 588124160 2007-08-11 02:26 mydvd.mpeg
-rw-r--r-- 1 root root 588124160 2007-08-11 02:37 mydvd.mpeg.backup

mydvd:
合計 8
drwxr-xr-x 2 root root 4096 2007-08-11 02:26 AUDIO_TS/
drwxr-xr-x 2 root root 4096 2007-08-11 02:28 VIDEO_TS/

mydvd/AUDIO_TS:
合計 0

mydvd/VIDEO_TS:
合計 574964
-rw-r--r-- 1 root root      6144 2007-08-11 02:28 VIDEO_TS.BUP
-rw-r--r-- 1 root root      6144 2007-08-11 02:28 VIDEO_TS.IFO
-rw-r--r-- 1 root root     18432 2007-08-11 02:27 VTS_01_0.BUP
-rw-r--r-- 1 root root     18432 2007-08-11 02:27 VTS_01_0.IFO
-rw-r--r-- 1 root root 588124160 2007-08-11 02:28 VTS_01_1.VOB

kinoからは以下のような出力

>> Starting Export
>> Export::activate()
>>> ExportMJPEG::startExport
>>> Generated video pipe ' mpeg2enc -v 0 -f 8 -I 1 -n n -a 2  -o 'mydvd'.mpv'
>>> Generated audio pipe '|mp2enc -v 0  -r 48000 -b 224 -o 'mydvd'.mp2'
>>> output rate is 48000, adjusted rate is 48000.1
AC EOB marker is absent pos=65
(中略)
AC EOB marker is absent pos=64

>>> Executing 'mplex -v 0 -f 8 -o 'mydvd'.mpeg 'mydvd'.mpv 'mydvd'.mp2'
>>> ExportMJPEG::createAuthorXml (filename: mydvd-dvdauthor.xml)
<?xml version="1.0"?>
<dvdauthor>
        <vmgm>
                <menus>
                        <video />
                        <audio />
                        <subpicture lang="en" />
                </menus>
        </vmgm>
        <titleset>
                <titles>
                        <pgc pause="0">
                                <vob file="mydvd.mpeg" chapters="0,00:00:50.217,00:01:17.110,00:06:08.668,00:09:03.076,00:09:42.415,00:10:13.780,00:10:53.720" pause="0" />
                        </pgc>
                </titles>
        </titleset>
</dvdauthor>

DVDAuthor::dvdauthor, version 0.6.14.
Build options: gnugetopt iconv freetype fribidi
Send bugs to <dvdauthor-users@lists.sourceforge.net>

INFO: Locale=ja_JP.UTF-8
INFO: Converting filenames to UTF-8
INFO: dvdauthor creating VTS
STAT: Picking VTS 01

STAT: Processing mydvd.mpeg...
STAT: VOBU 16 at 7MB, 1 PGCS
STAT: VOBU 32 at 16MB, 1 PGCS
(中略)
1168 at 550MB, 1 PGCSSTAT: VOBU 1184 at 558MB, 1 PGCS
INFO: Video pts = 0.178 .. 714.825
INFO: Audio[8] pts = 0.178 .. 714.802
STAT: VOBU 1190 at 560MB, 1 PGCS
INFO: Generating VTS with the following video attributes:
INFO: MPEG version: mpeg2
INFO: TV standard: ntsc
INFO: Aspect ratio: 4:3
INFO: Resolution: 720x480
INFO: Audio ch 0 format: mp2/2ch, 48khz 20bps

STAT: fixed 1190 VOBUS
INFO: dvdauthor creating table of contents
INFO: Scanning mydvd/VIDEO_TS/VTS_01_0.IFO

そして最後にISOファイルを作成し、それをDVDに焼き込む。ISOファイルを作成してから焼くときには、growisofs -dvd-compat -speed=2 -Z /dev/dvd=isofile.isoでisofile.isoを個別に指定すればいいようだが、mkisofsで一旦isoファイルを作るのもバカらしい(というのもgrowisofs自体がmkisofsのラッパーソフトであるのだから)きっと一回でできると信じてディレクトリを指定してみる。最後の「/」が肝要。(あとで分かったが、やはりできる - 参考4)

[root@localhost devede-3.01]# growisofs -dvd-compat -speed=2 -Z /dev/dvd mydvd/
 Executing 'mkisofs mydvd/ | builtin_dd of=/dev/dvd obs=32k seek=0'
I: -input-charset not specified, using utf-8 (detected in locale settings)
  1.74% done, estimate finish Sat Aug 11 03:23:01 2007
/dev/dvd: "Current Write Speed" is 2.0x1352KBps.
  3.48% done, estimate finish Sat Aug 11 03:31:38 2007
 97.44% done, estimate finish Sat Aug 11 03:26:43 2007
 99.18% done, estimate finish Sat Aug 11 03:26:43 2007
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 4096
Path table size(bytes): 42
Max brk space used 0
287370 extents written (561 MB)
builtin_dd: 287376*2KB out @ average 2.0x1352KBps
/dev/dvd: flushing cache
/dev/dvd: updating RMA
/dev/dvd: closing disc
/dev/dvd: reloading tray

以上作成したDVDはオーディオがMPEG2 Audioだったため古い?ハードウエアDVDプレーヤでは再生できなかった。これは、DVD-VideoがPCM(リニアPCM)、MPEG2オーディオ、AC3(A52、AC-3、ドルビーデジタル、AudioCodeNumber3)であり、NTCS方式のDVDプレーヤではMPEG2コーデックのサポートが必須となっていないので(http://opentechpress.jp/developer/article.pl?sid=07/05/28/0119249&tid=4)、これが原因かと思われる。

DirectSoundなどを利用するWindowsのソフトDVDプレーヤでは再生できたため、kinoのEXPORT時にAdvanced Optionを開いてmp2encを用いたmpeg2へのエンコードから変更する必要があるのだろう。transcodeを用いる方法とffmpegを用いる方法が考えられる。

  1. transcodeと書いてみた。すると「Generated audio pipe 」という行が出てこない。これは失敗かもしれない。途中で止めた。
  2. ffmpegとだけ書いてみた(you want to generate AC-3 for DVD Video and you know you have ffmpeg with AC-3 encoding support, enter "ffmpeg" into the Audio Encoding field.とhttp://www.kinodv.org/docbook/のKinoのページに書いてある)が、「ffmpeg -f wav -i pipe: -ab 192 -y 'mydvd5'.ac3」とオーディオ部分が変更され、「Error while opening codec for output stream #0.0 - maybe incうorrect parameters such as bit_rate, rate, width or height」で異常終了。

今回はここで諦める。ちなみに、DVDの情報を見るのはどうすればいいか、しらんかったので、再生しながらVLANで見た。どうすりゃいいんだろう。