2016/07/20(水) [n年前の日記]
#3 [windows] AviUtlでmovをwebmに変換しようとして四苦八苦
コンパクトデジカメ Canon PowerShot A3300 IS で撮影した mov 動画ファイルを、AviUtl で webm形式の動画に変換しようとしたけど、上手く行かず。
環境は Windows10 x64 + AviUtl 1.00 + L-SMASH Works r877 + FFmpegOUT 0.05。
環境は Windows10 x64 + AviUtl 1.00 + L-SMASH Works r877 + FFmpegOUT 0.05。
◎ movの音声が正常に読み込まれない。 :
まず、mov の中に入ってる音声(PCM、サンプリング周波数 12KHz、8bit、モノラル)が AviUtl に読み込めなくて。音声表示部分が全部緑色になってる…。おそらく、導入してる L-SMASH Works で何か起きてるんだろうけど…。
これは、L-SMASH Works の設定ダイアログで、Libav + L-SMASH のチェックを外したら、音声部分もそれっぽく読み込んでくれるようになった。
これは、L-SMASH Works の設定ダイアログで、Libav + L-SMASH のチェックを外したら、音声部分もそれっぽく読み込んでくれるようになった。
◎ ffmpegでwebm出力ができない。 :
次に、webm形式の動画として出力しようとしてハマったり。FFmpegOUT で出力を試みるものの、「変なオプションついてるからエラーが出たよ。変換できねえよ」と怒られてしまう。
ffmpeg.exe は version N-81045-g450cf40。最新版をDLしてきたから、おそらく 3.0.1 以降の開発版だと思うけど。
ffmpeg 3.0.x を使ってるからいかんのかなと、 _Zeranoe FFmpeg - Builds から、ffmpeg 2.8.6 や、FFmpegOUT 0.05 が公開されてた頃の版であろう ffmpeg 2.5.2 をDLして試してみたけど、結果は変わらず。どれか特定の版を使えばスンナリ動くのだろうか。しかしググっても、「この版で動いてる」という情報が見つからない…。
とりあえず、プロファイルを選んだ時に表示される文字列の中から、-cpu-used 0 -threads 8 を削除したら出力できるようになった。が、どうしてコレが関係してくるのか、さっぱり分からない…。
ffmpeg.exe は version N-81045-g450cf40。最新版をDLしてきたから、おそらく 3.0.1 以降の開発版だと思うけど。
ffmpeg 3.0.x を使ってるからいかんのかなと、 _Zeranoe FFmpeg - Builds から、ffmpeg 2.8.6 や、FFmpegOUT 0.05 が公開されてた頃の版であろう ffmpeg 2.5.2 をDLして試してみたけど、結果は変わらず。どれか特定の版を使えばスンナリ動くのだろうか。しかしググっても、「この版で動いてる」という情報が見つからない…。
とりあえず、プロファイルを選んだ時に表示される文字列の中から、-cpu-used 0 -threads 8 を削除したら出力できるようになった。が、どうしてコレが関係してくるのか、さっぱり分からない…。
◎ ffmpegに渡すオプションについてアレコレ試したり。 :
ググってたら、
_ffmpegでエンコードしたVP9(WebM)動画をブラウザで再生してみる | potproject.net blog
という記事で、ffmpegに渡すオプションの一例が載っていた。FFmpegOUT上でも試しに設定してみたり。
_VP9 Encoding Guide - wiki も参考になりそう。
色々試してみたけど、ビットレートを指定するだけで、とりあえずパッと見はそれほどおかしくない webm を出力してくれるので、それでもいいのかもしれないなと。
-c:a libopus -b:a 64k -c:v libvpx-vp9 -b:v 2M -threads 4 -speed 4 -tile-columns 0 -frame-parallel 0 -auto-alt-ref 1 -lag-in-frames 25 -g 9999 -aq-mode 0これだとエラーが出ない…。
_VP9 Encoding Guide - wiki も参考になりそう。
-c:a libopus -b:a 64k -c:v libvpx-vp9 -b:v 0 -crf 33 -threads 8 -speed 2 -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25これはエラーが出る…。
色々試してみたけど、ビットレートを指定するだけで、とりあえずパッと見はそれほどおかしくない webm を出力してくれるので、それでもいいのかもしれないなと。
-c:a libopus -b:a 64k -c:v libvpx-vp9 -b:v 1Mとりあえず、64k とか 1M とか書いてあるところがビットレートの指定です。
[ ツッコむ ]
以上です。