LINUX之VLC4.0安装

news/2024/5/7 21:16:33/文章来源:https://blog.csdn.net/qq_33377547/article/details/127353555

环境准备

操作系统 ubuntu20.04 版本 VLC4.0.0 dev版本

工具准备

sudo apt-get install git build-essential pkg-config libtool automake autopoint gettext unzip

安装第三方依赖库

下面的库只能多不能少,否则会出现各种错误

sudo apt-get install libxcb-shm0-dev libxcb-xv0-dev 
sudo apt-get install libxcb-keysyms1-dev libxcb-randr0-dev 
sudo apt-get install libxcb-composite0-dev
sudo apt-get install libavformat-dev
sudo apt install libswscale-dev
sudo apt install liba52-0.7.4-dev
sudo apt install libxcb-shm0-dev
sudo apt install libxcb-composite0-dev
sudo apt install libxcb-xv0-dev
sudo apt install libasound2-dev
sudo apt install libarchive-dev
sudo apt install liblivemedia-dev
sudo apt install libva-dev
sudo apt install lua5.2 liblua5.2-dev
sudo apt install libmpg123-dev
udo apt install libgstreamer-plugins-base1.0-dev
sudo apt install libavcodec-dev

编译

1. 切换到vlc的源码目录,执行

sudo chmod 777 bootstrap
./bootstrap

2. 执行configure

./configure  --enable-realrtsp --enable-live555  --prefix="/home/lanmo/Documents/vlc4libs"

在这个过程可能会一下问题,下面的错误描述和解决方案都有

错误 1:
configure: error: Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error. 
解决 1:sudo apt install lua5.2 liblua5.2-dev
错误 2:configure: WARNING: Library libmpg123 needed for mpg123 was not found
解决 2:sudo apt install libmpg123-dev
错误  3:configure: WARNING: No package 'gstreamer-app-1.0' found. GStreamer modules will not be built.
解决 3:sudo apt install libgstreamer-plugins-base1.0-dev
错误  4:configure: error: Missing libav or FFmpeg. Pass --disable-avcodec to ignore this error.
解决 4:sudo apt install libavcodec-dev
错误  5:configure: error: No package 'libavformat' found. Pass --disable-avformat to ignore this error.
解决 5:sudo apt install libavformat-dev
错误  6:configure: error: No package 'libswscale' found. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.
解决 6:sudo apt install libswscale-dev
错误 7:configure: error: Could not find liba52 on your system: you may get it from weblink. Alternatively you can use --disable-a52 to disable the a52 plugin.
解决 7:sudo apt install liba52-0.7.4-dev
错误  8:configure: error: Package requirements (xcb-shm) were not met: No package 'xcb-shm' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables XCB_SHM_CFLAGS and XCB_SHM_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
解决 8:sudo apt install libxcb-shm0-dev
错误  9:configure: error: Package requirements (xcb-composite) were not met: No package 'xcb-composite' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables XCB_COMPOSITE_CFLAGS and XCB_COMPOSITE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details  
解决 9sudo apt install libxcb-composite0-dev
错误  10:configure: error: Package requirements (xcb-xv >= 1.1.90.1) were not met: No package 'xcb-xv' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables XCB_XV_CFLAGS and XCB_XV_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.  
解决 10:
sudo apt install libxcb-xv0-dev
错误  11:configure: error: No package 'alsa' found. alsa-lib 1.0.24 or later required. Pass --disable-alsa to ignore this error.
解决 11:sudo apt install libasound2-dev
错误  12:vlc: error while loading shared libraries: libvlc.so.5: cannot open shared object file: No such file or directory
解决 12:sudo apt install libvlc5
错误  13:xcb_window window error: X11 key press support not compiled-in
解决 13:sudo apt install libxml2-dev
错误  14:configure: WARNING: Library libarchive >= 3.1.0 needed for archive was not found
解决 14:sudo apt install libarchive-dev
错误  15:configure: WARNING: No package 'live555' found.
解决 15:sudo apt install liblivemedia-dev
错误  16:configure: WARNING: Library libebml >= 1.3.6 libmatroska needed for matroska was not found
解决 16:
sudo apt install libebml-dev libmatroska-dev
错误  17:configure: WARNING: No package 'libva' found.
解决 17:
sudo apt install libva-dev
错误  18:configure: WARNING: Library libchromaprint >= 0.6.0 needed for chromaprint was not found
解决 18:sudo apt install libchromaprint-dev

