天津低价网站建设,互联网网站名字,云南公司网站建设,wordpress有没有付费欢迎诸位来阅读在下的博文~ 在这里#xff0c;在下会不定期发表一些浅薄的知识和经验#xff0c;望诸位能与在下多多交流#xff0c;共同努力!
江山如画#xff0c;客心如若#xff0c;欢迎到访#xff0c;一展风采 文章目录 一、SRS简介二、SRS的应用场景三、环境搭建…
欢迎诸位来阅读在下的博文~ 在这里在下会不定期发表一些浅薄的知识和经验望诸位能与在下多多交流共同努力!
江山如画客心如若欢迎到访一展风采 文章目录 一、SRS简介二、SRS的应用场景三、环境搭建四、推流和拉流使用ffmepg推流和拉流使用OBS推流推荐 五、补充 一、SRS简介
SRSSimple Realtime Server是一个简单高效的实时视频服务器支持多种直播和录播场景。SRS由国内开发者创建是一款开源流媒体服务器软件。它支持RTMP、WebRTC、HLS、HTTP-FLV等多种协议适用于直播、录播和视频客服等多种场景。 SRS的主要特点包括
高效性能SRS设计简洁具有高性能的特点能够处理大量的并发连接和流媒体数据。多种协议支持SRS支持多种流媒体协议包括RTMP、WebRTC、HLS、HTTP-FLV等能够满足不同场景的需求。易用性SRS提供了简单的配置文件用户可以通过修改配置文件来快速部署和定制自己的流媒体服务器。稳定性SRS在设计和实现上注重稳定性能够保证长时间稳定运行适用于生产环境。社区支持作为一个开源项目SRS拥有活跃的社区用户可以在社区中获取支持、分享经验并参与项目的贡献。扩展性SRS支持插件机制用户可以根据需要开发自己的插件来扩展SRS的功能。 SRS适用于多种应用场景包括但不限于
直播支持直播流的发布和分发适用于在线教育、游戏直播、体育赛事直播等。录播支持视频的录制和点播适用于视频网站、在线教育平台等。视频客服支持视频通话和屏幕共享适用于在线客服、远程协作等。
SRS网址
二、SRS的应用场景
SRS是一个简单高效的实时视频服务器支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、GB28181等协议。传统的视频监控客户端都是Windows PC桌面客户端现在很多公司需要实现通过Web查看远程的视频监控此时可以通过RTSP/GB28181推流发送到SRS服务器然后通过RTMP或者HTTP-FLV协议进行拉流查看远程摄像头的视频。传统的推流端都需要安装应用软件才能实现推流但是目前也有Web化的趋势需要通过浏览器网页将音视频画面推送给观众此时就可以通过WebRTC推流到SRS流媒体服务器然后观众通过RTMP、HTTP-FLV等方式观看直播。
三、环境搭建
参考环境Windows10 VMware虚拟机下配置好Ubuntu20.04(包括网络)、Windows 和 Ubuntu系统都要配置好FFmpeg工具。 ffmpeg的搭建可参考以下博客 FFmpeg的入门实践系列一 1、SRS的源代码下载 github源https://github.com/ossrs/srs.git 码云源https://gitee.com/ossrs/srs.git 如果GitHub较慢可以使⽤码云的源 在Ubuntu20.04中选择一个自定义的文件夹进入输入以下命令
git clone -b 4.0release https://gitee.com/ossrs/srs.git2、进入到trunk文件夹开始编译
sudo cd srs/trunk
sudo ./configure
sudo make -j43、启动服务器 注 -c 后面是srs的系统配置文件可以修改里面的属性来灵活配置srs系统
./objs/srs -c conf/srs.conf4、 查看SRS的状态
./etc/init.d/srs status或者看SRS的日志
tail -n 30 -f ./objs/srs.log结果如下 5、关闭服务器 srs服务器默认都是后台运行的所以要退出可以输入以下命令
sudo kill -SIGQUIT srs_pid至此环境搭建好了可以看出srs的搭建非常容易。
四、推流和拉流
使用ffmepg推流和拉流
Windows10系统充当推流方和拉流方Linux系统充当服务器如图 1、winR 输入cmd创建命令行 输入
ffmpeg -re -i fuzhou.mp4 -c copy -f flv rtmp://192.168.159.128/live/livestream注意-i 后面是要推流的文件路径-re 是以输入文件的实际帧率进行推流保持原始速度-f 指定输出格式为flv。后面的网络地址要填写linux的网络其它不变。live是应用实例的名称而livestream是流名称这两个都可以在srs系统的配置文件(srs.conf)中更改。
想详细了解ffmpeg的命令可参考以下博客 FFmpeg命令详解
2、再次winR 输入cmd创建命令行 输入
ffplay rtmp://192.168.159.128/live/livestream此时会播放上面的.mp4文件则说明成功~
使用OBS推流推荐
OBS (Open Broadcaster Software) 是一款开源的视频直播和屏幕录制软件。它允许用户捕捉、合成、编码、录制和流式传输视频内容。OBS 广泛应用于游戏直播、在线教育、体育赛事直播、远程会议、实时视频制作等多种场景。 以下是 OBS 的一些主要特点
跨平台OBS 支持多个操作系统包括 Windows、macOS 和 Linux。免费开源OBS 是完全免费的并且其源代码可以在 GitHub 上找到任何人都可以自由使用、修改和分发。多源输入OBS 支持多种输入源包括 游戏捕获摄像头屏幕捕获媒体播放器如 VLC图像源文本源使用 HTML 实时合成用户可以将多个输入源组合在一起创建复杂的场景布局。编码器支持OBS 支持多种编码器如 x264、x265、AAC、MP3 等。流式传输OBS 可以将视频流式传输到多种目的地包括 RTMP 服务器、YouTube、Twitch、Facebook Live 等。录制除了直播OBS 还可以录制视频到本地文件支持多种格式如 MP4、FLV、MKV 等。插件系统OBS 提供了一个插件系统允许用户安装额外的插件来扩展其功能。社区支持OBS 拥有一个活跃的社区用户可以在社区中寻求帮助、分享经验、贡献代码。 OBS 的使用相对简单用户可以通过以下步骤来设置和使用 OBS下载并安装 OBS。设置场景和输入源。配置输出设置包括流式传输目的地和录制选项。开始捕获和流式传输。 OBS 是直播和录播领域的热门工具之一其开源和免费的特点使其成为许多用户和开发者的首选。
OBS官网https://obsproject.com/download 下载好后点击如下 选择本地文件 然后是重点配置服务器地址当诸位想在b站直播时使用该软件也是在此地设置b站提供的服务器的
上面的推流码就是流名称这里是livestream。
最后点击开始直播就可以推流了。拉流的步骤同上这里不再多讲。 扩展如果想推流桌面或者摄像头的画面可以在来源中选择 总之OBS是一款很好用的推流软件非常推荐~
五、补充
修改ffplay的缓存降低延迟 1码流分析时间设置单位为微秒 ffplay -i rtmp://114.215.169.66/live/livestream -analyzeduration 500000 ffplay -i rtmp://114.215.169.66/live/livestream -analyzeduration 10000
2减少缓冲 ffplay -i rtmp://114.215.169.66/live/livestream -fflags nobuffer
至此结束~ 望诸位不忘三连支持一下~