2.ffmpeg安装(Ubuntu20.04 )

article/2025/9/26 4:49:49

Ubuntu20.04安装ffmpeg

  • 1.下载源码包
  • 2.解压
    • 安装依赖库
  • 3.编译
    • 3.1 安装 yasm
    • 3.2 配置
    • 3.3 编译安装
  • 4.添加环境变量
    • 4.1 修改环境变量
    • 4.2 在文件中添以下内容。
    • 4.3 设置生效
  • 5.验证是否成功
    • 5.1 无法打开共享库文件
    • 5.2 测试是否配置成功
  • 注意

1.下载源码包

进入官网 https://ffmpeg.org/download.html 下载

在这里插入图片描述
点击Download Source Code下载即可 ,此时得到压缩包ffmpeg-snapshot.tar.bz2

在这里插入图片描述

也可以查看当前时间官方最新版本 http://www.ffmpeg.org/releases/ ,通过命令行下载,我自己用命令行下载的时候特别慢。

在这里插入图片描述

wget http://www.ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2

2.解压

进入到指令目录

cd /usr/local/

在压缩包目录下,执行命令

tar -xvjf ffmpeg-snapshot.tar.bz2

此时当前目录下得到了文件夹 “ffmpeg”

在这里插入图片描述

安装依赖库

官方有个指导文档,Ubuntu怎么使用FFmpeg:

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

安装依赖库,执行命令:

sudo apt-get update && sudo apt-get -y install \autoconf \automake \build-essential \cmake \git-core \libass-dev \libfreetype6-dev \libgnutls28-dev \libmp3lame-dev \libsdl2-dev \libtool \libva-dev \libvdpau-dev \libvorbis-dev \libxcb1-dev \libxcb-shm0-dev \libxcb-xfixes0-dev \meson \ninja-build \pkg-config \texinfo \wget \yasm \zlib1g-dev \libunistring-dev

3.编译

3.1 安装 yasm

yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报错误。

apt install yasm pkg-config libopencore-amrnb-dev libopencore-amrwb-dev

3.2 配置

进入文件夹ffmpeg

#进入源码文件夹
cd ffmpeg#配置项
./configure  --enable-libmp3lame --enable-gpl --enable-shared --enable-version3 --enable-nonfree --enable-pthreads --enable-postproc --enable-ffplay --enable-libx264 --enable-libxvid --disable-x86asm

我配置时出错的 libx264 出错。我又安装了 libx264-dev

sh-5.0$ sudo apt-get install libx264-dev
[sudo] lyq 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:libx264-dev
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 89 个软件包未被升级。
需要下载 569 kB 的归档。
解压缩后会消耗 2,764 kB 的额外空间。
获取:1 http://mirrors.ustc.edu.cn/ubuntu focal/universe amd64 libx264-dev amd64 2:0.155.2917+git0a84d98-2 [569 kB]
已下载 569 kB,耗时 0(1,262 kB/s)
正在选中未选择的软件包 libx264-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 359109 个文件和目录。)
准备解压 .../libx264-dev_2%3a0.155.2917+git0a84d98-2_amd64.deb  ...
正在解压 libx264-dev:amd64 (2:0.155.2917+git0a84d98-2) ...
正在设置 libx264-dev:amd64 (2:0.155.2917+git0a84d98-2) ...
sh-5.0$ sudo apt-get install ffmpeg
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:libavdevice58 libavresample4
建议安装:ffmpeg-doc
下列【新】软件包将被安装:ffmpeg libavdevice58 libavresample4
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 89 个软件包未被升级。
需要下载 1,581 kB 的归档。
解压缩后会消耗 2,562 kB 的额外空间。

3.3 编译安装

//时间久 耐心等待
make  make install

安装完成后,就可以看到,在/usr/local/bin中,ffmpeg/ffplay/ffprob已经生成了;
则说明ffmpeg安装成功。

在这里插入图片描述

4.添加环境变量

4.1 修改环境变量

将ffmpeg的绝对路径添加到PATH环境变量中,以让系统能找到ffmpeg的安装路径。

vim ~/.bashrc  # 打开系统环境变量配置文件

4.2 在文件中添以下内容。

export PATH="/usr/local/bin:${PATH}" # 因为编译后的可执行文件都在/usr/local/bin中
export LD_LIBRARY_PATH="/usr/local/lib:{LD_LIBRARY_PATH}" #共享库路径

