
將較短的音訊添加到視訊中,並循環播放音訊和視訊的音量控制,並且僅在特定的持續時間內進行((我想添加音訊並在兩種情況下保持音訊和視訊的聲音))
我有兩個部分的問題
1) 音訊長度 27 秒 2) 影片長度 2 分 24 秒
a)我想循環播放音頻並將其添加到視頻中(例如,僅添加音頻),從 50 秒到 1 分 30 秒(不是整個視頻,但仍將整個視頻作為輸出)在視頻中循環播放聲音的
b) 在影片中建立一個 50 秒到 1 分 30 秒的影片片段(不是整個影片作為輸出),並帶有循環音訊
我使用ffmpeg 中的以下命令將音頻添加到視頻中,這將其添加到整個視頻中,我們如何i) 僅指定視頻的一部分以具有循環音頻ii) 使用循環音頻在選定的持續時間內創建一個新剪輯
到目前為止,我已經能夠循環播放並更改音訊和視訊的音量,並將它們與以下命令混合以形成整個視頻
"-y","-i",videofile, "-filter_complex",
"amovie=audiofile:loop=1000,asetpts=N/SR/TB,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
"[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=0.5[a2];" +
" [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
"-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-shortest","-preset", "ultrafast", outputfile
在這兩種情況下我都陷入了時間管理的困境
答案1
使用
amovie=audiofile:loop=1000,asetpts=N/SR/TB,atrim=0:40,adelay=50000|50000,apad,aformat=...
修剪保留循環音訊的前 40 秒,延遲將其開始時間更改為 50000 毫秒,即 50 秒。
答案2
this is a code for adding a audio to video with 1) looping audio 2) change volume of both audio and video 3) create a new file of set duration only 4) create a file with original video duration and audio at a certain part of影片
A) 僅適用於設定持續時間的新文件
"-y","-i",j,
"-filter_complex",
"amovie="+audio+":loop=999,asetpts=N/SR/TB," +
"atrim=0:40,adelay=50000|50000,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
"[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=2.0[a2];" +
" [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
"-ss","50", "-t","40","-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-preset", "ultrafast", out
我們要做的就是添加"-ss","50", "-t","40"
b) 對於具有原始視訊長度和視訊特定部分的音訊的文件
"-y","-i",j,
"-filter_complex",
"amovie="+audio+":loop=999,asetpts=N/SR/TB," +
"atrim=0:40,adelay=50000|50000,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
"[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=2.0[a2];" +
" [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
"-ss","50", "-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-preset", "ultrafast", out
我們要做的就是添加"-ss","50"
但不要添加“-t”,”40”`