Windows で ffmpeg を使って コマンドライン で mkv ファイルを mp4 ファイルに変換する
ダウンロードする
https://ffmpeg.org/からWindows版のffmpegをダウンロードする。
いまいちわかりにくいが、まずはWindowsマークにカーソルを合わせる。
すると下のリンクが変わるので、任意のをクリックする。
おそらくどれでもよいが、ここでは、Windows builds from gyan.devを選択したものとする。
んで、わかりにくいけど、release builds を探して、 ffmpeg-release-essentials.zip をダウンロードする。
(fullでも当然よいが、コマンドラインで変換するのにfullは必要ない)
で、zipを解凍して、中にあるffmpeg.exeを取り出しておく。
(環境変数でパスの指定をしてもよいし、実行するディレクトリに置くなり、どっちでもいい。単体で動くので)
変換する
コマンドプロンプトで、
.\ffmpeg.exe -i input.mkv -pix_fmt yuv420p output.mp4
とすると、mkvからmp4に変換される。
変換するフォーマットを拡張子から自動判別してくれるみたい。えらい!
ただ、理由はわからんが、
-pix_fmt yuv420p
をつけないと、Windowsのデフォルトの「フォト」アプリで再生できなかった。
VLC media player や Chrome ブラウザでは再生できたので意味はわからんがつけといたほうがいいんだろう。
GPU を使う
NvidiaのGPUを積んでいたら、以下のオプションをつければGPUを使って変換してくれるようになる。
-c:v h264_nvenc
具体的には以下のように、
.\ffmpeg.exe -i input.mkv -c:v h264_nvenc -pix_fmt yuv420p output.mp4
10倍ぐらい速なった!
以上!