H.265+SRS6.0服务器部署
H.265+SRS6.0服务器部署
SRS从6.0开始,全面支持H.265,包括RTMP、FLV、HLS、GB28181、WebRTC等等。具体的服务器部署及H.265推流步骤如下。
1. SRS
要支持h265,需要确保SRS的版本为6.0.4+
1 | git clone https://github.com/ossrs/srs.git |
编译完成后即可启动SRS
1 | # 启动 |
2. ffmpeg
rtmp推流封装格式一般为flv,flv原生不支持h265。但是可以通过给ffmpeg打补丁来实现rtmp的h265推流,具体操作如下。
libx264
编译编码库libx264
1 | git clone https://code.videolan.org/videolan/x264.git |
libx265
编译编码库libx265
1 | git clone https://bitbucket.org/multicoreware/x265_git.git |
设置环境变量
将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 | git clone -b 5.1 https://github.com/runner365/ffmpeg_rtmp_h265.git |
ffmpeg编译
1 | git clone https://github.com/FFmpeg/FFmpeg.git |
推流
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 进行许可。