前言
最近需要通过虚幻引擎在linux环境下播放视频,所以研究了一下vlc在linux下的编译。
下载vlc
vlc地址地址在github上 https://github.com/videolan/vlc 这里我们下载的是3.0。18版本
安装编译依赖
sudo apt install autoconf automake libtool curl make g++ unzip
sudo apt install git build-essential pkg-config libtool autopoint gettext
sudo apt install subversion yasm cvs cmake ragel
sudo apt install gperf default-jdk ant flex flex-old bison
sudo apt install libcaca-dev libncursesw5-dev libasound2-dev lua5.2-dev libxcb-keysyms1-dev
sudo apt install lua5.2 openjdk-8-jdk ant nasm libxcb-composite0 libxcb-composite0-dev
sudo apt install libxcb-xv0 libxcb-xv0-dev wayland-protocols
编译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 的源代码目录:
cd vlc
进入 contrib 目录并创建 native 目录
进入 contrib 目录,并创建一个 native 目录用于本地构建:
cd contrib
mkdir native
cd native
运行 bootstrap 脚本
运行 bootstrap 脚本来初始化构建系统。这将生成必要的配置文件,并准备构建环境:
../bootstrap
下载和编译依赖项
make
编译vlc
cd vlc
sudo ./configure --prefix=/vlcbuild --enable-run-as-root --disable-lua --disable-srt --disable-dca --disable-libass --disable-css --disable-upnp --disable-chromaprint --disable-freetype --enable-realrtsp --enable-live555
sudo make && sudo make install
之后会在vlcbuild目录生成编译后的库
编译报错处理
No package 'xcb-randr' found
在 Ubuntu 上,可以通过以下命令安装 xcb-randr 及其开发库
sudo apt update
sudo apt install libxcb-randr0-dev
安装完成后,可以使用 pkg-config 验证是否能够找到 xcb-randr:
pkg-config --exists --print-errors xcb-randr && echo "xcb-randr found" || echo "xcb-randr not found"
pkg-config --modversion xcb-randr
No package 'alsa' found
在 Ubuntu 上,可以通过以下命令安装 ALSA 及其开发库
sudo apt update
sudo apt install libasound2-dev
安装完成后,可以使用 pkg-config 验证是否能够找到 alsa:
pkg-config --exists --print-errors alsa && echo "alsa found" || echo "alsa not found"
pkg-config --modversion alsa
detected dubious ownership in repository at
这里是由于下载git的时候 用的是pc001 但是编译的时候用的是root导致的,切换到pc001账号即可。
VLC is unable to open the MRL
这里是由于live555没有编译进去导致的,用上面的编译脚本没有这个问题。
虚幻引擎播放
我的知识星球
请关注公众号g0415shenw 加入知识星球。星球地址 https://t.zsxq.com/15EvfoA7n 星球有本人经验心得全部总结 涵盖音视频,gb28181、虚幻引擎、其他编程工具等等。另外还可以在星球提问,我会尽力答复,等于给您多了一个引路人。