image.png

执行make

auto make 

可能出现以下编译错误

  1. 出现找不到revision.txt头文件情况

需要在src目录下新建revision.txt文件在里面添加一行如下
4.0.0-g41878ff4f2

  1. SSIZE_MAX未定义

image.png

//使用gedit或者其他编辑器打开libmp4.c文件,在开头加入如下代码
#ifndef SSIZE_MAX
# define SSIZE_MAX      32767
#endif
  1. make-alias 执行失败

image.png

sudo chmod 777 make-alias

编译结果

image.png

编译安装

image.png

相关成果

image.png
image.png
image.png

已编译成果已经发布到面包多

https://mianbaoduo.com/o/bread/Y5qXkpZr

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

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

相关文章

std::ref用法以及和引用区别

1、std::ref是什么? 关于c中的std::ref,std::ref在c11引入。本文通过讲解std::ref的常用方式,及剖析下std::ref内部实现,然后我们再进一步分析为什么使用std::ref。 ref是个函数模板: 用来构建一个reference_wrapper…

【区块链 | Solidity】跟我学 Solidity(6):工厂模式

如何在智能合约中使用clone工厂模式减少合约部署 gas。 原文 https://medium.com/better-programming/learn-solidity-the-factory-pattern-75d11c3e7d29 作者 Wissal haji欢迎来到学习 Solidity 系列的另一部分。在上一篇文章,我们讨论了如何从智能合约中创建另一个智能合约。…

泛型(1)

泛型的概述 泛型是一种未知的数据类型 当我们不知道使用什么数据类型的时候 可以使用泛型 泛型也可以看出是一个变量 用来接收数据类型 当我们创建集合是就确定泛型类型 使用泛型的好处 我们都知道集合中是可以存放任意对象的 只要把对象存储集合后 那么这时他们都会被提升成Ob…

无向图的双连通分量 DCC

双连通分量又称为重连通分量 分为 (1)边的双连通分量 EDCC :极大的不含桥的连通区域(块) 性质: 边的双连通分量不管删掉哪条边都是连通的 任意两点之间都包含两条不相交的路径(充分必要) (2)点的双连通分量 VDCC &…

电压掉电监测电路-三极管电路分析

电压掉电监测电路 电路在电压掉电时处于不稳定状态,经常需要采取一些应对措施。比如音响,内部的音频功率放大电路,在被突然拔掉电源时会发出刺耳的爆破音。 如果加入电压掉电监测电路,当监测到电压掉电时,输出一个信号…

MySQL目录结构与SQL基本概念

MySQL目录结构 1.MySQL安装目录配置文件 my.ini1、bin目录 用于放置一些可执行文件,如mysql.exe、mysqld.exe、mysqlshow.exe等。 2、data目录 用于放置一些日志文件以及数据库。 3、include目录 用于放置一些头文件,如:mysql.h、mysql_ername.h等。 4、lib目录 用于放置一系…

刷爆leetcode第七期 0018

