我们提供安全,免费的手游软件下载!
《FFmpeg开发实战:从零基础到短视频上线》一书中的第10章介绍了轻量级流媒体服务器MediaMTX,该工具可用于测试RTSP/RTMP等流媒体协议的推拉流。然而,MediaMTX的功能相对简单,无法满足真实直播生产环境的需求。在生产环境中,更适用的流媒体服务器包括SRS和ZLMediaKit。
SRS是一款国产的开源实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181等流媒体协议。SRS媒体服务器与FFmpeg、OBS、VLC、WebRTC等客户端配合使用,提供音视频流的接收和分发能力,是一个典型的发布(推流)和订阅(播放)服务器模型。SRS支持互联网广泛应用的音视频协议转换,例如将RTMP或SRT转换成HLS或HTTP-FLV或WebRTC等协议。
结合FFmpeg和SRS,可以方便地测试音视频的推拉流。下面将以华为的欧拉系统为运行环境,介绍如何编译、安装和调试SRS的详细操作步骤。
一、编译安装SRS
1、登录Linux服务器(例如华为云的欧拉系统),运行以下命令安装SRS的依赖包。
2、执行以下命令从gitee下载SRS的源码。
3、进入SRS的主干源码目录,运行以下命令配置SRS。
4、运行以下命令编译SRS。命令执行完毕后,SRS的可执行程序srs将在srs/trunk/obj目录下生成。
二、编译安装FFmpeg
在Linux系统编译安装FFmpeg的详细步骤请参见《FFmpeg开发实战:从零基础到短视频上线》一书的“1.2 Linux系统安装FFmpeg”,这里不再赘述。
三、启动SRS
1、进入SRS的主干配置目录,执行以下命令:
2、打开配置文件srs.conf,在vhost __defaultVhost__里面补充以下一行配置:
以上配置表示开启缓存关键帧,一定要设置为on,否则客户端拉流找不到关键帧就无法渲染画面。修改完毕后,保存并退出srs.conf。
3、执行以下命令,启动SRS服务。
4、检查服务器是否开启了以下端口:1935端口,用于rtmp协议,访问“rtmp://”开头的直播地址需要。8080端口,用于http协议,访问“http://”开头的直播地址需要。
四、检查SRS的视频推拉流
1、执行以下命令,将本地视频通过RTMP协议推流给SRS。
注意:SRS不支持RTSP推流,只支持RTMP推流。
2、打开VLC播放器,依次选择菜单“媒体”→“打开网络串流”,在网络URL框中输入下列任一地址,观看能否正常播放视频画面。
注意需要把上述地址中的“124.***.***.***”替换为流媒体服务器实际的公网地址。
更多详细的FFmpeg开发知识请参见《FFmpeg开发实战:从零基础到短视频上线》一书。
相关资讯
热门资讯