linux下ffmpeg安装

1.下载安装MP3编码库
因为FFmpeg默认只支持mp3的解码,不支持mp3编码。如果想把提取出来的音频保存为mp3格式肯定就需要mp3格式的编码库。因此,想输出mp3文件,需要借助第三方的mp3编码库。这里采用LAME编码库,即Lame Aint an MP3 Encoder(A high quality MP3 encoder). LAME库可以从http://lame.sourceforge.net/下载到。我这里下载的时候选择的版本是3.98,文件名为lame-398.tar.gz,大约1M多。具体版本的选择参考后面编译ffmpeg时候的提示。访下载可能需要翻墙,我上传到CSDN了,可以在这里找到http://download.csdn.net/detail/gobitan/9397485。
 

tar zxvf lame-398.tar.gz
cd lame-398
./configure
make && make instal

2.下载安装FFmpegl

FFmpeg的安装包可以从FFmpeg下载
安装:开启mp3编码库

./configure --enable-shared --enable-libmp3lame --prefix=/usr/local/ffmpeg
make && make install

编译FFMPEG时,出现了 ffmpeg yasm not found, use –disable-yasm for a crippled build,是因为 FFMPEG为了提高编译速度,使用了汇编指令,如果系统中没有yasm指令的话,就会出现上述的问题。
解决办法是:
A 如果是Windows系统, 从网上下载一个 yasm.exe 并安装在mingw/bin下面,重新编译,就不会出现该错误了;
B 如果是Linux系统,则更简单,直接在终端输入 sudo apt-get install yasm (centos 输入sudo yum install yasm),安装好后,重新编译就 OK了
测试:
 

/usr/local/ffmpeg/bin/ffmpeg

这时候出现ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory的错误.(部分高版本缺少的是libavdevice.so.54)

我们尝试在系统中找到这个库:
 

find / -name "libavdevice.so.56"
echo '/usr/local/ffmpeg/lib/libavdevice.so.56' >> /etc/ld.so.conf
ldconfig

3.一些命令
1).音频合并(两个音频会重叠)

ffmpeg -i first.mp3 -i second.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 third.mp3

2).音频拼接

二个

/usr/local/ffmpeg/bin/ffmpeg -i d1.mp3 -i d2.mp3 -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] j5.mp3

三个

/usr/local/ffmpeg/bin/ffmpeg -i 片头.wav -i 内容.WAV -i 片尾.wav -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]' -map [a] 合成.wav

3).转pcm格式

ffmpeg -i dd1.mp3 -f s16le -acodec pcm_s16le -b:a 16 -ar 8000 -ac 1 p1.raw

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于水循环算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于水循环算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于水循环算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.水循环算法4.实验参数设定5.算法结果6.参考文献7.…

Oracle把多行查询结果合并为一行

SELECT zjxm FROM pb_zjzcy,Oracle数据库,把zjxm合并到一个字段 在Oracle数据库中,你可以使用LISTAGG函数将多个行中的zjxm字段合并到一个字段中。以下是一个示例查询: SELECT LISTAGG(zjxm, ,) WITHIN GROUP (ORDER BY zjxm) A…

安卓apk抓包

起因 手机(模拟器)有时候抓不到apk的包,需要借助Postern设置一个代理,把模拟器的流量代理到物理机的burp上。 解决方案 使用Postern代理,把apk的流量代理到burp。 Postern是一个用于代理和网络流量路由的工具&#xf…

C++ day44完全背包问题 零钱兑换Ⅱ 组合总和Ⅳ

完全背包:一个物品可以使用无数次,将01背包中倒序遍历背包变成正序遍历背包 遍历顺序:在完全背包中,对于一维dp数组来说,其实两个for循环嵌套顺序是无所谓的! 先遍历物品,后遍历背包可以&#…

win10 下 mvn install 报错:编码GBK不可映射字符

问题背景 由于jenkins需要部署不同的项目,需要使用不同的jdk版本,所以需要配置单独的settings.xml,使用指定的jdk版本进行编译,这里需要单独的maven设置,在配置完后进行mvn的install的时候,由于存在中文注释…

Maven——Maven使用基础

1、安装目录分析 1.1、环境变量MAVEN_HOME 环境变量指向Maven的安装目录,如下图所示: 下面看一下该目录的结构和内容: bin:该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关…