刷爆leetcode第七期 0018题目编号0018 用队列实现栈第一步 定义结构体第二步 实现创建(初始化)第三步 删除接口函数第四步 返回头的值总结发现问题一发现问题二源码题目编号0018 用队列实现栈 请你仅使用两个队列实现一个后入先出(LIFO&…

.NET周报【10月第1期 2022-10-11】

本周精选 继C#实现await/async无栈协程几年后,davidwrighton实现了.NET绿色线程(有栈协程)的原型 https://github.com/dotnet/runtimelab/pull/2002 .NET Runtimelab中绿色线程的原型实现的PR,在不久的将来,.NET开发者也可以方便的用上有栈协程,目前的启动一个有栈协程的AP…

docker:基础命令未完待续

基础操作 docker info #查看docker的基本信息docker version #查看docker版本信息一、镜像操作 1、搜索镜像 docker search nginx2、下载镜像 docker pull nginx#从仓库中下载镜像,若没有指定标签,则下载最新的版本,也就是标签为: la…

Python快速刷题网站——牛客网 数据分析篇(十五)

👦👦一个帅气的boy,你可以叫我Love And Program 🖱 ⌨个人主页:Love And Program的个人主页 💖💖如果对你有帮助的话希望三连💨💨支持一下博主 前言 本文将继续学习pan…

MySQL的行锁、间隙锁和临建锁

目录 行锁 间隙锁&临键锁 行锁 InnoDB实现了以下两种类型的行锁: 共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排它锁。 //共享锁和共享锁兼容,共享锁和排他锁互斥。 排他锁&#…

43 多个相同限定名类型同时存在导致的继承结构混乱的情况

前言 // 四刷天府绿道 呵呵 在前面文章中 jetty-runner:jar:9.3.20 和 tomcat-embed-core-8.5.29 的 JarScannerCallback 不兼容, 导致服务启动失败 提到了这样的一个问题 我们再看一下这里的 callback 的接口, jetty-runner 的这个对象里面是没有 void scan(Jar jar, Str…

【附源码】计算机毕业设计SSM民宿短租系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

JavaEE - Servlet(向服务器上传文件 Part类)

我们在需要向服务器上传文件时,在前端需要使用form表单,form表单需要使用特殊的类型 form-data 此时提交文件的时候,浏览器会把文件内容以form-data的格式构造到HTTP请求中,服务器就可以通过getPart获取了 需要注意:…

2.idea 标定相关

1.发现 VINS对于参数准确性的要求高于ORBSLAM。依据是相同的参数,ORBSLAM可以提供准确的定位结果,但是VINS很容易就会发散。在线标定外参很有效,经历过几次外参标定以后的外参给VINS可以获得很好的效果,但是不排除只是针对这个场景,随后测试如果效果好,考虑给ORBSLAM3增加…

Redis常见的问题

① 缓存雪崩 缓存雪崩是指在短时间内,有⼤量缓存同时过期,导致⼤量的请求直接查询数据库,从⽽对数据库造成 了巨⼤的压⼒,严重情况下可能会导致数据库宕机的情况叫做缓存雪崩。 我们先来看下正常情况下和缓存雪崩时程序的执⾏流…

docker安装tomcat、mysql、redis

一、tomcat 1.下载tomcat8docker pull tomcat:8.5.612.启动容器(-d 后台启动)docker run -d -p 8080:8080 tomcat:8.5.61 3.访问首页http://ip:8080/访问不到 404 解决:需要修改tomcat下的文件夹 如下 进入后webapps.dist改为webapps 二、mysql 1.拉取mysqldocker pull mys…

网课题搜答案公众号接口系统

网课题搜答案公众号接口系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台&#xf…

分布式数据库的基本概念

1.分布式数据库系统的产生和定义 产生原因: 经济的发展:经济发展:跨国公司:产生一个地方需要管理另外一个地方数据的需求 发展历程: 20世纪70年代末 成长于80年代 第一个数据库系统SDD-1是美国计算机公司(CAA)于1976年-1978年…

浏览器插件官方demo学习(一):基本代码、页面渲染、书签、cookie、Omnibox等

前言 参考:https://github.com/GoogleChrome/chrome-extensions-samples 官方目前只提供了几个基于v3版本的例子,其他例子都是基于v2版本的(可能是官方比较忙,没空写例子吧)。先从v3版本的例子开始学习,后…