目录
序言
最近在研究推流服务器,部署过SRS、ZLMediaKit等服务,从2者的使用来看,SRS相对表现优异,支持众多的媒体格式!
然而,强中自有强中手,在Go2RTC的面前,忽然感觉他们都不香了!
这款新进开源的服务,支持跨平台部署,占用资源极少,并且配置简单,使用方便,简直堪称直播推流的神器!
1. Go2RTC
一图就足矣概括其功能,在FFMPEG的加持下,几乎任意的媒体格式都可以作为源被推到go2rtc,然后再通过浏览器形式输出。
-
适用于所有操作系统(Windows, macOS, Linux, ARM), 零依赖和零配置小应用程序
-
支持许多的协议的零延迟(尽可能低的流延迟)
-
流可以来自RTSP, RTMP, DVRIP, HTTP (FLV/MJPEG/JPEG/TS), USB摄像头和其他来源
-
流从支持FFmpeg的任何源
-
流转换到RTSP, WebRTC, MSE/MP4, HLS或MJPEG
-
世界上第一个支持HomeKit相机的流媒体的项目
-
世界上第一个在浏览器中支持H265 WebRTC的项目(仅限Safari)
-
通过FFmpeg支持更多的编解码器
-
播放音频文件和直播流
-
多源双向编解码器协商
-
从不同的来源到单一的流(混合轨道)
-
自动匹配客户端支持的编解码器
-
一些相机的双向音频
-
通过Ngrok支持私人网络流媒体
-
可以集成到任何智能家居平台或作为独立的应用程序使用
2 优势-支持WebRTC
WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC 使用了很复杂的信令,因此基于WebRTC可能需要开发信令服务,这足矣让很多人止步。
不过,go2rtc已经增加了webrtc的支持,那减轻了很多编程压力,并且提供了优秀的延迟体验。
在不同的网络带宽下模拟websocket方式的播放流畅度,其效果都是优于其他方案,因此如果你在选择类似方案,可以优先考虑该服务。
3. 用法
下载安装程序。
执行
go2rtc
打开浏览器查看 http://localhost:1984/
.
4.配置
配置文件保存在 go2rtc.yaml
.
-
api 默认在 1984 端口(TCP)
-
rtsp 默认使用 8554 端口(TCP)
-
webrtc 启动 8555 (TCP/UDP) 端口
-
ffmpeg使用默认配置
一个简单的例子
streams:
hikvision1:
- rtsp://admin:password@192.168.1.123:554/Streaming/Channels/101
- isapi://admin:password@192.168.1.123:80/
5.github地址
不要错过这个优秀的开源程序。 来这里:https://github.com/AlexxIT/go2rtc。