在 Nginx 配置中,root 和 alias 指令的区别是什么

疑问root和alias的区别是什么, 如下 location / {alias /Users/lixinyu/MySpace/学成在线-plus/xc-ui-pc-static-portal/;index index.html index.htm;}location / {root /Users/lixinyu/MySpace/学成在线-plus/xc-ui-pc-static-portal/;index index.html index.htm;}解释…

Cytoscape软件下载、安装、插件学习[基础教程]

写在前面 今天分享的内容是自己遇到问题后,咨询社群里面的同学,帮忙解决的总结。 关于Cytoscape,对于做组学或生物信息学的同学基本是陌生的,可能有的同学用这个软件作图是非常溜的,做出来的网络图也是十分的好看&am…

【海思SS528 | VDEC】MPP媒体处理软件V5.0 | VDEC的使用总结

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023

计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。 该论文提出了解释性模糊测试&a…

构建私有Registry

当镜像的数量越来越多,镜像管理就变得非常有必要了。有时候我们需要设置一个本地的私人仓库来进行镜像的管理。 本关任务是学习创建和操作一个私人仓库,要求学习者参照示例完成“创建一个私人仓库,将busybox镜像推送到私人仓库,最…

UCSC基因组浏览器用法

UCSC基因组浏览器用法 UCSC基因组浏览器是一个强大的在线工具,主要用于查看和分析多种生物的基因组数据。这个浏览器最初是由加利福尼亚大学圣克鲁兹分校的生物信息学家和计算生物学家开发的,旨在为科研人员提供一个易于访问和使用的界面,用于…

Java数据结构之《合并线性表》问题

一、前言: 这是怀化学院的:Java数据结构中的一道难度中等偏下的一道编程题(此方法为博主自己研究,问题基本解决,若有bug欢迎下方评论提出意见,我会第一时间改进代码,谢谢!) 后面其他编程题只要我…

DELETE 请求,如何通过ajax进行发送

基本的 DELETE 请求概念 DELETE 请求用于向服务器发送删除资源的请求。它是 RESTful API 中的一个重要方法,用于删除指定的资源。 在 Axios 中,发送 DELETE 请求需要指定目标 URL,并可选地传递一些参数,例如请求头、请求体等。DE…

spring和springBoot

Spring和Spring Boot小结 Spring和Spring Boot基于IOC AOP理念实现,Spring Boot集成了Spring。Spring框架: Spring框架解决了企业级的开发的复杂性,它是一个容器框架,用于装java对象(Bean),使程…

freertos任务调度机制深度分析(以RISC-V架构为例)

1、前言 本文是以RISC-V架构为例进行讲解,在汇编代码层面和ARM架构不一样,但是整体框架是一样的侧重任务调度底层机制讲解,讲解代码只保留了基本功能,可配置的功能基本都已经删除本文是以可抢占式调度机制进行讲解RISC-V架构只支持…

【ZEDSLAM】Ubuntu18.04系统ZED 2i双目相机SDK安装、联合标定、SLAM测试

0.设备、环境和说明 笔记本电脑i5-8300H、GTX 1060、32GRAM 因为后面要测试Vins-Fusion和ORB-SLAM3,所以推荐安装Ubuntu 18.04(或者Ubuntu 20.04) ROS 1(不建议用比Ubuntu18更低的版本) ROS一键安装命令:…

智能监控平台/视频共享融合系统EasyCVR接入RTSP协议视频流无法播放原因是什么?

视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。AI智能/大数据视频分析EasyCVR平台已经广泛应用在工地、工厂、园区、楼…

网络入门---网络编程预备知识

目录标题 ifconfigip地址和mac地址的区别端口号pid和端口号UDP和TCP的初步了解网络字节序socket套接字 ifconfig 通过指令ifconfig便可以查看到两个网络接口: 我们当前使用的是一个linux服务器并是一个终端设备,所以他只需要一个接口用来入网即可&…

JVM

图来自JavaGuide 程序计数器 程序计数器是线程私有的,每个线程一份,是线程安全的;内部保存的字节码的行号,用于记录正在执行的字节码指令的地址。 java堆 java堆是线程共享的区域(线程不安全)&#xff…