刹那(せつな)の瞬き

Willkömmen! Ich heiße Setsuna. Haben Sie etwas Zeit für mich?

古い動画ファイルが再生できなくて焦った

Ryzen5 2600XなPCにしてから、ちょいちょい作業してたのが、古い動画ファイルのコーデック変換作業です。

古い動画ファイルは画質もコーデックもバラバラだし、ffprobeで確認できないものもあったり。

気まぐれで再生してみたら、いつかのファイルが再生できません。
UbuntuMacなら仕方ないかと思いつつ、Win10で試してみても再生できないとか意味わかりません。

このままだと、いつか再生できなくなる!と焦りが募ったので、手の空いた時間に、動画ファイルの変換作業を始める事にしました。

....

さて、肝心の変換作業ですが、ファイル形式によっては困った事になったので、いくつかまとめておきます。

◇ 環境

Ubuntu19.10での変換作業です。ffmpegで変換、VLCで再生を確認します。

$ sudo apt install ffmpeg
$ sudo apt install vlc

ほとんどのファイルは問題ないと思いますが、ffprobeで変換前のファイル(ここではsrc.flv)を確認します。

$ ffprobe src.flv

動画ファイルの情報が表示されるはずです。
エラーになるなら、事前に処理できる形式に変換しなきゃです。
そして、変換先ファイルはMacQuickTime Playerで再生可能にしたいので、yuv420pでない動画ファイルには要注意です。

◇ シンブルな動画ファイル変換 ※ほぼこれでOK

手持ちの動画ファイルはほとんどがyuv420pだったので、とりあえず変換してみます。

$ ffmpeg -i src.flv dest.mp4

この例では flv形式のファイルを指定していますが、.mpgや.wmvでも同様です。

◇ 微調整が必要な動画ファイル変換

古い動画ファイルだとyuv420pでなかったり、アスペクト比が乱れたりしてるものがあるので、調整しながら変換します。

case.1 : yuv420pでない

VLCでの再生なら問題ないけど、MacQuickTime Playerで再生させたいなら、yuv420pにする必要があります。

$ ffmpeg -i src.wmv -pix_fmt yuv420p dest.mp4

手持ちの動画ファイルでは、wmv形式のファイルが4つだけyuv420pでなかったです。

case.2 : アスペクト比の乱れ

実際に動画ファイルをVLCで再生してみて、アスペクト比が乱れてる場合は、変換時にパラメータを指定します。

# アスペクト比を 4:3 で変換
$ ffmpeg -i src.flv -c copy -aspect 4:3 dest.mp4

# アスペクト比を 16:9 で変換
$ ffmpeg -i src.flv -c copy -aspect 16:9 dest.mp4

当時は確認してから保存してたのに、なんか納得いかない。

case.3 : mp4に変換できない/変換しても再生できない

古いwmvファイルや解像度の小さいmpeg1ファイル(160x120)が何故かダメです。
仮想マシン上のWinXP Pro 64bit版では再生できるのに... 

仕方ないので、その仮想マシンWindows Media Encoder 9 Series x64 Editionをインストールして、WME9ベースなwmvファイルを作成する事にしました。

ダメ元で、元ファイルを仮想マシン側で変換→ffmpegでさらに変換、を試したら無事に成功!手持ちの再生できなかったファイル群は、この方法で全て変換できました。 

case.4 : rmファイルは捨てる

詳細は省きますが知的好奇心により、なんとか変換してみました。

残念ながら最新のRealPlayerWin7以降のOSにしか対応してません。
前述のWinXP64環境ではインストールすらできません。

とりあえず、新規にWin7 64bitの仮想マシンを作成し、アクティベートしないまま作業してみました。
Windows Updateは適当なところで止めて、必須ランタイムライブラリとWMP11をインストール、無駄かつ余計なアプリが強制インストールされる最新のRealPlayerをインストールして、rmファイルの再生を確認します。

よく覚えてませんが、RealPlayerの機能で、rmファイルからwmvか何らかには変換できるはずなので、最後にffmpegを経由すれば大丈夫なはずです。

WindowsRealPlayerWindows版QuickTimePlayerは敵です。

....

時間を見つけては、aviファイルを筆頭にmpeg1とかwmvとかflv等をffmpegでmp4に変換してました。
コーデックは残念ながらのH.264/MPEG-4。ちょっと見通しが甘かったですね。

今から始めるなら、間違いなくH.265/HEVCにするところですが...

life.craftz.dog

という訳で、今ならこれ一択です!

$ ffmpeg -i src.mp4 -c:v libx265 -tag:v hvc1 dest.mp4

画質はほとんど変わらないのに、ファイルサイズが本当に小さい!
時間があれば、全部これにしたいくらいです。

....

ちなみに古い動画のほとんどはWinXP時代のものです。

最も多いのはソースがVHS/Hi8なテープで、GV-VCP2/Remix2000経由のふぬああでキャプチャーして、XvidなAVIファイルやMPEG1ファイルを作成してました。
機材が壊れる前に処理しておいた自分を褒めたいところです。

中学生の頃に流行ったMTVや料理番組とか、普段は全く観ないけど、思い入れがあって捨てるに捨てられないファイルって、それなりにあるものですね。