4.3 设置生效

source ~/.bashrc  

5.验证是否成功

5.1 无法打开共享库文件

使用命令行“ ffmpeg -h” ,检测ffmpeg安装情况时,出现异常。

  • 使用的命令:
ffmpeg -h
ffmpeg -version

出现以下报错内容:

error while loading shared libraries: libavdevice.so.59: can not open shared object file or directoryerror while loading shared libraries: libpostproc.so.56: cannot open shared object file: No such file or directory

这是由于系统找不到ffmpeg的共享库所致。

很多开源的共享库都会安装到/usr/local/lib目录下,打开这个目录确实找到FFmpeg这些共享库。在这里插入图片描述

  • 解决的办法:

在动态库配置文件 /etc/ld.so.conf.d 内所列的目录下创建文件 ffmpeg.conf 文件,
在该文件中写入共享库路径:“/usr/local/lib”
执行 ldconfig 命令

# 编辑文件,添加内容“/usr/local/lib”后保存退出
vim /etc/ld.so.conf.d/ffmpeg.conf   # 查看ffmpeg.conf中的内容
cat /etc/ld.so.conf.d/ffmpeg.conf  # 执行ldconfig命令,使/etc/ld.so.conf.d/目录下新加入的配置信息生效
ldconfig       

在这里插入图片描述

提示找不到共享库的错误解决方法 :https://blog.csdn.net/my_angle2016/article/details/113524560

5.2 测试是否配置成功

命令行输入“which ffmpeg” 或 “ffmpeg -h”,出现以下内容,说明ffmpeg已经完全安装配置成功。

root@a512-3090:/usr/local# which ffmpeg
/usr/local/bin/ffmpeg  

在这里插入图片描述

注意

若完成以上配置后,代码里面仍报错,考虑以下解决方式

  • 在系统里,指出ffmpeg的绝对安装路径。/usr/local/bin/ffmpeg

  • 找到“xxxx.py”所在的位置,打开并编辑该文件,对ffmeg行的内容做修改。

  • 将 command = "fmpeg -i %s ,改为有绝对路径的 command = "/usr/local/ffmpeg/bin/ffmpeg

在这里插入图片描述到此我就可以顺利的使用,程序跑起来了。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/JMuwakvi.shtml

相关文章

ffmpeg的安装和使用教程

ffmpeg的安装和使用教程 1.进入ffmpeg官网,下载相应的安装包,windows和mas以及linux,32位和64位版本! 2.将下载好的压缩包进行解压 3.进入bin目录,复制好bin目录的路径 4.右击此电脑(win7就是计算机),选择…

ffmpeg的安装与使用

一、ffmpeg的简介 FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 主要参数 -i——设置输入档名…

三、FFmpeg安装

1. FFmpeg介绍 FFmpeg是一个完整的、跨平台的解决方案,用于记录、转换和流化音/视频。 FFmpeg 采用 LGPL 或 GPL 许可证,提供了录制、转换及流化音/视频的完整解决方案。其包含了非常先进的音/视频编解码库 libavcodec。 FFmpeg 是在 Linux …

windows ffmpeg安装部署

目录 安装包下载 解压安装包 配置环境变量 总结 安装包下载 作为音视频处理重要软件ffmpeg,是一定要装好的。 windows安装包下在链接:资源包地址 解压安装包 下载安装包后解压到需要的目录。 配置环境变量 找到控制面板 -> 点击系统 -> 点击…

ffmpeg安装及使用

下载 下载地址:https://ffmpeg.org/download.html 然后按照下图点击,找到Release部分下载一个即可。 安装 所谓安装就是解压并配置“path”环境变量 将安装包解压至任意目录,比如我这里是D:\Program\ffmpeg-5.0.1-full_build 按照以下顺…

ffmpeg详细安装教程,亲测有效!

这两天整理好用的录屏软件,发现了Captura这个软件,软件本身的安装很简单,但由于Captura需要依赖ffmpeg(一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序),而ffmpeg在安…

ffmpeg的下载及安装

最近在处理一些音频数据,ffmpeg是一款非常好用处理音视频的工具包。那什么是ffmpeg呢?FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,可以结合Java开发一些处理视频音频的功能。 1.ffmpeg下载…

