FFMPEG-ビデオをタイムラプスに変換する


15

Flash Builderでffmpeg(アクションスクリプト3)を使用して、ビデオをビデオのタイムラプスに変換しています。私はこれを行うためにsetptsを使用する方法を試しましたが、結果の出力ファイルは入力と同じ長さです(時間経過後に表示される最後のフレームのみ)、渡された設定に基づいて期間を変更したいですffmpegに。

私は最初にコマンドラインから以下を試しています:

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4

どんな助けも大歓迎です!

回答:


18

問題が解決しました。私はオーディオを削除していなかったので、おそらくビデオのフルタイムの間、ほとんど空のオーディオファイルを再生していました。

ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -an output.mp4

-an ビデオからオーディオを削除します。


1

オーディオの高速化の詳細については、こちらをご覧ください。最大2倍までできますが、さらに高速化するためにそれをだますことができます(ソース):

オーディオのスピードアップ/スローダウン

atempoオーディオフィルターを使用して、オーディオの速度を調整できます。オーディオの速度を2倍にするには:

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

atempoフィルターは、0.5から2.0の間の値の使用に制限されています(したがって、元の速度の半分以上に減速し、入力の2倍以下に減速できます)。必要な場合は、複数のatempoフィルターをつなげてこの制限を回避できます。次の4倍のオーディオ速度:

ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv

複雑なフィルターグラフを使用すると、ビデオとオーディオを同時に高速化できます。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.