问题

如果消除视频原音后再合并音轨,就可能出现空白音的情况。

主思路

就是把一段音频剪为视频同样长度,然后以这段音频为主来合并

详情

简单地合并音轨是这样的, input.mov+bgm.acc+input.mp3=mix.mp4,长度以 input.mov 里的音轨为准。

ffmpeg -hide_banner -i "input.mov" -i "bgm.aac" -i "input.mp3" -filter_complex "amix=inputs=3:duration=first:dropout_transition=0" -c:v "libx264" -c:a "aac" -y "mix.mp4"

这样合并出来的声音是正常的,如果 input.mp3很短也不要紧

如果input.mov没有音轨,那么就会出错,这时候就需要把一段音频剪为与视频一样长,使用ffprobe查出视频长度,假设是10s,再用ffmpeg剪出这段音频

ffmpeg -hide_banner -i "bgm.aac" -ss 00:00:00 -t 00:00:10 -c:a "aac" -y bgm_cut.aac

剪完后,合并音轨的命令要改一下, [1:a][2:a] 的意思就是找第2,3个输入文件中的音轨。

ffmpeg -hide_banner -i "input.mov" -i "bgm_cut.aac" -i "input.mp3" -filter_complex "[1:a][2:a]amix=inputs=2:duration=first:dropout_transition=0" -c:v "libx264" -c:a "aac" -y "mix.mp4"

还有一种办法就是把音轨先合并起来,这种思路适合中间检查结果

ffmpeg -hide_banner -i "bgm_cut.aac" -i "input.mp3" -filter_complex "amix=inputs=2:duration=first:dropout_transition=0" -c:a "aac" -y "out.aac" 2>&1

然后再把视频和音频合并起来, -map 0:0 -map 1:0 其实就是选择第一个视频轨 0:0代表第一个输入文件的0轨 ,第二个音频轨 1:0 代表第二个输入文件的0轨

ffmpeg -hide_banner -i "input.mov" -i "out.aac" -map 0:0 -map 1:0 -c:v "libx264" -c:a "aac" -y "out.mp4"

总结

音轨长度比较重要,如果要保留原视频的音轨,那就把原视频的音轨先取出来,然后以这个长度为准肯定没错了。先合并音轨的思路比较适合检查中间结果,可以反复调整音轨,然后一次合并成功

参考

音频选项 ffmpeg Documentation

声道 AudioChannelManipulation – FFmpeg

ffmpeg 合并多音轨的问题相关推荐

  1. 使用ffmpeg合并视频文件的三种方法

    ffmpeg合并视频的方法有三种.国内大多数仅介绍了其中之一.于是觉得有必要翻译一下.其实在ffmpeg的 FAQ文档中有比较详细的说明. 使用concat协议进行视频文件的合并 这种方式的适用场景是 ...

  2. Python批量下载ts视频文件,并用ffmpeg合并

    目录 一.ts文件的由来 二.下载ts文件 1.下载index.m3u8,并做相应处理 2.下载ts文件 三.ffmpeg合并ts文件 一.ts文件的由来 ts文件,ts即"Transpor ...

  3. ffmpeg 合并转换文件_使用FFmpeg转换媒体文件的快速指南

    ffmpeg 合并转换文件 有许多开源工具可用于编辑,调整和将多媒体准确地转换为您所需的内容. 诸如Audacity或Handbrake之类的工具非常出色,但有时您只想快速将文件从一种格式更改为另一种 ...

  4. 使用FFmpeg合并MP4视频

    使用FFmpeg合并MP4视频 1. 使用mpeg拼接 2. ==使用ts拼接== 使用FFmpeg合并MP4视频 windows/linux下均可用 1. 使用mpeg拼接 速度慢,文件大 将 mp ...

  5. ffmpeg合并(复用)音频和视频文件,组成mp4

    ffmpeg合并(复用)音频和视频文件,组成mp4.程序如下: /* 合并音频和视频,形成音视频 */extern "C" { #include "libavutil/a ...

  6. python中使用ffmpeg合并音频与视频_ffmpeg 在windows 下的安装和使用(python, 合并音频和视频)...

    参考: windows下ffmpeg的安装与python调用   https://blog.csdn.net/chunjiekid/article/details/88205824 1. 下载 ffm ...

  7. ffmpeg合并视频文件

    ffmpeg合并视频文件 创建列表文件filelist.txt,将需要合并的文件按顺序加入,内容如下所示: ffconcat version 1.0 file path/test_1.mp4 file ...

  8. ffmpeg合并文件报错Unsafe file name Operation not permitted

    ffmpeg合并文件报错 Unsafe file name '/data/hk_sdk/demo/aaa.mp4' /data/hk_sdk/demo/test.txt: Operation not ...

  9. FFmpeg 合并了对 JPEG-XL 图像格式的支持

    导读 被广泛使用的多媒体开源库 FFmpeg 合并了对 JPEG-XL 图像格式的支持. 从 commit 记录可以看到,上周六合并的 PR 是对 JPEG-XL 图像编解码器的支持.FFmpeg 正 ...

最新文章

  1. Java方向如何准备BAT技术面试答案
  2. C#正则表达式:移除文本中所有方括号和其中的内容
  3. JRBeanCollectionDataSource cannot be resolved to a type 的原因
  4. 谷歌联手马斯克,低延迟星链云计算下半年可用
  5. oracle分页查询数据(收藏)
  6. 我的世界java版导入地图_网易我的世界备份与导入地图
  7. 游戏中的物理与数学(一):物体运动算法的实现
  8. 2016第七届蓝桥杯省赛C/C++ B组试题解析整理
  9. How do I enable core dumps for everybody
  10. cassandra学习笔记二
  11. linux 活动主分区,主引导扇区(MBR),分区表(DPT)及活动分区(DBR) | 技术部落
  12. Ink脚本语言学习笔记(一)
  13. iptables中DNAT、SNAT和MASQUERADE的理解及限速syn
  14. SRB x-sign
  15. linux脚本 取日期格式,PowerShell中使用Get-Date获取日期时间并格式化输出的例子
  16. 谷歌发现育碧uPlay安全漏洞
  17. 【强大的PDF格式转换工具】Lighten PDF Converter OCR for Mac 6.2.0
  18. 沉睡者 - 微信内测一个手机可注册2微信号
  19. 帆软中的日期函数,当月第一天,当年第一天,当月最后一天等
  20. android chrome html,在桌面chrome中调试android设备中的web页面

热门文章

  1. 中国汽车协会:我国整车出口数量达到43.8万辆,同比增长92.8%
  2. 改装LogitechK120为背光键盘
  3. 米歇尔•奥巴马之美国
  4. comparable接口,arrayList中对象排序
  5. 骨传导蓝牙耳机怎么样、性价比最高的骨传导耳机排行
  6. 纽蒙特宣布附条件特别股息
  7. 火车票预订的一些问题
  8. 紫光同创国产FPGA学习之编程软件使用
  9. 【贪心算法】舞蹈室安排
  10. Cybex在日本:去中心化交易所5大核心功能解决安全问题