如何安装ffmpeg,详细安装教程,亲测有效

今天在下载网上视频的时候,发现下载的是ts文件 想要转换mp4 文件需要安装ffmpeg 网上找了很多方法,整理出ffmpeg的安装方法,详细讲解如下。 1、下载ffmpeg 到ffmpeg官网https://ffmpeg.org/download.html,按照箭头点击下载安装包 …

C语言 不使用strcpy 函数实现字符串复制功能

Ⅰ )字符串复制函数 字符串复制是字符串操作中比较常用的操作之一。C语言库函数中提供的字符串复制函数是:strcpy函数。该函数的功能为:把源字符数组中的字符串复制到目的字符数组中,字符串结束标志“\0”也一同复制。下面实例为通…

用c语言实现字符串复制

1.题目来源 作者: C课程组 单位: 浙江大学 时间限制: 400 ms 内存限制: 64 MB 代码长度限制: 16 KB 2.问题简述 本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。 函数接口定义: void strmcpy( char *t, int m, ch…

多种方式实现字符串的复制

用字符数组名做函数的参数 #include<stdio.h>//用函数调用实现字符串的复制 int main() { void fgo(char c[],char d[]);char a[]"听我说谢谢你~",b[]"你要结婚啦~";printf("a%s\n",a);printf("b%s\n",b);printf("将a复制…

复制字符串的三种方法

1.通过指针实现 2.通过自定义函数实现 3.通过调用字符串处理库中的复制函数实现 注意字符串结尾的\0

win10 mysql8 my.ini配置文件

郑重说明 网上很多文章写win10系统下的mysql8版本的配置文件位置在哪里&#xff0c;以及如何安装mysql&#xff0c;等等。这些要么将的不够清晰&#xff0c;要么画蛇添足。经过繁琐的查询和测试&#xff0c;终于搞定&#xff0c;现在记录下来&#xff0c;希望能够帮助到诸位。…

在CentOS7下添加MySQL用户并设置相应权限

2019独角兽企业重金招聘Python工程师标准>>> 1.进入mysql命令行&#xff0c;输入root及密码 [rootlocalhost ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 19 Server version: 5…

MySQL增加默认值

MySQL里面的表同一列里要填的若大多是同一个值&#xff0c;这时候就可以设置默认值了。 方便快捷的填充。 例如 存在jxgl里的students表性别列要填的大多是&#xff1a;男。 则可以使用ALTER命令修改。 详细命令如下。 一个文字占两个空格&#xff0c;所以char()括号里面的…

mysql8设置sql_mode

原文 mysql8报错&#xff0c; 在mysql配置文件下设置 sql_mode‘NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES’ 在mysqlld下添加sql-mode

MySQL的设置

一、MySQL数据库服务的启动和停止 MySQL软件的服务器端必须先启动&#xff0c;客户端才可以连接和使用数据库。 图形化方式 计算机&#xff08;右键鼠标&#xff09;----> 管理&#xff08;点击&#xff09;----> 服务和应用程序&#xff08;点击&#xff09;---->…

MySQL中添加或插入语句(Insert)的几种使用方式

1.各大培训机构&#xff0c;价格10万的视频 Java架构师视频免费送 2.各种电子书籍经典Java书籍免费送 3.关注下方我的公众号进行免费获取 MySQL中添加或插入语句(Insert)的几种使用方式 1.INSERT 简写方式插入数据(不推荐) 1.先看一下表中有那些数据 2.使用Inset into 表名 va…

mysql添加备注信息

前言 这连天有人问我一些mysql的备注信息&#xff0c;不得已还是写一遍博客吧 1、创建表的时候&#xff0c;添加表名备注和字段备注 CREATE TABLE healerjean_comment (id bigint(20) NOT NULL AUTO_INCREMENT,name varchar(32) NOT NULL COMMENT 名字备注,email varchar(64)…

关于 Unable to attach to 32-bit process running under WOW64的错误

关于 Unable to attach to 32-bit process running under WOW64的错误 今天在使用IDEA编译的程序的时候&#xff0c;使用jinfo 命令查看的时候出现 然后初步判断自己JDK安装错误&#xff0c;但是后面查看自己的JDK版本没错&#xff0c;然后判断是不是编译的时候用的32位的JDK&a…