如何使音频从视频中的指定点开始并持续指定的时间量
How make audio to start from the specified point in the video and last specified amount of time
假设我有名为 "samplevideo"
的示例视频和名为 "sampleaudio"
的示例音频。我想用从 5 秒到 12 秒的 sampleaudio 替换 samplevideo 的音频。直到 5 秒标记视频音频不会改变,然后 sampleaudio 开始并持续 7 秒。
我试图想出解决这个问题的 ffmpeg 命令:
ffmpeg -i samplevideo.mp4 -i sampleaudio.aac -ss 20 -map 0:v -map 1:a -c:v copy output.mp4
问题:
它从 20 秒时间标记开始剪切视频。我想要的是保留视频和原始音频流,直到它达到所需的时间标记,然后使用 sampleaudio 直到所需的结束时间。
如有任何帮助,我将不胜感激。
来自 problem research,正在查看:
https://superuser.com/questions/708125/add-audio-at-specific-time-in-video-using-ffmpeg
你可以试试:
ffmpeg -i samplevideo.mp4 -itsoffset 00:00:20 -i sampleaudio.aac -map 0:v -map 1:a -c:v copy -async 1 output.mp4
如果还是不行,再看看研究结果中的其他建议。
您需要使用filtergraph拼接音频。试试这个:
ffmpeg -i samplevideo.mp4 -i sampleaudio.aac \
-filter_complex "[1:a]asendcmd='5.0 astreamselect map 1;\
12.0 astreamselect map 0',\
[0:a]astreamselect=inputs=2:map=0[aout]"
-map 0:v -map [aout] -c:v copy output.mp4
只需使用带有选择性静音的 amix。
ffmpeg -i samplevideo.mp4 -i sampleaudio.aac \
-filter_complex "[0:a]volume=0:enable=between(t\,5\,12)[a0];\
[1:a]atrim=0:7,adelay=5s:all=1[a1];\
[a0][a1]amix=normalize=0:duration=first[aout]"
-map 0:v -map [aout] -c:v copy output.mp4
使用 ffmpeg 5.0
假设我有名为 "samplevideo"
的示例视频和名为 "sampleaudio"
的示例音频。我想用从 5 秒到 12 秒的 sampleaudio 替换 samplevideo 的音频。直到 5 秒标记视频音频不会改变,然后 sampleaudio 开始并持续 7 秒。
我试图想出解决这个问题的 ffmpeg 命令:
ffmpeg -i samplevideo.mp4 -i sampleaudio.aac -ss 20 -map 0:v -map 1:a -c:v copy output.mp4
问题:
它从 20 秒时间标记开始剪切视频。我想要的是保留视频和原始音频流,直到它达到所需的时间标记,然后使用 sampleaudio 直到所需的结束时间。
如有任何帮助,我将不胜感激。
来自 problem research,正在查看:
https://superuser.com/questions/708125/add-audio-at-specific-time-in-video-using-ffmpeg
你可以试试:
ffmpeg -i samplevideo.mp4 -itsoffset 00:00:20 -i sampleaudio.aac -map 0:v -map 1:a -c:v copy -async 1 output.mp4
如果还是不行,再看看研究结果中的其他建议。
您需要使用filtergraph拼接音频。试试这个:
ffmpeg -i samplevideo.mp4 -i sampleaudio.aac \
-filter_complex "[1:a]asendcmd='5.0 astreamselect map 1;\
12.0 astreamselect map 0',\
[0:a]astreamselect=inputs=2:map=0[aout]"
-map 0:v -map [aout] -c:v copy output.mp4
只需使用带有选择性静音的 amix。
ffmpeg -i samplevideo.mp4 -i sampleaudio.aac \
-filter_complex "[0:a]volume=0:enable=between(t\,5\,12)[a0];\
[1:a]atrim=0:7,adelay=5s:all=1[a1];\
[a0][a1]amix=normalize=0:duration=first[aout]"
-map 0:v -map [aout] -c:v copy output.mp4
使用 ffmpeg 5.0