当前位置:网站首页>FFmpeg编译支持x264/openH264/dash
FFmpeg编译支持x264/openH264/dash
2022-08-09 04:04:00 【HUI的技術筆記】
下载编译FFmpeg代码
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
mkdir out
cd out
../configure --enable-static --enable-shared --enable-libx264 --enable-gpl \
--enable-nonfree --enable-sdl --enable-ffplay --disable-optimizations --enable-debug \
--extra-cflags=-g --enable-libfdk-aac --enable-libopenh264 --enable-libx264 \
--enable-demuxer=dash --enable-libxml2 --enable-libmp3lame
sudo make -j8 install
这个configure项是已经解决了依赖问题,有些库可以直接安装dev库,有些需要自己编译,安装方法在后面。
这里建一个out目录,编译生成的临时文件都会放在out目录下,不会存在于代码目录,看着干净很多。
--extra-cflags=-g
是为了生成debug信息,方便我随时使用vscode或者qtcreator进行调试跟踪代码。
安装依赖库
sudo apt install nasm
sudo apt install libsdl2-dev
sudo apt install libsdl2-dev
sudo apt install libxcb-dev
sudo apt install libxcb-xfixes0-dev
sudo apt install libxcb-shm0-dev
sudo apt install lksctp-tools-dev
sudo apt install libsctp-dev
sudo apt install libfdk-aac-dev
sudo apt install libx264-dev
sudo apt install liblz-dev
sudo apt install liblzma-dev
sudo apt install libfdk-aac-dev
enable dash demuxer
增加:--enable-demuxer=dash --enable-libxml2
--enable-static --enable-shared --enable-libx264 --enable-gpl --enable-nonfree --enable-sdl \
--enable-ffplay --disable-optimizations --enable-debug --extra-cflags=-g \
--enable-libfdk-aac --enable-libopenh264 --enable-libx264 --enable-demuxer=dash
编译libx264依赖
git clone https://github.com/mirror/x264.git
cd x264
./configure
sudo make install
编译openh264依赖
git clone https://github.com/cisco/openh264.git
cd openh264
meson build
sudo ninja -C build/ install
编译libxml2依赖
git clone https://github.com/GNOME/libxml2.git
./autogen.sh
./configure
sudo make -j8 install
找不到pyton2.7
checking for PYTHON... no
configure: error: Package requirements (python-2.7) were not met:
No package 'python-2.7' found
发现ubuntu20.04上已经没有源能安装pyton2.7-dev,所以就找了下电脑上以后的,实际上开发项目比较多的话会有很多可以用的,不用自己安装了:
locate *.pc | grep "python-2.7.pc"
/home/hui/disk4t/codes/gstreamer/gst-open-source/build/android-ndk-18/prebuilt/\
linux-x86_64/lib/pkgconfig/python-2.7.pc
配置PKG_CONFIG_PATH后重新configure,然后再执行sudo make install(默认路径/usr/local/lib/pkgconfig/libxml-2.0.pc
):
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/hui/disk4t/codes/gstreamer/\
gst-open-source/build/android-ndk-18\/prebuilt/linux-x86_64/lib/pkgconfig/
当然,还需要配置下cflags和ldflags,如下就可以了:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"/home/hui/disk4t/codes/gstreamer/\ gst-open-source/build/android-ndk-18\/prebuilt/linux-x86_64/lib/pkgconfig/"
export PYTHON27_INC="/home/hui/disk4t/codes/gstreamer/gst-open-source/build/\ android-ndk-18/prebuilt/linux-x86_64/include/python2.7"
export PYTHON27_LIBS="/home/hui/disk4t/codes/gstreamer/gst-open-source/build/\ android-ndk-18/prebuilt/linux-x86_64/lib/"
./configure CFLAGS="-I${PYTHON27_INC}" LDFLAGS="-L${PYTHON27_LIBS}/lib" --without-python
apt search xxx可以查找一些库可用apt安装的版本,找到之后,然后通过sudo apt install xxx
安装即可。
比如:
$ apt search libogg
Sorting... Done
Full Text Search... Done
libogg-dbg/focal 1.3.4-0ubuntu1 amd64
debugging symbols for libogg
libogg-dev/focal,now 1.3.4-0ubuntu1 amd64 [installed,automatic]
Ogg bitstream library development files
libogg0/focal,now 1.3.4-0ubuntu1 amd64 [installed,automatic]
Ogg bitstream library
安装:
$ sudo apt install libogg-dev
边栏推荐
猜你喜欢
随机推荐
关于微软2022/2023秋招内推的几句
「竞品分析报告」不会写?不知从哪收集数据?请收下这篇竞品指南
MutationObserver接口(一) 基本用法
UI中级操作(倾斜和雷达效果)
『HarmonyOS』Page与AbilitySlice的生命周期
了解CV和RoboMaster视觉组(五)运动建模与预测
了解CV和RoboMaster视觉组(五)local-distribution汇聚方法
Oracle并行检索
Talking about the process and how to create it
器件可靠性与温度的关系
了解CV和RoboMaster视觉组(五)CNN没有不变性?
“error“: { “root_cause“: [{ “type“: “circuit_breaking_exception“, “reason“: “[parent] D【已解决】
Go常用命令与基础语法
项目中'说到做不到'的个人分析
Polygon zkEVM Prover
技术分享 | 如何模拟真实使用场景?mock 技术来帮你
【图形学】20 基础纹理(一、单张纹理)
了解CV和RoboMaster视觉组(五)目标跟踪:基于深度学习的方法
leetcode 1805. 字符串中不同整数的数目
leetcode 5724. 绝对差值和