建设网站的公司哪家好,小型企业管理系统软件,恒佳企划网站建设,计算机网站维护建设温馨提示#xff1a;我们分享的文章是给需要的人#xff0c;不需要的人请绕过#xff0c;文明浏览#xff0c;误恶语伤人#xff01;
前言
在软件开发中遇到使用流媒体音视频的行业比较多#xff0c;如安防监控系统、无人机巡逻视频上云处理、直播平台、教育与企业培训…温馨提示我们分享的文章是给需要的人不需要的人请绕过文明浏览误恶语伤人
前言
在软件开发中遇到使用流媒体音视频的行业比较多如安防监控系统、无人机巡逻视频上云处理、直播平台、教育与企业培训、内部通讯与协作等场景软件都需要把视频流实时传回并快速处理这需要能容易开发、处理速度快速、由于视频流处理很耗硬件资源则需要开发语言对应硬件的利用率要高、而且有的场景有众多接入设备需要开发对并发我们良好支持。综合这些要求Go语言是目前为止最合适开发语言有朋友可能说C和rust也合适但对于我们做web应用出生来说他们学习和开发成本太高所以对应我们web开发者朋友还是选择Go语言吧。
简单说一下为什么选择RTSP? RTSP作为一种网络控制协议在流媒体传输领域具有广泛的应用。它提供了对媒体流的控制功能支持多种传输层协议和媒体格式具有良好的可扩展性和跨平台性。通过与RTP和RTCP等协议协同工作RTSP可以实现高质量的流媒体传输和控制满足各种流媒体应用场景的需求。RTSP的媒体服务器可以轻松处理大量的 RTSP 流因为 RTSP 协议是通过客户端-服务器模式构建的。它原生支持无人机、物联网和机器人等各种设备具有广泛的兼容性。 RTMP也是常见的流媒体协议我们为什么不选主要原因有RTMP 流经常会出现低带宽问题造成视频中断还有是RTMP由 Macromedia后来被 Adobe 收购开发用于流式传输到 Flash 播放器由于安全原因flash已经被抛弃了相应的RTMP协议也应该被抛弃。
目前视频监控设备的海康威视、大华、宇视、华为等很多安防设备RTSP协议还有物联网场景中视频传输也选择RTSP下面看是这两场景选择RTSP说明
IP 摄像机选择RTSP 几乎所有 IP 摄像机都支持 RTSP这是因为 IP 摄像机早在 RTMP 协议创建之前就已经存在与 RTSP 和 IP 摄像机结合使用时IP 摄像机本身充当 RTSP 服务器这意味着要将摄像机连接到 IP 摄像机服务器并广播视频。
物联网设备选择RTSP RTSP 通常内置在无人机或物联网软件中从而可以访问视频源它的好处之一是低延迟确保视频中没有延迟这对于无人机来说至关重要。
我们知道了RTSP重要性后我们就进入正题了一起看如何开发掌握开发自己RTSP流媒体服务在软件项目开发者我们不必从零自己搜戳一个自己开发耗时长且不稳定在项目我们不会有太多时间来搞很多项目都希望我们快速开出来使用。既然没有时间拖我们就得找个能修改二次开发基础框架如果基础功能满足就不用开发不满足我们还可以进行功能扩展。基于实战考虑我们基于把RTSP流媒体服务通用功能开发出来提供给大家用到时直接安装。配有详细开发文档也方便开发者开始二开。
RTSP插件使用
基础功能支持RTSP推流直播、把RTSP推送到服务器的视频流保存成mp4格式或者m3u8格式录像可以查看回放。
安装代码
获取代码有两种方式1.到社区代码市场下载2.是在管理后台代码仓直接安装如下图 GoFly社区代码市场下载代码包 管理后台的代码仓安装 启动服务及推流到服务器
启动Go服务后在终端看到RTSP服务地址测试我们用ffmpeg工具来推送RTSP流如下图推流命令如下
ffmpeg -re -stream_loop -1 -i D:\Download\ffmpeg\m.mp4 -vcodec copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:554/scenery 后台RTSP直播流 管理RTSP流信息 用VLC播放RTSP视频流 下载VLC Media Playerhttps://www.videolan.org/vlc/ 下载安装VLC后我们用ffmpeg把视频推到服务器然后我们在VLC中打开RTSP视频流如下图 安装好VLC后设置播放路径 播放RTSP效果 在RTSP配置文件修改保存本地视频设置 插件设计时把本地存储视频做成开关可以根据需求打开或关闭保存视频功能这样可以减少性能消耗。配置页面如下 管理本地存储录像 管理本地存储视频 在线播放录像 结束语
本插件除了在GoFly快速开发框架使用外我们可以把插件简单改造就可以加入到其他Go开发框架也可以独立开发成存RTSP功能服务器我们集成到的GoFly管理后台是方便和其他业务统一管理。
在开发中选择合适的RTSP流媒体服务器对于项目的成功至关重要。未来这些服务器将继续发展以满足不断变化的市场需求和技术挑战。