ffmpeg安装教程(支持10bit编码)

news/2024/7/10 18:55:51 标签: ffmpeg, 视频编解码


最近因为工作需要,要进行265 10bit编码,所以打算把ffmpeg, x265重新编译下。

1. 编译安装支持10bit的x265库

要让x265支持10bit编码,只需要修改CMake的一个编译选项即可:

git clone https://github.com/videolan/x265.git
cd x265-master/source
vim CMakeLists.txt

把option(HIGH_BIT_DEPTH “Store pixel samples as 16bit values (Main10/Main12)” OFF)修改为option(HIGH_BIT_DEPTH “Store pixel samples as 16bit values (Main10/Main12)” ON)即可;

最后执行CMake编译即可:

cd x265-master/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/x265_10bit  -DENABLE_SHARED=ON ../source
make -j4
make install

检验是否是真的支持10bit:

cd /usr/local/x265_10bit/bin
./x265 --help

输出信息如下:

x265 [info]: HEVC encoder version 2.3
x265 [info]: build info [Linux][GCC 4.4.7][64 bit] 10bit

说明支持10bit编码了。

2. 编译安装x264

git clone https://github.com/mirror/x264.git
cd x264
./configure --enable-static --disable-opencl --disable-avs  --disable-cli --disable-ffms --disable-gpac --disable-lavf --disable-swscale
make
make install

ffmpeg_46">3. 把新编译的支持10bit编码的x265库集成到ffmpeg

git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg-master
./configure  --enable-ffmpeg --enable-ffplay --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads   --enable-libx264 --enable-libx265
make -j4
make install

4. ERROR: x265 not found using pkg-config的解决方法

在安装ffmpeg --enable-libx265出现ERROR: x265 not found using pkg-config的问题
解决问题三步走

  • 第一步:先查看错误日志文件vi ffbuild/config.log,查明出现错误原因 我这里是找不到x265.pc文件路径
    在这里插入图片描述
  • 第二步:当前终端执行命令添加环境变量export
    PKG_CONFIG_PATH=/usr/local/x265/lib/pkgconfig(路径是你安装x265的路径,按自己的修改添加即可)
    如果是线程函数的问题那就在生成的x265.pc文件中Libs.private这一行添加链接库 -lpthread,具体原因按照第一步分析
  • 第三步:ok

5. 最后


http://www.niftyadmin.cn/n/1715236.html

相关文章

golang实现时间轮

golang原生定时器 http://c.biancheng.net/view/5723.html https://www.cyhone.com/articles/analysis-of-golang-timer/ 原生的定时器存在一些问题 我们其实能够发现Go语言标准库中的定时器在计时时间较短并且并发较高时有着非常明显的问题,所以在一些性能非常敏…

golang rpc protobuf protorpc

原生rpc 参考: https://geektutu.com/post/quick-go-rpc.html server.go // server/main.go package mainimport ("log""net/http""net/rpc" )type Result struct {Num, Ans int }type Cal intfunc (cal *Cal) Square(num int, res…

图像降噪之Unprocessing Images for Learned Raw Denoising

1. 摘要 当用于训练的数据与用于评估的数据相似时,机器学习技术最有效。这对于学习过的单图像去噪算法来说是正确的,这些算法应用于真实的原始相机传感器读数,但由于实际的限制,通常在合成图像数据上进行训练。虽然从合成图像推广…

rancher rook-ceph踩坑之旅

安装参考官方文档就行 说几个踩的坑: sudo yum install -y lvm2All nodes with available raw devices will be used for the Ceph cluster. At least three nodes are required,这个很重要!我在安装zookeeper的时候就会报莫名其妙的错误&a…

图像修复之DeepFill: Free-Form Image Inpainting with Gated Convolution

1. 摘要 作者提出了一种生成式图像修复系统,该系统基于从数百万个图像中学习的门控卷积,无需额外的标记工作。作者所提出的卷积解决了将所有输入像素都视为有效像素的香草卷积问题,通过为所有通道在所有层上的每个空间位置提供可学习的动态特…

大白话之tekton

我很喜欢tekton的logo,我决定用它的原因不是因为他是谷歌的亲儿子,单纯因为和我家柴犬长得很像。 流水线 在计算机中,流水线是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术,也叫 Pip…

大白话 k8s UserAccount ServiceAccount RBAC之间的关系

账户类型 User Account(用户账户) Service Account(服务账户) User Account是为人设计的,而Service Account则是为Pod中的进程调用Kubernetes API而设计。 大白话,k8s就是一个会所,User Account就是你能不能进会所的凭证,光进会…

老照片修复之Bringing Old Photos Back to Life

1. 摘要 老照片修复中面临着许多的图像处理问题,比如填孔洞、去划痕、上色、去噪等,也就是说包含了多种图像退化问题。而使用深度学习进行训练时往往需要制造样本对,但是真实的低质量数据包含多种退化问题,想要通过正常图像模拟出…