ffmpeg合成mp3音频,解决音频属性不一致问题

1. 需求,amr转成mp3,再将此mp3和其他mp3合成

2. 问题:拼接后的第一段音频可以播放,第二段自动跳过,无法播放。

3. 解决:

3.1 查看各文件属性

shell 复制代码
# 查看amr转为mp3文件的属性:ffprobe 文件名;
ffprobe amr2mp3.mp3
  • 命令格式及参数格式说明
shell 复制代码
ffprobe [OPTION] file
常用参数说明:
  • -show_format 显示输入多媒体流的容器格式信息
  • -show_streams 显示输入多媒体流中每一个流的信息
  • -show_packets 显示每个packet
  • -show_frames 显示每个帧
  • -i input_file 指定输入文件
  • -print_format json json 形式输出
  • -of 或者 -print_format default/compact/csv/flat/ini/json/xml
通过 > tests.log 可以将结果输出到指定的文件中。
  1. amr2mp3.MP3输出为
  1. 原本就是mp3的输出为:

    对比可发现Hz不一致

3.2 解决

  1. 将amr转mp3是设置Hz和bitrate,将两个文件属性保持一致
shell 复制代码
ffmpeg -i ./20240201112239.amr -ar 48000 -ac 2 -ab 64k -f mp3 -acodec libmp3lame -y ./20240201112239.mp3
  1. 合成MP3
shell 复制代码
ffmpeg -i "concat:20240201112239.mp3|20240201112247.mp3" -acodec copy output3.mp3
  1. ffmpeg对以上参数介绍

    复制代码
       -i代表输入参数
       
       -acodec aac(音频编码用AAC) 
       
       -ar 设置音频采样频率
    
       -ac  设置音频通道数
    
       -ab 设定声音比特率
    
       -vol <百分比> 设定音量

3.3 网页打开合成视频不能观看第二段音频问题

  1. 因为声道数不一样导致
  2. 通过ffprobe -show_frames 20240201112247.mp3查看通道数
  3. arm转mp3时将通道数ac设置为1即可
shell 复制代码
ffmpeg -i ./20240201112239.amr -ar 48000 -ac 1 -ab 64k -f mp3 -acodec libmp3lame -y 

4. 参考文档

  1. 中文官网:https://ffmpeg.p2hp.com/ffmpeg.html#Audio-Options
  2. ffprobe 查看媒体信息
  3. 使用ffmpeg拼接两端音频第二段自动跳过无法播放的问题解决方案
  4. FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe
  5. 【ffmpeg基础】ffmpeg音频编码
相关推荐
悟纤1 天前
Seedance 2.0 API 已上线 | 支持「人像视频生成」|支持100并发 | 满血版 [灵龙AI API]
人工智能·音视频·seedance 2.0
这儿有一堆花1 天前
深入解析 Video.js:现代 Web 视频播放的工程实践
前端·javascript·音视频
人工智能研究所1 天前
Claude + HyperFrames:用 HTML 方式制作视频,AI 时代一切皆可 HTML?
人工智能·html·音视频·ai 视频·hyperframes·claude-
小驴程序源1 天前
TS 分片合并完整教程
python·ffmpeg
zzh9201 天前
基于51单片机的流水灯Proteus仿真按键切换 上到下下到上 2个灯(可定做)(免费代码+视频讲解)
51单片机·proteus·音视频
Shang180989357261 天前
T31ZX 君正/INGENIC智能视频处理器T31ZX可提供软硬件资料T31Z采用先进的低功耗设计
嵌入式硬件·fpga开发·音视频·t31zx智能视频处理器
音视频牛哥1 天前
纯血鸿蒙(HarmonyOS NEXT)下,如何实现低延迟RTSP、RTMP播放器音视频解码?
华为·音视频·harmonyos·鸿蒙rtmp播放器·鸿蒙rtsp播放器·harmonyos rtsp·鸿蒙next播放器
@hhr1 天前
使用java对接火山方舟doubao-seedance-1.5-pro 模型进行视频生成
java·python·音视频
轻口味1 天前
HarmonyOS 6 轻相机应用开发2:贴纸效果实现
音视频·harmonyos·鸿蒙·播放器
2601_949593652 天前
Flutter OpenHarmony 三方库 video_player 视频播放器适配详解
flutter·音视频