H.265+SRS6.0服务器部署

H.265+SRS6.0服务器部署

HolyZion

H.265+SRS6.0服务器部署

SRS从6.0开始,全面支持H.265,包括RTMP、FLV、HLS、GB28181、WebRTC等等。具体的服务器部署及H.265推流步骤如下。

1. SRS

要支持h265,需要确保SRS的版本为6.0.4+

1
2
3
git clone https://github.com/ossrs/srs.git
./configure --h265=on
make

编译完成后即可启动SRS

1
2
3
4
5
6
# 启动
./objs/srs -c conf/rtmp.conf
# 查看日志
tail -n 30 -f ./objs/srs.log
# 查看服务器状态
./etc/init.d/srs status

2. ffmpeg

rtmp推流封装格式一般为flv,flv原生不支持h265。但是可以通过给ffmpeg打补丁来实现rtmp的h265推流,具体操作如下。

libx264

编译编码库libx264

1
2
3
4
5
6
git clone https://code.videolan.org/videolan/x264.git
cd x264
mkdir build
./configure --prefix=$(pwd)/build --disable-asm --disable-cli --disable-shared --enable-static
make -j10
make install

libx265

编译编码库libx265

1
2
3
4
5
6
git clone https://bitbucket.org/multicoreware/x265_git.git
cd x265_git/build/linux
mkdir build
cmake -DCMAKE_INSTALL_PREFIX=$(pwd)/build -DENABLE_SHARED=OFF ../../source
make -j10
make install

设置环境变量

将libx264和libx265库的路径设置到环境变量中,以在编译ffmpeg时使用。根据自己的x264和x265的安装路径修改PKG_CONFIG_PATH。

1
export PKG_CONFIG_PATH=~/x264/build/lib/pkgconfig:~/x265_git/build/linux/build/lib/pkgconfig

ffmpeg补丁

为ffmpeg打补丁,以使rtmp/flv支持h.265

1
2
3
4
git clone -b 5.1 https://github.com/runner365/ffmpeg_rtmp_h265.git
cd ffmpeg_rtmp_h265
cp flv.h ~/FFmpeg/libavformat/
cp flv*.c ~/FFmpeg/libavformat/

ffmpeg编译

1
2
3
4
5
6
7
8
9
10
11
12
13
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
git checkout n5.1.2
mkdir build
./configure \
--prefix=$(pwd)/build \
--enable-gpl --enable-nonfree --enable-pthreads --extra-libs=-lpthread \
--disable-asm --disable-x86asm --disable-inline-asm \
--enable-decoder=aac --enable-decoder=aac_fixed --enable-decoder=aac_latm --enable-encoder=aac \
--enable-libx264 --enable-libx265 \
--pkg-config-flags='--static'
make -j10
make install

推流

1
./ffmpeg -stream_loop -1 -re -i test.flv -c:a copy -c:v libx265 -f flv rtmp://localhost:1935/live/test

测试

进入SRS的控制台

点击预览播放直播流

结尾

播放端对于H.265的支持还不是很完善。比如rtmp和webrtc原生都不支持H.265编码。所以要考虑播放端的H.265的兼容性问题。如果想要在拉流端播放视频流,可能需要借助第三方库或自行开发定制解决方案,以实现播放端的 H.265 解码。

  • 标题: H.265+SRS6.0服务器部署
  • 作者: HolyZion
  • 创建于 : 2023-09-02 00:00:00
  • 更新于 : 2023-11-18 00:11:21
  • 链接: https://holyzion.host/2023/09/02/H-265-SRS6-0服务器部署/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。