3

良い一日。何よりもまず、私は FFMPEG のビデオ フィルターに関して初心者です。ですから、ご容赦ください:) よろしくお願いします..

とにかく、デルファイ プロジェクトに埋め込まれて再生されるビデオ クリップの速度を落とそうとしています。これまでのところ、setpts フィルターを使用すると、ビデオの速度を遅くすることができます。ここに私の部分的なコードがあります:

FFPlayer.VideoFilters := Format('setpts=(1/' + FloatToStr(FSpeed) + ')*PTS, nativeeq=%d:%d:%d:%d, nativehue=%d:%d:%d:%d',
  [0, 0, 0, 0, 0, 0, 0, 0]);

ここで、FSpeedは 0.5 ~ 2.5 の範囲で変化する値です。このコードを使用すると、ビデオ キャプチャは速くなったり遅くなったりしますが、オーディオはそうではありません。そのため、オーディオを遅くするコードを探していたときに、ビデオ キャプチャとオーディオをスピードアップまたはスローダウンするためのフィルタ コードを提供するこのリンクに出会いました。そこの行には、オーディオとビデオのキャプチャを同時に遅くするフィルター コードは次のように記載されています。

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv

部分的なコードに「atempo = 2.0」を追加してみました:

FFPlayer.VideoFilters := Format('setpts=(1/' + FloatToStr(FSpeed) + ')*PTS, atempo=2.0, nativeeq=%d:%d:%d:%d, nativehue=%d:%d:%d:%d',
  [0, 0, 0, 0, 0, 0, 0, 0]);

しかし、ビデオはまったく表示されませんでした。

あなたがこれで私を啓発してくれることを願っています。ありがとう。

4

1 に答える 1

2

あなたがそこで何をしたのかよくわかりませんが、これは私にとってはうまくいきました:

ffmpeg -i VID_20150216_185018.mp4 -filter_complex setpts=4*PTS;atempo=0.5,atempo=0.5 output.mp4

atempo フィルターの詳細については、ドキュメントを参照してください。

于 2015-03-08T02:44:42.863 に答える