2016-05-27 15 views
0

私は5つのオーディオセグメントを指定していますが、それぞれのセグメントを特定のボリュームに設定したいのですが、セグメントを連結して前のボリュームから次のボリュームまでフェードしたいと思っています。FFmpegオーディオを音量に換算する

afadeを参照してください。単純にフェードイン/フェードするフィルタです。私はacrossfadeを参照してください。これは、音声が再生されるビデオがクロスフェードされないことを除いて、より望ましい可能性があります。

これはaevalのようなもので行うことができますか、そこに良いアイデアがあるのだろうかと思います。

たぶん誰かがこのフィルタ機能を説明したり、構文について学ぶことができます。

Fade volume after time 10 with an annihilation period of 5 seconds: 
volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame 
+0

'acrossfade'を使うことができます。ビデオは消えません。 – Mulvya

+0

オーディオの同期が外れる –

+0

ストリーム全体を使用している場合は、どちらの方法を使用するかによって異なります。そうでない場合は、オーディオのトリムをクロスフェードの半分まで延長する必要があります。 – Mulvya

答えて

0

私はafadeを使用して、ちょうどそれがフェードアウトするのにかかる時間を計算することにより、フェードの開始時間を操作することができます実現リニアスケールで次のボリュームに移動します。

だから、15秒のビデオの50%のボリュームにフェードし、私はオーディオの左に1秒と2秒の線形フェードを開始し、その50%でそれを残す意味

afade=t=out:st=14:d=2 

ような何かをするだろうボリューム仕上げ。

+0

フェードインは負の開始時間を受け入れますか? – Mulvya

+0

負の開始時間が機能しているように見えます。 –

関連する問題