良い一日。何よりもまず、私は 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]);
しかし、ビデオはまったく表示されませんでした。
あなたがこれで私を啓発してくれることを願っています。ありがとう。