h265视频流rtmp推流服务器搭建

一、使用srs( 支持h265编码格式)版本。

SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。
1、下载
下载支持h265的版本。

SRS GB28181功能已经合并到了SRS 5.0,请参考SRS #3176,使用5.0.74+版本。

SRS Windows功能已经合并到了SRS 5.0,请参考SRS #2532,使用5.0.89+版本。

SRS HEVC功能已经合并到了SRS 6.0,请参考SRS #465,使用6.0.4+版本。

下载完直接通过Xshell放入linux服务器中。
2、编译
cd srs/trunk
./configure --h265=on 或者 ./configure --h265=on --prefix=/usr/local/srs
执行 make 进行编译,这个过程需要等待一两分钟。
执行安装命令 make install,安装完成之后在我们的/usr/local/srs路径下将会有我们的所需要的所有文件。
3、运行
3.1删除进程记录文件。rm -f /usr/local/srs/objes/srs.pid
3.2执行(先切换目录,再执行。否则有时无法启动)
cd /usr/local/srs
/usr/local/srs/objs/srs -c /usr/local/srs/conf/srs.conf
3.3检查srs是否启动成功。
方法一、可以打开http://ip地址:8080 查看运行状态。比如:http://192.168.1.100:8080
方法二、执行命令查看
#查询srs状态
./etc/init.d/srs status
#查看srs日志
tail -n 30 -f /usr/local/srs/objs/srs.log

二、使用ffmpeg推流

当前官方ffmpeg的rtmp推/拉流默认不支持hevc的编码,所以需要重新对ffmpeg进行hevc in flv的自定义修改。
需要修改3个文件即可:
libavformat/flv.h 新增hevc类型定义:
enum {
    FLV_CODECID_H263    = 2,
    FLV_CODECID_SCREEN  = 3,
    FLV_CODECID_VP6     = 4,
    FLV_CODECID_VP6A    = 5,
    FLV_CODECID_SCREEN2 = 6,
    FLV_CODECID_H264    = 7,
    FLV_CODECID_REALH263= 8,
    FLV_CODECID_MPEG4   = 9,
    FLV_CODECID_HEVC    = 12,
};
libavformat/flvdec.c 
支持hevc编码的flv解封装
libavformat/flvenc.c 
支持hevc编码的flv封装
如何编译支持hevc in flv的ffmpeg,请参考https://github.com/runner365/ffmpeg_rtmp_h265

rtmp推流hevc视频编码,如下:
ffmpeg -re -i source.flv -c:v libx265 -c:a copy -f flv rtmp://192.168.1.100/live/livestream
ffplay播放hevc,如下:
ffplay rtmp://192.168.1.100/live/livestream

三、web播放h265视频流

使用Jessibuca插件,支持h265和h264格式http-flv文件流。
http://jessibuca.monibuca.com/player-pro.html

猜你喜欢

转载自blog.csdn.net/byxdaz/article/details/129987222