这个问题最接近我的问题: Ffmpeg在视频中添加新音频(混合2音频)
我也需要插入来自第二个输入文件的音频但不切断第一个音频流。我需要它们在这个短片段中实际重叠。
<1.aac playing>,<1.aac + 2.aac MIX>,<1.aac playing>
试图申请,-itstimeoffset
但它没有给出预期的效果。虽然它不会在错误方面失败,但问题在于输出。所述命令将为我提供一个文件,其中两个输入以顺序方式组合而没有所需的延迟。例如,我结合1.aac和2.aac。结果将是:<2.aac playing>。<1.aac playing>(它以某种方式交换1和2位,因为 - 我使用的最长的运算符,但这是偏离主题的)。
虽然我需要:<1.aac play>,<1.aac + 2.aac都播放>,<1.aac播放>具有定时功能
此命令ffmpeg -i 1.mpg -i 2.aac -filter_complex "[0:a]atrim=end=13.90,asetpts=PTS-STARTPTS[aud1]; [1:a]atrim=0:1.30,asetpts=PTS-STARTPTS[aud2]; [0:a]atrim=start=13.90,asetpts=PTS-STARTPTS[aud3]; [aud1][aud2][aud3]concat=n=3:v=0:a=1[aout]" -map 0:v -map "[aout]" -c:v copy -c:a libvo_aacenc output.mp4
实现了我需要的TIMING,但它只在插入的时间段内播放声音。虽然我需要他们两个玩。
谢谢你的文章。它不会在错误方面失败,问题在于输出。所述命令将为我提供一个文件,其中两个输入以顺序方式组合而没有所需的延迟。例如,我结合1.aac和2.aac。结果将是:<2.aac playing>。<1.aac playing>(它以某种方式交换1和2位,因为 - 最长的运算符)。虽然我需要:<1.aac play>,<1.aac + 2.aac都播放>,<1.aac播放>具有定时功能。
—
Stey 2015年
@bertieb另一个人推荐这个命令:
—
Stey 2015年
ffmpeg -i 1.aac -i 2.aac -lavfi '[1:0]asetpts=PTS+13.90/TB,[0:0]amix' out.mp3
。我试了但是得到了错误信息:[AVFilterGraph @ 0000000003185e00] No such filter: '[1:0]asetpts=PTS+13.90/TB,[0 :0]amix Error initializing complex filters. Invalid argument
。我正在使用标准的Win静态构建,它要么我没有过滤器来支持他的命令变体,要么它有语法错误。无论如何这一个也没有工作......
啊,问题是文件不应该重叠(如没有淡入淡出的交叉淡化)。可能有助于编辑您的原始问题以包含您的评论中的信息:)
—
bertieb 2015年
ffmpeg
; 如果没有错误但它没有做到预期的,请描述输出。谢谢!