我们提供安全,免费的手游软件下载!

安卓手机游戏下载_安卓手机软件下载_安卓手机应用免费下载-先锋下载

当前位置: 主页 > 软件教程 > 软件教程

使用SRS和FFmpeg进行流媒体服务器的编译、安装和调试

来源:网络 更新时间:2024-07-07 15:30:37

《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开发实战:从零基础到短视频上线》一书。