ffmpeg 在特定位置将多个 mp3 文件添加到 mp4 视频
ffmpeg add multiple mp3 files to mp4 video at particular position
它可能是 duplicate question
但没有找到任何 helpful answer
。
我有 2 audio files
和 1 mp4 video file
。想在特定时间将 2 audio files
添加到 mp4 video
。
例如:
视频文件:
input.mp4
(2 分钟视频)
音频文件:
音频文件 1:
test_0:01.mp3
(15 秒音频文件)我想在 mp4 视频 中的位置 0:01 插入此文件
音频文件 2:
test_0:20.mp3
(15 秒音频文件)我想在 mp4 视频 中的位置 0:20 插入此文件
我用 offset
尝试了 following
命令
只是在视频文件的0:01位置插入test_0:01.mp3
但是 test_0:20.mp3
没有被插入到 0:020
位置得到 mute
这个文件 no audio
.
ffmpeg -i input.mp4 -itsoffset 01 -i test_0:01.mp3 -itsoffset 20 -i test_0:20.mp3 -c:v copy -map 0:v:0 -map 1:a -map 2:a -c:a aac -b:a 192k output.mp4
任何帮助将不胜感激!
您的命令会在 MP4 文件中创建两个音轨。如果您查看视频播放器,您可以在两个音轨之间进行选择(通常用于选择不同的音频语言)。
为什么
这是因为每个 -map
参数都会创建一个新流。在您的示例中,一个视频有两个音轨。
解决方案
改用音频过滤器 amix
。在同一个过滤器链中也使用过滤器 adelay
延迟以获得最佳结果。
ffmpeg -i input.mp4 -i test_0:01.mp3 -i test_0:20.mp3 -filter_complex "[1:a]adelay=1s:all=1[a1];[2:a]adelay=20s:all=1[a2];[a1][a2]amix=inputs=2[amixout]" -map 0:v:0 -map "[amixout]" -c:v copy -c:a aac -b:a 192k output.mp4
它可能是 duplicate question
但没有找到任何 helpful answer
。
我有 2 audio files
和 1 mp4 video file
。想在特定时间将 2 audio files
添加到 mp4 video
。
例如:
视频文件:
input.mp4
(2 分钟视频)
音频文件:
音频文件 1:
test_0:01.mp3
(15 秒音频文件)我想在 mp4 视频 中的位置 0:01 插入此文件
音频文件 2:
test_0:20.mp3
(15 秒音频文件)我想在 mp4 视频 中的位置 0:20 插入此文件
我用 offset
following
命令
只是在视频文件的0:01位置插入test_0:01.mp3
但是 test_0:20.mp3
没有被插入到 0:020
位置得到 mute
这个文件 no audio
.
ffmpeg -i input.mp4 -itsoffset 01 -i test_0:01.mp3 -itsoffset 20 -i test_0:20.mp3 -c:v copy -map 0:v:0 -map 1:a -map 2:a -c:a aac -b:a 192k output.mp4
任何帮助将不胜感激!
您的命令会在 MP4 文件中创建两个音轨。如果您查看视频播放器,您可以在两个音轨之间进行选择(通常用于选择不同的音频语言)。
为什么
这是因为每个 -map
参数都会创建一个新流。在您的示例中,一个视频有两个音轨。
解决方案
改用音频过滤器 amix
。在同一个过滤器链中也使用过滤器 adelay
延迟以获得最佳结果。
ffmpeg -i input.mp4 -i test_0:01.mp3 -i test_0:20.mp3 -filter_complex "[1:a]adelay=1s:all=1[a1];[2:a]adelay=20s:all=1[a2];[a1][a2]amix=inputs=2[amixout]" -map 0:v:0 -map "[amixout]" -c:v copy -c:a aac -b:a 192k output.mp4