
次のコマンドを使用してスローモーションビデオを作成できます(これは ffmpeg で特定の時間間隔でスローモーション効果を使用する方法):
ffmpeg -i input.mkv -filter_complex \
"[0:v]trim=0:10,setpts=PTS-STARTPTS[v1]; \
[0:v]trim=10:30,setpts=PTS-STARTPTS[v2]; \
[0:v]trim=start=30,setpts=PTS-STARTPTS[v3]; \
[v2]setpts=PTS/0.5[slowv]; \
[v1][slowv][v3]concat=n=3:v=1:a=0[out]" \
-map [out] output.mp4
しかし、私はオーディオにも同じ効果を持たせたいのです。例えば、10-30秒にはスローモーション オーディオが使用され、それ以外のすべてのオーディオ部分は通常の速度になります。
また、上記のコマンドはビデオの長さを増やしますが、実際のビデオの長さまで短縮する方法はありますか?
誰かこれをどうやってやるか教えてくれませんか?
答え1
動画を遅くすることはできないそして元の長さを維持します。そのためには一部を切り取る必要があります。
オーディオの速度を遅くするには、次のようにします
ffmpeg -i input.mkv -filter_complex \
"[0:v]trim=0:10,setpts=PTS-STARTPTS[v1]; \
[0:v]trim=10:30,setpts=(PTS-STARTPTS)*2[v2]; \
[0:v]trim=start=30,setpts=PTS-STARTPTS[v3]; \
[0:a]atrim=0:10,asetpts=PTS-STARTPTS[a1]; \
[0:a]atrim=10:30,asetpts=PTS-STARTPTS,atempo=0.5[a2]; \
[0:a]atrim=start=30,asetpts=PTS-STARTPTS[a3]; \
[v1][a1][v2][a2][v3][a3]concat=n=3:v=1:a=1[v][a]" \
-map [v] -map [a] output.mp4