前フリ
とある、拡張子が .ts の動画ファイルがある。
VLC で再生してみると、シークバーを移動するときに、音声は出るが、映像が表示されるのに時間がかかる。(音ズレとは別)
VLC の変換機能で素通ししてみるが、コーデックの設定が違うのか、音声だけのファイルが出力されてしまう。
そこで ffmpeg を直接実行して、 .ts から .mp4 に変換してみた。
コマンド
./ffmpeg.exe -i input.ts -c:v copy -c:a copy output.mp4
筆者は Windows 環境だったが、 それ以外の環境でも概ね同じコマンドと思われる。
コマンドのオプションについて
-
-i
:入力ファイルを指定 -
-c:v copy
:ビデオコーデックを無変換でコピーする -
-c:a copy
:オーディオコーデックを無変換でコピーする
詳細な情報や使用可能な他のオプションについては公式のドキュメントを参照のこと。
https://ffmpeg.org/ffmpeg.html
結果
シークバーを移動しても映像がちゃんと再生される MP4 ファイルができた!