Linux下配置Qt+ffmpeg开发环境 Ubuntu18.04
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相关推荐
- linux离线配置qt环境,Linux下配置QT环境
一.下载Qt源码包到本机,然后解压缩 #tar zxvf qt-x11-opensource-src-4.3.2.tar.gz -C /usr/local //将qt-x11-opensource-s ...
- Linux下搭建Cortex-M嵌入式开发环境
Linux下搭建Cortex-M嵌入式开发环境 终于换上了Linux,更换之前考虑良久,最后选定了Ubuntu15(PS:自己家里用的是Fedora),主要是考虑Ubuntu确实更易用(但明显没有De ...
- Qt开发笔记(一):Qt+FFmpeg开发环境搭建以及工程模板
原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/90 ...
- Linux 下搭建 Java Web 开发环境
Linux 下搭建 Java Web 开发环境 我的小站.Github Java Web,是用Java技术来解决相关web互联网领域的技术栈,下方为 Linux 下搭建 Java Web 开发环境教程 ...
- 在linux下搭建git环境,在linux下搭建git github开发环境
在linux下搭建git github开发环境 github git linux 1.安装git sudo apt-getinstall git 2.Generating SSH keys 2.1.g ...
- windows 下配置 react native 开发环境
windows 下配置 react native 开发环境 安装nvm 由于react native 需要使用 NodeJs 4.0以上版本,为了方便切换NodeJs,首先我们需要安装nvm. 你可以 ...
- yum安装ruby_CentOS 7下配置Ruby语言开发环境的方法教程
本文跟大家分享的是在CentOS 7下配置Ruby语言开发环境的方法教程,分享出来供大家参考学习,下面来看看详细的介绍: 安装Ruby 2.2 CentOS7存储库中的Ruby版本为2.0,但如果需要 ...
- 如何在Windows下搭建Qt安卓开发环境?
一.导读 本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上 ...
- python的开发环境有哪些系统_Win10下配置机器学习python开发环境
近期计划写一写机器学习微信小程序的开发教程,但微信开发工具只提供了Windows和Mac OS版本,作为一名长期使用Linux系统的开发人员,虽然始终认为Linux系统才是对开发者最友好的,但微信团队 ...
最新文章
- R 生信数据可视化(聚类热图)
- 在网页上启动你的应用程序
- java窗体设置最小宽度_flex web Application设置最小高度和宽度。
- linux使用qemu教程,Linux:使用 QEMU 测试 U-BOOT的步骤
- 被忽视的ArrayList,你知道多少
- SAP Spartacus OccCmsComponentAdapter的findComponentsByIds方法
- DEVEXPRESS---TREELIST的使用
- SylixOS磁盘高速传输
- 缓存穿透、缓存击穿和缓存雪崩实践附源码
- Behavior Designer知识点
- Eclipse开发环境配置
- 《数字图像处理 第三版》(冈萨雷斯)——第四章 频率域处理
- 浏览器模式电子海图快速显示的研究
- 吴恩达《深度学习》课程介绍
- 产品设计公司该如何做好产品创新?
- android手机黑科技软件,4款安卓手机黑科技APP,功能非常牛逼,希望大家谨慎使用...
- 山西计算机大赛崔奕,2021年中国大学生计算机设计大赛山西省赛评审结果名单公示通知...
- “两岸四地消费者信心指数”:消费者信心波动
- 智联卓聘IM演进过程
- html5 图片局部马赛克,html5 canvas 图片打马赛克 demo