8

オーディオ ファイルを正確に x 秒にしようとしています。

これまでのところatempo、次の計算を行ってフィルターを使用してみました

Audio length / desired length = atempo.

しかし、これは正確ではなく、テンポを手動で微調整して正確に合わせる必要があります。

この作業を行うための他の解決策はありますか? それとも私はこれを間違ってやっていますか?

元のファイルは wav ファイルで、出力は mp3 です

ここにサンプルコマンドがあります

ffmpeg -i input.wav -codec:a libmp3lame -filter:a "atempo=0.9992323" -b:a 320K output.mp3

アップデート。

オーディオの長さを受け取る方法を変更することで、テンポを正しく計算できました。

現在、実際のファイル サイズとサンプル レートを使用して、現在のオーディオの長さを計算しています。

オーディオの長さ = ファイル サイズ / (サンプル レート * 2)

サンプルレートは 16000 Hz のようなものです。ffprob または ffmpeg を使用して取得できます。

編集 - 解決済み

理解した。テンポを間違って計算していました。

Audio length / desired length = atempo

する必要があります

desired length / Audio length = atempo

テンポが実際に何をするかについて、もう少し読む必要がありました。これが誰かに役立つことを願っています。

4

0 に答える 0