Linux Ubuntu18.04 ffmpeg编译安装与配置

  • 前言
  • 前期准备工作
  • 安装yasm
  • 安装nasm(2.13以上版本)
  • 安装其他依赖
  • 编译x264(只编译静态库)
  • 编译SDL2
  • 编译ffmpeg
  • 编译ffmpeg
  • 测试是否安装成功

前言

刚开始学音视频开发,环境的配置研究了几天在几个虚拟机上都尝试了一下,终于把刚开始能踩的坑都踩遍了,遇到了各种问题,经过我的收集整理,把所有遇到的问题都放进来,后面再遇到问题还会继续更新的,作为个人以后参考用,如果写的有错误请各位大佬在评论区指正!感谢很多人帮助了我,希望自己也可以帮助更多的人。
我是Ubuntu18.04的版本,不知道是不是版本问题,下的版本好多配置和包都没有,手动配置了好久。

前期准备工作

省得之后文件权限问题,都是血和泪的教训啊,记不清在哪个错误的目录下 chmod -R -777 结果sudo su打不开了,为了防止和我一样的错误,先设置一下默认进入root用户,及时备份虚拟机。
具体的看这篇,很详细了,感谢这位老哥
https://blog.csdn.net/qq_39591507/article/details/81288644
以root身份登陆以后打开shell是这样的
下一步,打开根目录下opt文件夹,新建一个lib文件夹,之后编译的库放里面,后面全部编译完成以后把这个文件夹备份一下
里面我已经编译好了,下载的库资源全部放这里面。

安装yasm

直接在刚刚的lib文件夹下面打开终端
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install

PS://默认的./configure 配置是安装在usr/local/lib里面,后面ffmpeg不放进去,前期的一些必要的组件直接configure没问题。

安装nasm(2.13以上版本)

和上面一样
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
tar xvf nasm-2.14.02.tar.bz2
cd nasm-2.14.02
./configure
make
make install

安装其他依赖

apt install cmake -y
apt install pkg-config //后面编译x264和x265需要

编译x264(只编译静态库)

x264下载地址:
http://ftp.videolan.org/pub/videolan/x264/snapshots/
tar xvf x264-snapshot-20191024-2245-stable.tar.bz2
cd x264-snapshot-20191024-2245-stable
./configure --enable-static --prefix=…/x264 --enable-pic
make -j
make install
//make -j4就是开启4个并行编译,make -j不加数字就是默认全部核心数,编译速度差不多要快一半
##编译x265(只编译静态库)
x265下载地址:
http://ftp.videolan.org/pub/videolan/x265/
tar xvf x265_3.2.tar.gz
//和x264编译不一样,264直接在根目录下编译,265要进入这个目录
cd x265_3.2/build/linux/

cmake -G “Unix Makefiles” -DCMAKE_INSTALL_PREFIX="…/…/…/x265" -DENABLE_SHARED:bool=off …/…/source
make -j
make install
为了避免后面的问题,我们先进行如下的设置

进入265这个目录,编辑一下这个文件
按如图添加依赖

编译SDL2

编译之前检查一下Ubuntu是否声音输出是否正常,我的是不正常的,基本各种疑难杂症都给我遇见了,不过问题不大,参考一下别人的解决方法。
https://blog.csdn.net/multimicro/article/details/82528730
确保有声音再进入下一步
我需要用到ffplay, 需要再下载SDL的源码,http://libsdl.org/release/
我的版本是SDL2-2.0.14
在编译之前先安装
sudo apt-get install libx11-dev
sudo apt-get install xorg-dev
不然会无法渲染SDL displa
如运行ffplay时,有些机器上会出现
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)
说明系统中没有安装x11的库文件,因此编译出来的SDL库实际上不能用。

需要先编译安装SDL,和上面一样,直接默认编译安装

tar zxvf SDL2-2.0.8.tar.gz

cd SDL2-2.0.8

./configure

make

make install

编译ffmpeg

编译ffmpeg是最后一步,但是前面任何一步配置错误,回去修改以后,ffmpeg都要重新编译。

ffmpeg直接去官网下载,我下的是4.3.2版本的
解压以后还是在lib文件夹里面,我在官网下载的提取出来还套了一个文件夹,直接移到外面来,如图,不然没法直接执行下面的命令
在当前页面打开终端执行
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:…/x264/lib/pkgconfig:…/x265/lib/pkgconfig

./configure --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libx264 --enable-libx265 --prefix=…/ffmpeg

make -j
make install

编译完以后lib文件夹多了这三个

编译ffmpeg

编译完成后,进入/etc/profile中将ffmpeg加入到环境变量(在文件最后加上export PATH=/opt/lib/ffmpeg/bin:$PATH)
进一步,把ffmpeg的库加入/etc/ld.so.conf中

测试是否安装成功

执行ffmpeg -devices
我已经解决了,如果需要alsa驱动的需要装一下alsa驱动

