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

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

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

3. 解决:

3.1 查看各文件属性

# 查看amr转为mp3文件的属性:ffprobe 文件名;
ffprobe amr2mp3.mp3
  • 命令格式及参数格式说明
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,将两个文件属性保持一致
ffmpeg -i ./20240201112239.amr -ar 48000 -ac 2 -ab 64k -f mp3 -acodec libmp3lame -y ./20240201112239.mp3
  1. 合成MP3
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即可
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音频编码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/364789.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络空间测绘在安全领域的应用(上)

近年来&#xff0c;网络空间测绘已经跻身为网络通信技术、网络空间安全、地理学等多学科融合的前沿领域。 该领域聚焦于构建网络空间信息的“全息地图”&#xff0c;致力于建立面向全球网络的实时观测、准确采样、映射和预测的强大基础设施。 通过采用网络探测、数据采集、信…

少儿编程 中国电子学会图形化编程2022年6月等级考试Scratch三级真题解析(选择题、判断题)

1.点击绿旗&#xff0c;舞台上的角色会说出&#xff1f; A&#xff1a;2022年5月1日 B&#xff1a;1日5月2022年 C&#xff1a;2022年05月01日 D&#xff1a;05月01日2022年 2.观察规律&#xff0c;请问橙色方块应填写的数字是&#xff1f; A&#xff1a;4 B&#xff1a;5…

spring-data-redis自定义实现看门狗机制

文章目录 前言redission分布式锁看门狗机制简单流程图 spring-data-redis实现看门狗机制指南开始引入依赖配置redis连接以及基础配置实现redis分布式锁工具类直接失败和锁重试机制实现 效果图展示 前言 项目中使用redis分布式锁解决了点赞和楼层排序得问题&#xff0c;所以这里…

Java的Mysql使用

Java的Mysql使用 说明 通过Java的方式连接Mysql中的数据库&#xff0c;并对数据库中的数据进行增加 查询操作 ​ 使用Mysql所提供的第三方库中的类(Mysql的API) 对其进行操作 ​ 将Mysql Jar包添加到lib目录后&#xff0c;就可以使用其中的类对其Mysql数据库进行操作 Mysq…

语义分割:从早期探索到深度学习的突破

语义分割&#xff1a;从早期探索到深度学习的突破 语义分割的端倪&#xff1a;从早期探索到深度学习的突破引言早期技术&#xff1a;图像处理与模式识别边缘检测区域生长图割(Graph Cut)聚类方法 深度学习的兴起&#xff1a;CNN革命2012年 AlexNet的突破全卷积网络&#xff08;…

网络编程之ip地址

目录 1、概念&#xff1a; 2、所属的tcp/ip协议的层 3、IP地址查询 &#xff08;1&#xff09;Linux &#xff08;2&#xff09;windows 4、IP地址结构组成及分类 &#xff08;1&#xff09;组成&#xff08;网络位主机位&#xff09; &#xff08;2&#xff09;分类 1、…

文心一言 VS 讯飞星火 VS chatgpt (192)-- 算法导论14.2 2题

二、用go语言&#xff0c;能否在不影响红黑树任何操作的渐近性能的前提下&#xff0c;将结点的黑高作为树中结点的一个属性来维护&#xff1f;说明如何做&#xff0c;如果不能&#xff0c;请说明理由。如何维护结点的深度&#xff1f; 文心一言&#xff1a; 在Go语言中&#…

Oracle闪回日志管理(flashbackup log)

Oracle闪回日志管理&#xff08;flashbackup log&#xff09; 1.开启闪回日志 shutdown immediate startup mount; alter database archivelog; alter database flashback on; alter database open; 2、查看闪回日志保留期限 show parameter flash 默认是1440分钟&#xff0c…

宋仕强论道之华强北蓝牙耳机(三十七)

华强北最近几年最火爆的产品就是TWS蓝牙耳机了&#xff0c;蓝牙耳机是指通过蓝牙无线技术连接智能手机等设备&#xff0c;实现无线通讯的一种设备。因为苹果蓝牙应用技术的突破&#xff0c;而呈现爆发之势&#xff0c;目前蓝牙耳机的市场存量是非常之大&#xff0c;全世界智能手…

