场景
开源RTMP组件EasyPusher-Android+EasyDarwin实现APP推流给RTSP流媒体服务器:
开源RTMP组件EasyPusher-Android+EasyDarwin实现APP推流给RTSP流媒体服务器_BADAO_LIUMANG_QIZHI的博客-CSDN博客
上面介绍了RTSP相关的开源组件,如果要在Windows中实现对RTSP视频流的播放,
可以使用开源组件EasyPlayer-RTSP-Win
EasyPlayer RTSP Windows 播放器是由TSINGSEE青犀开放平台开发和维护的一个完善的RTSP流媒体播放器项目,
视频编码支持H.264,H.265,MPEG4,MJPEG,音频支持G711A,G711U,G726,AAC,支持RTSP over TCP/UDP协议,
支持软/硬解码,是一套极佳的安防流媒体平台播放组件!EasyPlayer Windows版本经过了很多年的发展和迭代,
在很多商业项目中使用,已经非常稳定、完整,功能包括:直播、录像、抓图,
应该说是目前市面上功能性、稳定性和完整性最强的一款RTSP播放器!
国内大部分的RTSP/RTP协议的播放器都是基于ffmpeg做的(包括协议层和解码层),
但是在实际的RTSP/RTP项目实战过程中,由于各个厂家的自定义字段的不同,由诸多需要特殊兼容的地方,
而这正是ffmpeg类播放器无法做到的,EasyPlayer依托于庞大的EasyDarwin用户群体,
已经将国内几乎所有的摄像机厂家都适配了一遍,非常兼容,非常稳定!
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
1、将代码克隆到本地并使用VS打开
修改Form1的窗体与样式,去掉不需要的功能,这里只需要简单的实现rtsp视频流的播放,所以将其他解码方式等选择删除掉,
并且将右键菜单中截图和录像等功能也删除掉。
2、将页面加载之后的代码修改,默认解码方式设置为TCP,其他运行报错代码注释掉
private void PlayerForm_Load(object sender, System.EventArgs e)
{
//获取进程名
string str = this.GetType().Assembly.Location;
this.Text = str;
int LimitDayOut = PlayerSdk.EasyPlayer_Init();
if (LimitDayOut >= 0)
isInit = true;
callBack = new PlayerSdk.MediaSourceCallBack(MediaCallback);
isTCP = true;
this.RightToLeft = RightToLeft.Inherit;
}
3、重新生成解决方案
4、实现与上面博客联动的播放效果
5、实现播放海康威视摄像头效果
海康威视摄像头rtsp地址可以参考如下
Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览:
Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览_BADAO_LIUMANG_QIZHI的博客-CSDN博客_海康摄像头rtmp
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136059.html