之前的问题是编译完了ffmpeg发现没有alsa音频驱动,关于如何安装alsa音频驱动建议看这篇
https://blog.csdn.net/keepingstudying/article/details/7373246

安装完了重启,然后重新编译ffmpeg
再测试一下ffplay命令,
ffplay xxx.MP4
如果可以正常播放视频,声音正常就ok,否则需要重装SDL2,然后重新编译ffmpeg

主体参考了云天之巅博主的,感谢!
具体不清楚的可以看云天之巅博主的视频
https://www.bilibili.com/video/BV1Sz411v7Wm

Linux下配置Qt+ffmpeg开发环境 Ubuntu18.04相关推荐

  1. linux离线配置qt环境,Linux下配置QT环境

    一.下载Qt源码包到本机,然后解压缩 #tar zxvf qt-x11-opensource-src-4.3.2.tar.gz -C /usr/local //将qt-x11-opensource-s ...

  2. Linux下搭建Cortex-M嵌入式开发环境

    Linux下搭建Cortex-M嵌入式开发环境 终于换上了Linux,更换之前考虑良久,最后选定了Ubuntu15(PS:自己家里用的是Fedora),主要是考虑Ubuntu确实更易用(但明显没有De ...

  3. Qt开发笔记(一):Qt+FFmpeg开发环境搭建以及工程模板

    原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/90 ...

  4. Linux 下搭建 Java Web 开发环境

    Linux 下搭建 Java Web 开发环境 我的小站.Github Java Web,是用Java技术来解决相关web互联网领域的技术栈,下方为 Linux 下搭建 Java Web 开发环境教程 ...

  5. 在linux下搭建git环境,在linux下搭建git github开发环境

    在linux下搭建git github开发环境 github git linux 1.安装git sudo apt-getinstall git 2.Generating SSH keys 2.1.g ...

  6. windows 下配置 react native 开发环境

    windows 下配置 react native 开发环境 安装nvm 由于react native 需要使用 NodeJs 4.0以上版本,为了方便切换NodeJs,首先我们需要安装nvm. 你可以 ...

  7. yum安装ruby_CentOS 7下配置Ruby语言开发环境的方法教程

    本文跟大家分享的是在CentOS 7下配置Ruby语言开发环境的方法教程,分享出来供大家参考学习,下面来看看详细的介绍: 安装Ruby 2.2 CentOS7存储库中的Ruby版本为2.0,但如果需要 ...

  8. 如何在Windows下搭建Qt安卓开发环境?

    一.导读 本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上 ...

  9. python的开发环境有哪些系统_Win10下配置机器学习python开发环境

    近期计划写一写机器学习微信小程序的开发教程,但微信开发工具只提供了Windows和Mac OS版本,作为一名长期使用Linux系统的开发人员,虽然始终认为Linux系统才是对开发者最友好的,但微信团队 ...

最新文章

  1. R 生信数据可视化(聚类热图)
  2. 在网页上启动你的应用程序
  3. java窗体设置最小宽度_flex web Application设置最小高度和宽度。
  4. linux使用qemu教程,Linux:使用 QEMU 测试 U-BOOT的步骤
  5. 被忽视的ArrayList,你知道多少
  6. SAP Spartacus OccCmsComponentAdapter的findComponentsByIds方法
  7. DEVEXPRESS---TREELIST的使用
  8. SylixOS磁盘高速传输
  9. 缓存穿透、缓存击穿和缓存雪崩实践附源码
  10. Behavior Designer知识点
  11. Eclipse开发环境配置
  12. 《数字图像处理 第三版》(冈萨雷斯)——第四章 频率域处理
  13. 浏览器模式电子海图快速显示的研究
  14. 吴恩达《深度学习》课程介绍
  15. 产品设计公司该如何做好产品创新?
  16. android手机黑科技软件,4款安卓手机黑科技APP,功能非常牛逼,希望大家谨慎使用...
  17. 山西计算机大赛崔奕,2021年中国大学生计算机设计大赛山西省赛评审结果名单公示通知...
  18. “两岸四地消费者信心指数”:消费者信心波动
  19. 智联卓聘IM演进过程
  20. html5 图片局部马赛克,html5 canvas 图片打马赛克 demo

热门文章

  1. 叶子华戒烟经历:在家如何练腹肌
  2. 【AI绘图学习笔记】transformer
  3. 【2023年五一数学建模竞赛B题】快递需求分析问题--完整paper和代码
  4. 追根溯源-C语言和Unix的发明史【转】
  5. MySQL 原理(一):MySQL 架构
  6. 圣诞节怎么能缺少圣诞树呢?Python+HTML打造专属于你的圣诞树
  7. 真正的民宿,不是旅館,是生活
  8. 如何给文件夹添加备注
  9. 安卓自定义弹幕view,实现飞屏
  10. CMAPSS的个人理解和CMAPSS、PHM08、09、12下载地址