假设我有名为"samplevideo"的示例视频和名为"sampleaudio"的示例音频。我想用从5秒到12秒的采样音频替换samplevideo的音频。直到5秒标记视频音频不会改变,然后采样音频开始并持续7秒。
我尝试使用ffmpeg命令来解决这个问题:
ffmpeg -i samplevideo.mp4 -i sampleaudio.aac -ss 20 -map 0:v -map 1:a -c:v copy output.mp4问题:
它从20秒时间开始切割视频。我想要的是持久化的视频和原始音频流,直到它达到预期的时间标记,然后使用采样音频,直到期望的结束时间。
我很感谢你的帮助。
发布于 2022-04-04 07:55:31
只需有选择性的静音使用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
发布于 2022-04-03 17:34:45
来自问题研究,查看:
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如果仍然不起作用,那么检查其他的建议,从研究结果。
发布于 2022-04-03 18:22:51
你需要用过滤器连接音频。试试这个:
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.mp4https://stackoverflow.com/questions/71727741
复制相似问题