1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ffmpeg + dvdauthor で DVD 作り

Posted at

きっかけ

「なぜネット全盛の時代に DVD なんかを・・・?」

DVD を作る必要が出たのは、親戚の結婚式のためでした。披露宴で流したい動画 (スライドショーなど) があり、それを渡すにあたり結婚式場からは「DVD に焼いて渡してほしい」とのこと。

「HDMI とかつなげて、スマホや PC から流せませんか?」と聞いてみるも、やはり DVD でほしいとのこと。

そんなオンボロな機器しか無いんか・・・?なんて思いつつ、渋々 DVD 作りにとりかかることに。

なお、父からは「他人の機器を使うと進行が滞るかもしれないから、安定して動かせる方法が良いんじゃない?」と冷静な見解。確かに、急に動かなくなるかもしれん他人の機器は使いたくない。

フリーの DVD 作成ソフトを使うのも手ではありますが、Linux コマンドで片付けようと無駄に変なルートで走ることにしたのでした。

DVD に対応した形式に動画を変換

まずは動画ファイルの下処理。

現代のフル HD MP4 動画ファイルを DVD に突っ込んで再生できるかというと、できません。DVD に対応した画質やフォーマットに変換してやる必要があります。フォーマットは mpeg、解像度は 720x480 といった、DVD プレーヤーに対応するための調整は、-target オプション一つで解決。

ffmpeg -i input.mp4 -target ntsc-dvd -aspect 4:3 output.mpg

アスペクト比は自動でセットしてくれません。-aspect でセットします。

無くても進められますが、dvdauthor コマンド実行のとき、動画 1秒あたり 1行?のペースで以下のような warning を山ほど吐かれます。

WARN: unknown aspect ratio 1

基本はこれだけです。ただ、例えば 16:9 の動画ファイルをそのまま上のように処理してしまうと、4:3 に縮められて細長い画になってしまいます。親戚から私に送られてきたスライドショーの動画は、解像度が正方形でした。

この対処法として、左右または上下に黒帯を入れる手があります。これには ビデオフィルタ pad が使えます。解説記事は十分出回っていますので、私が参考にした記事を貼るだけでここでの解説はカットします。

dvdauthor でオーサリング

次に、用意した動画ファイルを DVD プレーヤーが読み込めるよう、決まったファイル構造にする (オーサリングする) 必要があります。それをやってくれるツールの一つが dvdauthor です。

ソースコードが配布されており、バイナリは配布されていないので、自力でビルドします。

autotools で簡単・・・と思いきや?

cd <ソースを展開したディレクトリ>
autoreconf
You must have libxml2 (>= 2.6.0) installed
autom4te: error: /usr/bin/m4 failed with exit status: 1
aclocal: error: /usr/bin/autom4te failed with exit status: 1
autoreconf: error: aclocal failed with exit status: 1

どうも上手くいきませんでした。ライブラリ不足だということであれこれインストールするなど 1時間ほど格闘しましたが、解決せず。

Windows 版はバイナリを配布してくれているので、これを使うことにしました。普段は Linux Mint 作業のところ、仕方なく Windows を起動して作業。

まずは設定ファイルを用意。

author.xml
<dvdauthor>
    <vmgm />
    <titleset>
        <titles>
            <pgc>
                <vob file="video1.mpg" />
                <vob file="video2.mpg" />
            </pgc>
        </titles>
    </titleset>
</dvdauthor>

ここでは author.xml というファイル名で、同ディレクトリに必要な動画ファイルも入れてあることとします。そうしましたら、あとは以下のコマンドを実行。

dvdauthor -o dvd_out -x author.xml

指定した出力先ディレクトリ、上の場合は dvd_out 内に AUDIO_TSVIDEO_TS フォルダが作られ、VIDEO_TS 内に xx.VOB みたいなファイルが細々入っていれば OK。

cd dvd_out
dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は XXXX-XXXX です

 C:\Users\...\dvd_out のディレクトリ

2025/07/19  12:21    <DIR>          .
2025/07/19  12:21    <DIR>          ..
2025/07/19  12:21    <DIR>          AUDIO_TS
2025/07/19  12:21    <DIR>          VIDEO_TS
               0 個のファイル                   0 バイト
               4 個のディレクトリ  ..,...,...,... バイトの空き領域

ディスクに焼く

ISO に変換して焼く方法もあります。が、わざわざ一旦 ISO にする必要もなく、また Windows Explorer だけでできましたので、それを紹介します。

空の DVD をドライブに入れ、そのドライブに対して AUDIO_TS と VIDEO_TS をドラッグ&ドロップします。

先ほど作った ISO ファイルをドラッグ&ドロップ (書き込み) しては、書き込めはしますがビデオ DVD として作用しません。(1敗)

DVD write - Files drop

DVD write - Files list

準備はこれだけ。あとは右クリックメニューで 'ディスクに書き込む' を実行して完成。

image.png

余談1 - 簡単なタイトル映像も加えて

DVD ディスクメニューも dvdauthor で作れるようでしたが、やり方が理解しきれなかったので断念。DVD 作成ソフト使えば困らないだろうに。

メニューは諦め、代わりに各動画頭に以下のようなタイトル表示静止画を 3秒ほど加えることにしました。

タイトル表示静止画 再現

余談2 - いざ結婚式当日・・・

さてさて、期日ギリまでサボったツケがまわって、その上想定外に手こずった結果、夜 1時近くまでかかっちゃった DVD、それがいよいよ流れるときだ。

・・・ん、あれ?タイトル静止画再生された?え、なんか全然違う編集入ってる?あ、再構成して流す感じだったんだ・・・

じゃあ動画ファイルさえ渡せればよかったってことじゃん!なんで DVD だったの!?クラウドストレージとかあったでしょうよ!!!

叫びたくなりましたが、華やかな席でそんなこと言うわけにはいかず、私一人黙ってモヤモヤする披露宴となったのでした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?