1

.AMR オーディオと共に .PNG 入力をループすることで、一連のビデオを生成します。

ffmpeg -loop 1 -i slide001.png -i slide001.amr -vcodec rawvideo -acodec pcm_s16le -t 5 slide001.avi

最終的に、Mencoder を使用して .AVI に参加します。FFmpeg でそれらに参加しようとしても、あまり成功していません。

.AMR の実際の持続時間は、たとえば指定した 5 秒よりも短いため、.AVI に参加する時間になると、オーディオ ストリームが (ビデオより先に) 同期しなくなります。

結合する前に、.AVI 内のオーディオ ストリームとビデオ ストリームが同じ長さになるように、オーディオを無音でパディングするか、その期間を何らかの方法で指定する方法を見つける必要があると思います。

何か案は?

ありがとう。

4

1 に答える 1

1

ffmpeg に加えて SoX オーディオ プロセッサを使用して、これを解決することになりました: http://sox.sourceforge.net/Main/HomePage

私が使用するコマンドは

sox slide001.wav slide001padded.wav pad 0 3

上記は、オーディオの最後に 3 秒の無音を追加します。ffmpeg の "-t 5" デュレーション コマンドがビデオの作成に適用されると、ビデオとオーディオ ストリームが同じ長さになるように、余分な無音部分がトリミングされます。

これは、オーディオがビデオよりも短い場合にのみ機能します。オーディオの長さがビデオの長さと同じかそれ以上になるように、十分な無音を追加する必要があります。

于 2012-02-02T09:04:58.077 に答える