ffmpeg 音声付きスローモーションビデオ

ffmpeg 音声付きスローモーションビデオ

次のコマンドを使用してスローモーションビデオを作成できます(これは 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

関連情報