3

3D アプリケーションからビデオを吐き出し、個々のビデオを連結してシーケンスを作成するツールがあります。しかし、サウンドはシーケンスで同期していないように見え (個々のファイルは問題ありません)、VLC と Quicktime で途切れます。驚いたことに、Windows Media Player はそれを処理しているように見えますが、まだ同期が取れていません。私には2つのシナリオがあり、1つは機能し、もう1つは機能しませんが、両方が機能する必要があります:

作業中:
作成済みの動画を取得しています...

aviに変換:
os.system( ffmpeg + " -i C:\clip.mov -sameq -r 24 -y C:\clip.avi")

avi シーケンスへの連結:
os.system( ffmpeg + ''' -i concat: C:\clip.avi|C:\clip1.avi|C:\clip2.avi -sameq -r 24 -y C:\sequence.avi''' )

シーケンスをmovに変換:
os.system( ffmpeg + " -i C:\sequence.avi -sameq -r 24 -y C:\sequence.mov")

動作していません: 3D プログラムから個々の avi を作成します...

正しい長さに切ります:
os.system(ffmpeg + " -i C:\clip.avi -sameq -r 24 -ss " + startTime + " -vframes " + totalFrames + " -y C:\clip.avi" )

avi シーケンスへの連結:
os.system( ffmpeg + ''' -i concat: C:\clip.avi|C:\clip1.avi|C:\clip2.avi -sameq -r 24 -y C:\sequence.avi''' )

シーケンスをmovに変換: os.system( ffmpeg + " -i C:\sequence.avi -sameq -r 24 -y C:\sequence.mov")

個々の avi を mov に変換します。 os.system( ffmpeg + " -i C:\clip.avi-sameq -r 24 -y C:\clip.mov")

どこが間違っているのか教えてください。

4

1 に答える 1

3

切断プロセス中の「-sameq」フラグであることが判明しました。音声がおかしかったので変更しました

os.system(ffmpeg + " -i C:\clip.avi -sameq -r 24 -ss " + startTime + " -vframes " + totalFrames + " -y C:\clip.avi" )

os.system(ffmpeg + " -i C:\clip.avi -sameq -r 24 - acodec pcm_s16le -ss " + startTime + " -vframes " + totalFrames + " -y C:\clip.avi" )

-sameqが使用していた同期していないものではなく、オーディオコーデックとしてpcm_s16leを使用するようにffmpegを強制する...そしてそれを修正しました!

これが他の誰かを助けることを願っています。

于 2011-09-28T14:41:39.313 に答える