gitlab ci cd 不完全指南

gitlab 可能大家很常用&#xff0c;CI、CD 也应该早有耳闻&#xff0c;但是可能还没有去真正地了解过&#xff0c;这篇文章就是我对 gitlab CI、CD 的一些理解&#xff0c;以及踩过的一些坑&#xff0c;希望能帮助到大家。 什么是 CI、CD CI&#xff08;Continuous Integrati…

【计算机毕业设计】063德云社票务系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

情人节最全送礼指南!实用性强礼物推荐

眼看七夕节就要到了&#xff0c;如果还没有想到要送什么礼物给对象的&#xff0c;抓紧来看小编总结的这几款实用性比较强的礼物&#xff0c;送礼一下子就送到了心坎上了&#xff0c;少整点一些花里胡哨的礼物&#xff0c;多送点实用性比较强的&#xff01;下面给大家整理了一份…

FW如何区别 PAW3212DB-TJDT 和 PAW3220DB-TJDL/TJDR/TJDS

PAW3212DB-TJDT 和 PAW3220DB-TJDL/TJDR/TJDS 的引脚功能定义是一样的&#xff0c;只是封装有一点不一样。PAW3212DB-TJDT是圆形火山口&#xff0c;配的是圆孔透镜&#xff0c;PAW3220DB-TJDL/TJDR/TJDS是方形火山口&#xff0c;配的是方孔透镜。 PAW3212DB-TJDT 和 PAW3220DB-…

Gaussian_Splatting 项目脚本指令

准备好一个稀疏重建的目录&#xff08;如Colmap的sparse文件&#xff09;&#xff0c;高斯泼溅需要稀疏重建的点云结果来作为输入&#xff0c;进行进一步训练和渲染。 可以参考&#xff1a;gaussian-splatting原理 有一点需要注意&#xff1a;Gaussian_Splatting 需要稀疏重建…

Flask框架开发学习笔记《5》简易服务器代码

Flask框架开发学习笔记《5》 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。 简易服务器代码 接口解析那一块很关键&#xff0c;学后端服务器这一块&#xff0c;感觉主要就是学习相应地址的接口怎么处理。 然后写清楚每个地址…

深度揭秘:代理IP的工作原理及其在网络安全中的关键角色

代理IP的工作原理及其在网络安全中的关键角色是一个相对复杂但非常重要的主题。以下是对这一内容的深度揭秘&#xff1a; 代理IP的工作原理 1. 请求转发 当一个客户端&#xff08;如浏览器或爬虫程序&#xff09;使用代理IP时&#xff0c;它不是直接与目标网站通信&#xff0c…

SpringBoot使用Rabbit详解含完整代码

1. 摘要 本文将详细介绍如何在Spring Boot应用程序中集成和使用RabbitMQ消息队列。RabbitMQ是一个开源的消息代理和队列服务器&#xff0c;用于通过轻量级和可靠的消息在应用程序或系统之间进行异步通信。本文将通过步骤说明、代码示例和详细注释&#xff0c;指导读者在Spring…

有趣的css - 动态的毛玻璃背景

页面效果 此效果主要使用 backdrop-filter 属性&#xff0c;以及配合 animation 属性来实现毛玻璃模糊和一些动效。 此效果可适用于登录窗口&#xff0c;网站背景或者一些卡片列表中&#xff0c;使网页更具科技感和空间感。 核心代码部分&#xff0c;简要说明了写法思路&#x…

四大组件 - ContentProvider

参考&#xff1a;Android 这 13 道 ContentProvider 面试题&#xff0c;你都会了吗&#xff1f; 参考&#xff1a;《Android 开发艺术探索》 第 9.5 节&#xff08;ContentProvider 的工作过程&#xff09; 参考&#xff1a;内容提供者程序 参考&#xff1a;<provider>&g…

Maya------显示隐藏提取复制刺破面

alth<--->ctrlshifth 补洞后刺破面&#xff0c;防止多边面的产生&#xff01;