说到直播,我们一般比较容易想到的就是rtmp的直播,大家用的比较多,实际上使用rtsp也可以做直播,这一篇就讲一下如何基于rtsp构建直播场景。为了避免混淆,先提前声明一下,之前的基于live555搭建的场景是点播的场景,而非直播。本篇我们要搭建的基于rtsp的直播环境基于EasyDarwin去搭建,非常方便快捷,一起来看一下吧。
大家晚上好,今天在写文章之前,先事先说明一下,以后的文章都会分成专题来进行写,这样方便大家可以查看。
username: 摄像头登录用户名 (就是登录摄像头web管理页面的用户名和密码) password: 摄像头登录密码 ip: 摄像头设备本身的IP port: 端口号 channel: 通道号,起始为1。例如通道2,则为channel=2 subtype: 码流类型,主码流(subtype=0),辅码流(subtype=1)
EasyDarwin是一款高性能开源RTSP流媒体服务器,基于Go语言研发,维护和优化:RTSP推模式转发、RTSP拉模式转发、录像、检索、回放、关键帧缓存、秒开画面、RESTful接口、Web后台管理、分布式负载均衡。EasyDarwin从最初的c++到后面的nodejs再到现在的golang,也在一步步地实现自身的语言兼容。
RTSP拉流流媒体服器软件是Onvif/RTSP流媒体服务,支持RTSP稳定拉流接入,支持Onvif协议接入,支持RTMP/HLS/HTTP-FLV/RTSP分发,将传统安防监控设备互联化,无插件直播等。
最近因为工作需要,需要搭建流媒体服务器,所以研究了一下,在此分享我的搭建过程。 搭建过程还是非常简单的! 搭建环境为Centos 7.2 64bit 一.安装gcc编译器 yum install gcc-c++ 二.安装live555 wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz tar -xzvf live555-latest.tar.gz cd live ./genMakefiles linux-64bit
ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。
首先说明,本篇文章是概念+实践,对于希望了解和实践一个简单的摄像头直播网页功能的人会有帮助,由于篇幅和实践深入度有限,目前demo效果只支持直播播放电脑端以及常用摄像头的实时视频流,其他复杂的功能(例如视频信息实时处理,高并发,网络分发等)尚未实现,还需要进一步探索。
据官网介绍,EasyDarwin拥有完整的源代码,可以帮助开发者更快更简单实现流媒体音视频产品功能,使用完全免费;下面就介绍一下EasyDarwin的使用过程。
目的 对于小内存的机器(不支持SD卡扩展),无法存储大文件,需要通过RTSP方式查看编码的结果码流;
大家了解TSINGSEE青犀视频应该都是从EasyNVR、EasyDSS、EasyGBS等优秀的视频流媒体平台开始的,实际上,这几个流媒体平台的雏形都是我们的开源平台EasyDarwin,在近些年的不断开发中,依据EasyDarwin开发的衍生平台也越来越多样化,系统功能也越来越完备稳定。
目前市面上有很多开源的流媒体服务器解决方案,常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等,我们应该怎么选择呢?
视频流媒体服务器EasyNVR系统不拘泥、不受限于摄像机的品牌厂商及其配套平台,只要是网络监控摄像机IPC、硬盘录像机NVR、且设备支持标准的RTSP/Onvif协议,都可以接入并播放视频。
1、推流地址:rtmp://192.168.43.118:1935/live/livestream
上篇文章,介绍了FFmpeg的交叉编译,以及在嵌入式Linux平台,运行ffmpeg指令来播放视频。
最近项目中需要实时播放摄像头rtsp视频流,于是就专门做了些研究。而浏览器不能直接播放,只有通过插件或者转码来实现这个需求。
视频直播软件系统开发,常用的流媒体传输协议有RTMP,RTSP,HLS,HTTP-FLV
本节主要讲解 RTSP 协议,通过 wireshark 抓包的方式对协议进行分析。
好多博客提到的公网可测试的RTSP和RTMP URL大多都不用了,以下是大牛直播SDK(Github)于2021年3月亲测可用的几个URL,有其他可用的URL,也欢迎大家在评论区回复。
该功能实现,主要需要考虑RTSP取摄像头视频流,拆RTP包,组H264帧,通过PJSIP的视频通道转发;这个过程中,涉及到RTP通道保活,RTSP通道保活;调试时间多耗费在对摄像头返回的RTP数据包的拆解和重新组H264帧上面。
相信大家在调试播放器的时候,都有这样的困惑,很难找到合适的公有测试源,以下是大牛直播SDK(GitHub地址)整理的真正可用的直播地址源。
关于EasyCVR程序无法启动且报错的情况我们之前介绍过很多次,不同系统启动报错有不同的原因,本文我们分享一个nginx启动的错误,我们在工作过程中搭建EasyCVR环境,正常启动进程发报错无法正常访问。
好多开发者,问我们最多的问题是,为什么要设计轻量级RTSP服务?轻量级RTSP服务,和RTSP服务有什么区别?
EasyPlayer兼容性很强,不仅能支持H.264/H.265视频的播放,还具有多个系列版本,如EasyPlayer-RTSP、EasyPlayer.js、EasyPlayerPro等。而且当前EasyPlayer还含有Windows、Android、iOS三个平台的稳定运行版本,EasyPlayer.js还可支持Linux平台,用户可以根据自身的需求对其进行二次开发或自主集成。
视频直播市场的火爆也催化了直播系统开发行业的发展,不少人想要搭建自己的直播平台,想要搭建直播平台就要从基础开始了解直播系统的组成。今天,就跟小编一起来学习一下搭建视频直播系统时可能会用到的协议。
任何的影音传播都需要通过流媒体服务器来实现,现在的安防监控直播也让视频流媒体服务器大放异彩了。比如我们的流媒体服务器EasyNVR就能够适应多种场景,搭建视频流媒体服务器。
EasyDarwin是基于Darwin Streaming Server扩展、维护的开源流媒体服务器解决方案,经过TSINGSEE青犀视频团队近10年的维护,现在已经非常稳定。EasyDarwin支持Windows,Linux,macOS平台,并且支持RTSP推流分配(推模式转发)和RTSP拉流分配(拉模式转发)。本文分享一下Linux系统下编译运行EasyDarwin的过程,给自主编译EasyDarwin的用户一些参考。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
众所周知,RTSP流媒体直播协议是目前最成熟、应用最广泛的流媒体协议,其不仅支持直播,也支持回放,更是目前安防行业的唯一指定的标准流媒体协议,没有之一。
在WFD交互过程中,在Source端或者Sink端抓取tcpdump,通过数据包分析软件Wireshark或者Omnipeek即可以直观的分析RTSP协议交互的过程。
2019年直播行业面临着来势汹汹的短视频挑战,但在垂直细分领域,网络直播平台依旧有着难以企及的位置。如今,直播平台搭建的势头依旧没有减弱,只是更多的人想要将直播平台与更多的行业相结合。对于直播平台搭建来讲,流媒体直播系统传输协议的选择显得尤为重要了。
EasyGBS国标GB28181协议智能安防视频平台,支持国标GB28181协议设备的接入,可对外分发RTSP、RTMP、FLV、HLS、WebRTC等多种格式的视频流,输出的视频流覆盖多终端平台(Windows、Linux、Mac、Android、ios等)。
EasyCVR同时具有Windows版本和Linux版本,两个版本在使用上是没有什么区别的,只有操作系统的区别,大家可以根据自己的操作系统自由选择。在我们EasyCVR打包Linux版本时,出现source_rtsp_linux.go 文件的报错,导致无法打包。
《FFmpeg开发实战:从零基础到短视频上线》一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能实在是太简单了,无法应用于真实直播的生产环境,真正能用于生产环境的流媒体服务器还要看SRS或者ZLMediaKit。
AIGC(Artificial Intelligence Generated Content)是指利用人工智能技术生成内容的能力。火爆的虚拟数字人,就是AIGC的典型代表,它可以通过学习大量数据和知识,生成与人类创作相似甚至超越人类水平的文本、图像、音频、视频等内容。AIGC是人工智能领域发展的新里程碑,能够加速内容生产,提高创作效率,降低创作成本,为人类提供更加便捷、高效、准确的内容生成服务。
这时会生成一个名称为live555MediaServer的一可执行程序,这个就是live555的流媒体服务器,如果正常生成了这个可执行文件,则说明我们的安装是成功的,可以进行启动服务器了。
EasyNVR视频监控综合管理平台支持多种格式视频流的直播播放,包括HLS、FLV、RTSP等,今年我们在此基础上又开发了WebRTC格式的播放,并且将该格式拓展到其他平台,比如EasyGBS。EasyNVR中的各项功能都具有项目中实际的实用性,如果大家有兴趣可以直接下载测试。
EasyPlayer是可支持H.264/H.265视频播放的流媒体播放器,性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。TSINGSEE青犀视频的Easy系列视频平台均集成了EasyPlayer播放器作为网页播放能力层。
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
RTSP (Real Time Streaming Protocol),实时流协议,是一种应用层协议,专为流媒体使用。本文将介绍 GStreamer, VLC, FFmpeg 这几个工具,如何发送、接收 RTSP 流。
c++实现的开源WebRTC协议栈,代码质量比较高,已经有多种语言的binding
推荐一个比较好用的流媒体服务开源代码: ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求 https://gitee.com/xiahcu/Z
写这篇博客主要是为了给新入门的流媒体开发者解惑,现在看到各种开发者的需求:网页播放RTSP摄像机、微信播放RTSP摄像机、网页播放摄像机SDK输出的视频流、网页播放第三方流媒体平台输出的视频流、包括Github有一些所谓的H5RTSPPlayer,这些都有一个共同点,就是H.264+AAC进行RTMP推流,当然SkeyeWebPlayer除外,SkeyeWebPlayer开创性的支持在浏览器端采用H5直接播放器RTSP流,下载地址:
RKMedia提供了一种媒体处理方案,可支持应用软件快速开发。RKMedia在各模块基础API上做进一步封装,简化了应用开发难度。该平台支持以下功能:VI(输入视频捕获)、VENC(H.265/H.264/JPEG/MJPEG 编码)、VDEC(H.265/H.264/JPEG、MJPEG 解码)、VO(视频输出显示)、RGA视频处理(包括旋转、缩放、裁剪)AI(音频采集)、AO(音频输出)、AENC(音频编码)、ADEC(音频解码)、MD(移动侦测)、OD(遮挡侦测)。(摘自RKmedia手册)
之前的博文介绍了一些使用Android手机获取ROS中传感器,图像以及控制机器人小车的案例;
1、大熊兔 大熊兔最新地址可参考https://www.wowza.com/developer/rtsp-stream-test rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov (已停用) rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov (已停用) rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4 (可用) 可自行使用live555搭建rtsp服务器
1 DarwinStreamSever安装包,Perl解释器,MP4Box安装包,当前目录下的Tools.rar包含了DarwinStreamServer和Perl解释器的安装包。
EasyDarwin 是基于 go 语言研发,维护和优化的一个高性能开源 RTSP 流媒体服务器,能够帮助流媒体开发者和创业型企业快速构建流媒体服务平台,更快,更简单的实现最新的移动互联网流媒体直播和点播,同步音频和视频的传输,源码下载地址:
我们团队(TSINGSEE青犀视频)在视频监控直播系统搭建上付出了很多努力,最终也出了适应不同场景的搭建方案:接入RTSP协议摄像头的EasyNVR、接入RTMP协议摄像头的EasyDSS、接入GB28181协议摄像头的EasyGBS。需要注意的是,我们这里提及的各种协议摄像头,都是IP摄像头。
领取专属 10元无门槛券
手把手带您无忧上云