DVD-R に焼いたテレビ番組を MP4 ファイルにして保存しおえる
結果的に数枚、読めないディスクがあった。なぜかどれも SONY ブランドの DVD-R ディスクだった。時期がもっとも古いとかではなく、中間というところ。(こんなところにまでソニータイマーの呪いか)
それでも 2004 年くらい以降に作っていて 2010 年代くらいまでと年数は 20 年弱くらいから 10 年前くらいというところ。よくもっていたというべきかもしれない。
いろいろやってみたがファイル情報がまったく認識できないようなので復活はほぼ無理。ブロック単位で読み取るツールを少し試してみたものの、あまりにも時間がかかる上に成果が得られないので諦め。
残念ではあるが仕方ない。少なくとも数年前には再生できたはずのものもあるのでなんとも悔しいけれど。
さて、そんななかで得た ffmpeg の使い方。
DVD-VIDEO だと VTS_01_0.VOB といったファイル名に分割されているので、これを連結するには、
ffmpeg -i concat:"VTS_01_0.VOB|VTS_01_1.VOB" output
といった感じで連結してひとまとめに。
さらにそこから分割するときには、情報ファイルが使えるのかもしれないが、よくわからないので、手っ取り早く再生して区切りの時間を見極めて、
ffmpeg -i input -ss 00:00:00 -t 00:12:34 output1 -ss 00:12:34 output2
といった感じで時間指定。ただ、これはふたつに分割するようにしか考えられていないようなので、同時にふたつ以上やろうとするとおかしくなる。地道にふたつずつを繰り返すのがよい感じ。
映画など二か国語にしていたものの場合、そのままだとひとつの音声しかひろってくれないことがあるので、
-map 0:v -map 0:a
といったオプションも必要になることがある。
また、同様に音声の言語指定をしたほうがよいのだが、これは Windows ではうまく機能しないので WSL2 などを使うほうがよい。
ffmpeg -metadata:s:a:0 language=jpn
など。英語なら eng で。
さらに標準の言語が違うときには、map で順序を入れ替えてしまうというのもあるし、WSL2 で処理なら
-metadata:s:a:0 dispoint disposition default
とかも。すでに標準にされているのを解除するなら default の代わりに none を指定。(追記: none が invalid argument といわれてしまうな)
あとは、メタデータのタイトルとかもつけるならだけれど、Windows ならばこれはあとからエクスプローラーで編集も可能なので無理にということではない。Linux だとできないようなのではじめからつけたほうがよさそう。
かつてテレビ録画を DVD にしたというひとは、点検してみたほうがよいと思う。保存状態がよければ、まだ再生できるかもしれない。そして、複数のファイル形式でバックアップしたほうがよさそう。(h264,AAC MP4 にすればファイルサイズも小さくなるし)
| 固定リンク
コメント