前言
最近需要通过虚幻引擎在linux环境下播放视频,所以研究了一下vlc在linux下的编译。
下载vlc
vlc地址地址在github上 https://github.com/videolan/vlc 这里我们下载的是3.0。18版本
安装编译依赖
编译vlc
VLC 的 contrib 构建系统是一个用来管理和构建 VLC 所需的外部第三方库和依赖项的系统。这个系统可以自动下载、编译并安装这些依赖项,从而简化了 VLC 的构建过程,确保所有依赖项都能正确配置和使用。
contrib 构建系统的主要功能
自动下载:contrib 构建系统可以自动下载 VLC 构建所需的所有第三方库的源代码或预编译包。
编译:contrib 构建系统会自动编译这些库,并确保它们与 VLC 兼容。
安装:编译完成后,这些库会被安装到 contrib 系统的指定目录中,以便 VLC 构建系统使用。
contrib 构建系统的目录结构
contrib/src:包含每个第三方库的下载、编译和安装规则的 Makefile 片段。
contrib/tarballs:存储下载的第三方库的源代码包
contrib/native:编译和安装第三方库的目标目录。
contrib/bootstrap:初始化 contrib 构建系统的脚本。
使用 contrib 构建系统的步骤
- 进入 VLC 源代码目录
首先,进入 VLC 的源代码目录:
- 进入 contrib 目录并创建 native 目录
进入 contrib 目录,并创建一个 native 目录用于本地构建:
- 运行 bootstrap 脚本
运行 bootstrap 脚本来初始化构建系统。这将生成必要的配置文件,并准备构建环境:
- 下载和编译依赖项
- 编译vlc
之后会在vlcbuild目录生成编译后的库
编译报错处理
No package 'xcb-randr' found
在 Ubuntu 上,可以通过以下命令安装 xcb-randr 及其开发库
安装完成后,可以使用 pkg-config 验证是否能够找到 xcb-randr:
No package 'alsa' found
在 Ubuntu 上,可以通过以下命令安装 ALSA 及其开发库
安装完成后,可以使用 pkg-config 验证是否能够找到 alsa:
detected dubious ownership in repository at
这里是由于下载git的时候 用的是pc001 但是编译的时候用的是root导致的,切换到pc001账号即可。
VLC is unable to open the MRL
这里是由于live555没有编译进去导致的,用上面的编译脚本没有这个问题。
虚幻引擎播放