ffmpeg编译支持h265的rtmp ubuntu版本

2 篇文章 0 订阅

一、编译x264库
解压last_x264.tar.bz2
执行以下命令
./configure --enable-shared --enable-static --disable-asm --prefix=/home/libx264
make
make install
全部成功后会在/home/libx264目录下生成libx264头文件和库文件
二、编译fdk-aac库
解压fdk-aac-2.0.1.tar.gz
执行以下命令
./configure --prefix=/home/libfdk_aac
make
make install
全部成功后会在/home/libfdk_aac目录下生成libfdk_aac头文件和库文件
三、编译x265库
安装cmake和ccmake:
sudo apt install cmake
sudo apt-get install cmake-curses-gui
解压x265-master.zip
执行以下命令
cd x265-master/build/linux
sh make-Makefiles.bash
make
make install
编译好的执行文件、头文件和库文件默认放在/usr/local/bin、/usr/local/include和/usr/local/lib下
把执行文件、头文件、库文件拷贝到/home/libx265目录下

四、编译FFmpeg源码
解压ffmpeg-4.1.3.tar.bz2
注意:为了编译出支持H265的rtmp,需要在执行编译前先进入libavformat更改flv.h、flvenc.c、flvdec.c
源码修改对比
flv.h:
在这里插入图片描述

flvdec.c:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

flvenc.c:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意:ff_hevc_annexb2mp4,而应该用ff_hevc_annexb2mp4_buf
在这里插入图片描述
在这里插入图片描述

执行以下命令
./configure --enable-shared --enable-static --disable-debug --prefix=/home/ffmpeg --enable-gpl --enable-libx264 --extra-cflags=-I/home/libx264/include --extra-ldflags=-L/home/libx264/lib --enable-libx265 --extra-cflags=-I/home/libx265/include --extra-ldflags=-L/home/libx265/lib --enable-libfdk-aac --extra-cflags=-I/home/libfdk_aac/include --extra-ldflags=-L/home/libfdk_aac/lib --extra-libs=-ldl --enable-nonfree --disable-x86asm --enable-ffmpeg

注意:
当执行./configure时遇到ERROR: x265 not found using pkg-config这个错误时,先执行下:
sudo apt install pkg-config
然后继续编译ffmpeg
make
make install
全部成功后会在/home/linux-ffmpeg目录下生成ffmpeg头文件和库文件
五、设置环境变量
全部编译成功后,设置环境变量,如下
vi /etc/ld.so.conf.d/*.conf
/home/linux-ffmpeg/lib/
/home/linux-libx264/lib/
/home/linux-libx265/lib/
/home/linux-libfdk_aac/lib/
把以上添加到/etc/ld.so.conf里面后保存退出,执行ldconfig
六、测试ffmpeg命令行推流rtsp(H265、H264)成rtmp
进入,执行命令
1、H265推流成RTMP
./ffmpeg -rtsp_transport tcp -i rtsp://admin:admin@192.168.1.100:554/video -vcodec hevc-acodec aac -f flv rtmp://127.0.0.1/live/stream
![在这里插入图片描述](https://img-blog.csdnimg.cn/72e90461a984419d957226da8e6d5cc1.png

2、H264推流成RTMP
./ffmpeg -rtsp_transport tcp -i rtsp://admin:admin@192.168.1.100:554/video2 -vcodec libx265-acodec aac -f flv rtmp://127.0.0.1/live/stream

参考博客:
https://blog.csdn.net/qq_22633333/article/details/112964827

源码下载:
https://download.csdn.net/download/admin_dyg/86025274

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用FFmpeg编译h265带硬解是一项比较复杂的过程,需要了解一些有关编译的知识和操作方法。首先需要准备好编译环境,包括相应的工具链和库文件。其次需要下载FFmpeg的源代码并进行配置和编译。在配置时需要加入相应的选项,以启用h265的硬件解码功能。具体的操作方法如下: 1.准备编译环境 首先需要安装相应的编译工具和库文件,比如GCC、make、x264、yasm等。以Ubuntu系统为例,可以通过以下命令来安装: sudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev \ libxext-dev libxfixes-dev zlib1g-dev pkg-config nasm libmp3lame-dev libopus-dev 2.下载并配置FFmpeg源代码 可以从FFmpeg官网或者Github上下载最新版源代码,并解压到本地。然后在命令行中进入FFmpeg源代码所在的目录,执行以下命令进行配置和编译: ./configure --enable-gpl --enable-libx265 --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libfreetype --enable-libfontconfig --enable-libass 3.编译并安装 执行完以上命令后,在同级目录会生成一个Makefile文件,可以使用make命令进行编译编译完成后,可以使用checkinstall命令来将生成的二进制文件打包安装。 sudo checkinstall --pkgname=ffmpeg --pkgversion="$(date +%Y%m%d%H%M)git" --backup=no --deldoc=yes --fstrans=no --default 以上就是使用FFmpeg编译h265带硬解的基本过程,需要注意的是,由于硬解需要依赖具体的硬件设备,因此在不同的平台上可能会存在一些细节上的差异。如果遇到问题,可以参考FFmpeg的官方文档或者社区中的相关讨论进行解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值