当前位置: 首页 > news >正文

基于3A4000及CentOS的银河麒麟V10离线源码编译安装VLC

碰到过的一个具体问题

  1. 源码安装vlc-3.0.x版本,需要注意的是,不要安装ffmpeg-5及以上的版本,即只支持ffmpeg-4的版本,因此,要安装vlc-3.0版本,一个重要的依赖时就会ffmpeg-4。
  2. 报错没有revision.txt,这个报错其实很没有价值,就是因为缺少一个revision.txt文件,这个文件里记录的是vlc版本信息,如此而已,之所以会缺失,是因为这个它是在git拉取vlc代码的时候,由git生成的,而我当时是直接zip压缩包下载了,所以就缺少这个文件了,解决方法就是自己手动创建一个src/revision.txt,里面随便写点什么,或者git拉取(但是vlc去git拉取其实很不靠谱,vlc没压缩的话会很大,体积也大)。
  3. 已经安装的库文件被报错找不着。因为是源码编译安装,默认的安装目录是在/usr/local/lib或者/usr/local/lib64等目录,务必记得将这些目录写入环境变量里,比如写入~/.bashrc中,比如export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/,这么个写法。务必写入,不然经常会出现明明代码已经编译安装成功了,但是依赖这个包的库编译的时候报错找不到,当然也得记得sudo ldconfig
  4. 报错要求qt6以上版本。这个报错可以直接强制要求使用qt5。

编译VLC的命令

./bootstrap  # 生成 configure 脚本
./configure \
    --enable-x11 \
    --enable-xvideo \
    --enable-alsa \
    --enable-avcodec \
    --enable-qt \
    --disable-a52 \

当然,还有配置项,自己考虑要不要增加,但是如果运行的时候,报错说缺少什么库,如果你懒得处理依赖问题,可以考虑把那个库相关的功能disable掉,省点事。

安装ffmpeg-4提醒

  1. 关于安装ffmpeg-4,其实过程比较常规,但是最重要的一点是,要在ffmpeg使用到-f x11grab选项的话,比如要使用录屏功能,如果报错x11grab not found,一定要在编译ffmpeg-4的功能时候,配置--enable-libxcb,FFmpeg 新版本(4.1+)已经废弃了--enable-x11grab选项。
  2. 报错需要msa.h头文件,这个是针对MIPS架构的一个需求,就是在configue的加入--disable-asm选项即可。

编译ffmpeg的命令:

./configure \
    --enable-libxcb \         # 推荐:XCB 抓屏(现代 X11 接口)
    --enable-gpl \
    --enable-libx264 \
    --disable-asm

提醒
在源码编译过程中,再强调养成几个习惯。

  1. 记得把pkg-config写入环境变量,因为默认的源码编译目录都在/usr/local下,默认不在环境变量中,这个习惯能减少很多问题。
  2. 每安装一个库,使用sudo ldconfig来更新。
  3. 惯用./configue --help命令,查看配置项的正确写法。
  4. ./configue时候,要大胆放弃有些选项,该disable的就disable,有些依赖不解决也不妨碍。

最后,放上所有我下载使用过的源代码软件包,里面很多可能用不上,根据需求编译安装即可。VLC及FFMPEG依赖包

相关文章:

  • Java八股文背诵 第四天JVM
  • BC3 有容乃大(sizeof关键字,sizeof(long long) >= sizeof(long) >= sizeof(int)
  • Spring 中的 @Cacheable 缓存注解
  • Hook_Unfinished
  • 【含文档+PPT+源码】基于微信小程序的学校体育馆操场预约系统的设计与实现
  • python的web框架flask(hello,world版)
  • 【读者求助】如何跨行业进入招聘岗位?
  • 并发编程--互斥锁与读写锁
  • Linux基础1
  • Linux 入门八:Linux 多进程
  • JavaScript 简单类型与复杂类型-简单类型传参
  • 多模态大语言模型arxiv论文略读(十四)
  • qt上设置 WebAssembly显示中文
  • 『生成内容溯源系统』详解
  • java之file和IO流
  • 关于编译原理——递归下降分析器的设计
  • 用 NextJS写一个 Rock Paper Scissors 小游戏(附在线试玩地址)
  • Java——数据类型与变量
  • 门禁管理系统:守护安全的智能卫士
  • c++进阶之----智能指针
  • 虚拟云主机wordpress必攻击/seo人工智能
  • 广州网站排名优化价格/2022今日最新军事新闻
  • 湖南做电商网站需要什么条件/谷歌广告平台
  • 网站建设 话术/陕西优化疫情防控措施
  • 做网站策划需要用什么软件/移动端优化
  • 个人网站申请/深圳seo技术