0

FFMPEG を使用してビデオを変換します。私の目標は、 AACでエンコードされたオーディオ ストリームとMPEG-4 part 10でエンコードされたビデオ ストリームを使用して、それらを MP4 コンテナー形式 ( MPEG-4 Part 14 )に変換することです。

次の行を使用してビデオを変換します。

ffmpeg -y -i "{inputFile}" "{outputFile}"

変換されたビデオは問題ないように見えますが、変換されたファイルと入力ファイルのストリームの長さが常に一致するとは限りません。

私はいくつかの実験を行いましたが、持続時間の違いは間違いなくありますが、それほど大きくはありません.とにかく、小さなビデオでテストしています. ここに私の結果があります:

| InputFile  | InputAudio | InputVideo | OutputAudio | OutputVideo  |
|------------|------------|------------|-------------|--------------|
| h.avi      | 3s 631ms   | 3s 567ms   | 3s 668ms    | 3s 567ms     |
| h.flv      | 3s 631ms   | 3s 558ms   | 3s 668ms    | 3s 567ms     |
| h.mov      | 3s 532ms   | 3s 533ms   | 3s 682ms    | 3s 534ms     |
| h.mp4      | 3s 605ms   | 3s 534ms   | 3s 682ms    | 3s 567ms     |
| h.mpg      | 3s 605ms   | 3s 533ms   | 3s 563ms    | 3s 534ms     |
| h.wmv      | 3s 620ms   | 3s 633ms   | 3s 659ms    | 3s 567ms     |

私はFFMPEGの上にソフトウェアを構築するので、この違いの理由が少しでも理解できれば幸いです。不要なトランスコーディングが原因ですか?

この場合、このトランスコーディングをオフにして、FFMPEG が入力ビデオ ファイルをリサンプリングしないようにすることはできますか?

オフにできない場合、この違いがビデオのサイズに比例していないことを (テスト以外に) どうすれば確認できますか?

たとえば、10 時間のビデオを変換する場合、数秒または数分の差は私には適していません。

4

0 に答える 0