策划、翻译:Alex 技术审校:赵志立 Jean-Baptiste Kempf 人物对话 #007# 如果你正在网上搜索最好用的免费视频播放器,VLC绝对会是你的头号选择。作为一款开源软件,它的下载量已超过40亿,并收获了无数赞誉。 然而,很少有人知道这个了不起的项目在15年前差点死掉。 当时虽然VLC获得了更多用户的青睐,但是团队的维护工作却变得愈加艰难。随后危机降临。 在此危难时刻,Jean-Baptiste Kempf(常被人们称为JB)挺身而出。作为一位拥有远见卓识的领导者,他将VLC从崩溃
最近这段时间主要在不同平台测试模块的稳定性,目前播放这一块没发现问题,由于条件限制,除了FreeBSD平台没测试过,Windows 7,Debian 7.x和macOS Sierra都测试过了,由于Nginx官方对Windows支持不太好,没用Windows平台最强大的IOCP接口(使用的select),所以导致Windows平台上运行效率不太高,表现在推流等待时间长,3s+,首屏时间很长,4s+,select本身原因限制客户端个数,默认是1024。推流等待时间和首屏时间最短的是macOS Sierra,本机上测试时基本上是秒推秒开。昨晚专门注意了一下,在macOS Sierra下编译时,SO_REUSEPORT和TCP_FASTOPEN两项都支持,前者让Nginx的每个子进程都可以listen,都有一个专门的accept队列,解决了惊群效应;后者则是在发起SYN时就已经携带实际数据,而不是握手完毕后再传输实际数据。秒推秒开可能跟这两个选项有关。但是macOS Sierra并不支持将某个进程绑定到某个CPU上,所以可能进程上下文切换会有开销,系统负载较大时可能效率不如Linux。由于macOS Sierra是公司的电脑,所以未做压力测试。我的笔记本装的是Debian 7.x,因为内核版本较低,所以macOS Sierra上支持的两个选项都不支持。测试时推流等待时间和首屏时间都介于Windows 7和macOS Sierra之间,在服务器上测试时(系统CentOS 6.4,支持SO_REUSEPORT但是不支持TCP_FASTOPEN)跟macOS Sierra上差不多,但是考虑到服务器的CPU性能强大得多,所以负载不高情况下,macOS Sierra的表现是最好的。由于macOS Sierra是从Mac OS X更新来的,而Mac OS X的底层最初是在FreeBSD基础上开发的,所以推测在FreeBSD上的表现应该也不错。
vlc.exe.lnk双击这个文件,能正常打开vlc,但是用System.Diagnostics.Process.Start(Path.GetFullPath("vlc.exe.lnk"), url);没有任何反应。根据常理,不应该出现这个问题。但是现实就是这么魔幻,偏偏有这个问题。
📷 经过七年的酝酿和开发,SRS在6.0中终于正式支持了HEVC(H.265),几乎全面支持,包括RTMP、FLV、SRT、TS、HLS、DASH、GB28181、WebRTC(Safari)、DVR
(本文基本逻辑:音画原始数据分析工具介绍 → 编码数据分析工具介绍 → 封装格式分析工具介绍)
一般海康威视摄像头的视频流采用的RTSP协议的视频流,但是html5支持的是RTMP,所以RTSP协议的视频流无法直接在web页面上面显示。我们的EasyNVR流媒体服务器是支持RTSP协议和RTMP协议输出的视频流,下面我们来看一下流媒体服务器如何在浏览器播放RTSP格式的视频流。
1,找到vlc插件加载崩溃的原因了,是 WebPluginImpl::platformStart后,搞了个异步设置窗口句柄,但在这过程中paint被调用到,vlc会用到这个句柄,此时还没设置。解决方案是把以前用定时器实现的异步改成挂个addTaskObserver,这样立刻可以得到执行
完整项目代码下载地址: https://download.csdn.net/download/xiaolong1126626497/16579867
git clone git://github.com/tsingsee/EasyPlayer.js.git
GitHub – vbence/stream-m: An HTML5-compatible live streaming server supporting the WebM and H.264 formats.
打开VLC,点击媒体 -> 打开网络串流,添加网络流媒体链接: rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4
H.265视频流媒体播放器EasyPlayer性能稳定、播放流畅,可支持的视频流格式有RTSP、RTMP、HLS、FLV、WebRTC等,具备较高的可用性。
实现了浏览器 MSE (Media Source Extensions) 播放相机 RTSP (Real Time Streaming Protocol) 流。动手体验一下咯~
通过上一篇文章,我们实现了了局域网内 MJPG-Streamer 的物联网监控方案,今天带领大家完成《ffmpeg + nginx + rtmp/httpflv》的公网视频监控。
完整工程下载地址(下载即可编译运行): VLC_Core_VideoPlayer.zip-QT文档类资源-CSDN下载
Streamedian 提供了一种“html5_rtsp_player + websock_rtsp_proxy”的技术方案,可以通过html5的video标签直接播放RTSP的视频流。
EasyNVR视频边缘计算网关主要功能在于通过RTSP/ONVIF协议,接入前端音视频采集设备,通过EasyNVR软硬件将拉取过来的音视频流转化成适合全平台播放的RTMP、HTTP-FLV、HLS等视频流格式,方便用户进行网页等直播方式,或接入自身业务平台。
SRS达到20K Star,感谢大家的认可,由于时间有限和大家交流比较少,趁这个机会给大家汇报下SRS的一些状态。 About Star Star仅仅能代表大家知道,或许能代表一些用户在使用开源项目,并不能代表项目的活跃度和持续更新的能力。 Community 开发者社区的参与度,才是决定项目是否能持续更新,SRS加入工信部木兰社区后,在各位专业开源大咖的带领下,活跃度持续在提升。 感谢所有三百多位开发者,以及技术委员会的核心开发者,特别感谢 TOC[1] 持续的努力, 大家一起在不断做出自己的贡献。
最开始接触视频监控这块的时候,用的就是vlc作为解码的内核,主要是因为vlc使用简单方便,直接传入一个句柄即可,简单几行代码就可以实现一个视频流播放,很适合初学者使用,也推荐初学者用qt+vlc来做播放器,提供的接口还是非常友好的,而且门类特别多,想要获取媒体文件的各种信息比如宽高,设置宽高比等,直接调用接口函数传入参数就能设置。
使用了TSINGSEE青犀视频平台的小伙伴都知道,EasyNVR、EasyDSS内都集成了EasyPlayer的不同版本,如果有用户想将EasyPlayer播放器集成进自己的流媒体平台,我们也提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发。
SRS是一个简单高效的实时视频服务器,支持RTMP/,等多种格式。工作用用到 SRS 服务,本文是我在学习过程中的学习笔记。
现在到处是摄像头的时代,随着带宽的不断提速和智能手机的普及催生出火热的网络直播行业,新冠病毒的大流行又使网络视频会议系统成为商务会议的必然选择,因此RTSP实时视频流播放及处理不再局限于安防行业。在如道路、工厂、楼宇、学校、港口、农场、景区等场景实施的信息化系统中,已基本全采用B/S架构,迫切需要在浏览器中嵌入多路摄像头RTSP流的超低延迟(小于500毫秒)播放功能,而在IE及Chrome 49以下版本等浏览器中,采用ActiveX控件或NPAPI插件即可实现。然而美好总是短暂的,从2015年开始Chrome及Firefox等浏览器纷纷取消了NPAPI插件的支持,而IE又在与Chrome及Firefox等浏览器竞争的过程中不断被用户抛弃,到现在市场份额已降到可怜的个位数。微软在几经折腾后,索性也拥抱Chromium内核推出Edge新版来杀死自己的IE,以挽救自己在浏览器这块岌岌可危的江湖地位。
我们经常会遇到碰到视频流播放不出来的情况,在之前我们也排查过很多类似问题,其中有部分问题是H.265编码格式的原因,但有些情况却需要我们进一步排查。
TSINGSEE团队研发的RTSP协议视频平台EasyNVR通过获取数字网络摄像机视频流完成音视频的采集,然后由EasyNVR内部实现流媒体协议转换、转码和流媒体分发工作,最终可以分发出RTMP、HTTP-FLV和HLS流,同时也实现在线播放。
EasyNVR视频边缘计算网关是由TSINGSEE青犀视频研发的视频流媒体软硬一体产品。只要设备支持标准的RTSP/Onvif协议,都可以接入至EasyNVR进行直播、录像、检索与回放服务,并且EasyNVR支持多协议分发,包括RTSP、HTTP-FLV、RTMP、WS-FLV、HLS等格式的视频流,能满足用户的多样化场景需求。
对于EasyNVR来说,由于部署或者使用不当导致的拉流失败问题是常有发生的,本文我们分享一个EasyNVR出现大量的视频不在线的情况,并且这种情况会反复出现,视频的在线和离线很不稳定。
笔者之前做一个实时监控应用的时候,曾搜索过一些将 iPhone 的摄像头拍摄的画面实时传输到浏览器的方案,一个都没有。
RTSP协议视频平台EasyNVR有直播版和录像版,录像版可以直接进行录像存储和回放,但是很多用户由于没有回放需求,就会使用硬盘录像机作为视频存储设备。
EasyPlayer视频流媒体播放器支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性。使用了TSINGSEE青犀视频产品的小伙伴都知道,EasyNVR、EasyDSS内都集成了EasyPlayer.JS版本。
经过了多年的研发探索,TSINGSEE青犀视频团队开发了三种不同的视频流媒体服务器软件EasyNVR,EasyGBS,EasyDSS,三个平台都可以进行网页无插件直播,有很好的稳定性和可靠性,同时我们也有自己的网页播放器EasyPlayer.js,能够很好地集成在页面内。
EasyPlayer.js是TSINGSEE青犀视频开发的一款支持二次开发和集成的网页视频播放器,并且经过我们不断优化,已经支持了H.265编码视频的播放,在网页视频流媒体播放项目中能够得到精准、稳定的应用。
经过了多年的研发探索,TSINGSEE青犀视频团队开发了三种不同的视频流媒体服务器软件EasyNVR,EasyGBS,EasyDSS,三个平台都可以进行网页无插件直播,有很好的的稳定性和可靠性,同时我们也有自己的网页播放器EasyPlayer.js,能够很好地集成在页面内。
EasyPlayer视频流媒体播放器支持RTSP、RTMP、HTTP、HLS、UDP、RTP、File等多种流媒体协议播放、支持本地文件播放,支持本地抓拍、本地录像、播放旋转、多屏播放、倍数播放等多种功能特性。使用过TSINGSEE青犀视频产品的小伙伴都知道,EasyNVR、EasyDSS内都集成了EasyPlayer.JS版本。
配置文档 https://github.com/arut/nginx-rtmp-module/wiki/Directives
近期在做摄像头监控视频在网页中播放的工作,现在大部分摄像头厂商如海康威视、大华、华为等都支持标准的RTSP协议,RTSP协议的优势是实时性高、流畅度度高,同时支持H.265和H.264,清晰度也更高,对于要求比较高的安防、交通等领域很适合,交通行业特殊需要延迟低于300毫秒,于是开始收集各种方案,互联网上RTSP协议的网页播放方案也很多,但是基本上分为两种:
随着5G时代的到来,音视频行业也可能迎来一个行业的春天,直播则是新视频行业一直以来的一个重要的产品形态,从最初的秀场直播,游戏直播,到今年由于疫情,目前比较火的在线教育直播,带货直播等,各类新的直播形式则是越来越多的展示在大众面前。
TSINGSEE青犀视频的各个平台部署灵活,视频能力丰富且全面、能满足用户的多场景视频监控需求,平台各具特点,可支持多类型的设备、多协议接入,包括国标GB28181协议、RTMP/RTSP/Onvif协议、海康EHOME、海康SDK、大华SDK等,在视频流分发上,能支持全终端、全平台的视频流输出,包括RTSP、FLV、HLS、WebRTC等格式。
在旧版的chrome上可以通过vlc插件来播放rtsp视频,但是更新到新版的chrome之后要想播放这个rtsp的视频就变得比较麻烦。如果google一下就会发现有各种解决方案,但是这些方案基本都是收费的。另外一个做法就是通过ffmpeg或者vlc播放器进行协议转换,如果是单个视频流可以通过vlc进行转换,转成http协议,直接通过video标签进行播放即可。但是如果要处理的视频流比较多,那就比较麻烦了。可以通过nginx+ffmpeg进行转换。
打开 #include <vlc/vlc.h> 文件,添加:typedef __int64 ssize_t;
编译完运行异常结束: 需要把 plugins 目录和sdk/dll目录下的文件拷贝到程序运行同级目录下。
EasyCVR平台支持海量视频汇聚管理,能兼容多类型的设备接入,可覆盖市面上大多数的视频源设备,包括各种IPC、NVR、视频服务器、单兵设备、编码器设备等。平台也可支持多协议接入,包括市场主流标准协议国标GB/T28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。
EasyCVR平台可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。平台可支持多协议、多类型设备接入,包括国标GB28181、RTMP、RTSP/Onvif、海康SDK、大华SDK、海康Ehome等,近期我们又拓展了更多SDK接入,包括华为SDK、宇视SDK、萤石SDK、乐橙SDK。
VLC 是一个流行的开源多媒体播放器和流媒体服务器。它跨平台,并且能播放几乎所有的多媒体文件,例如 DVD,音频 CD,以及不同的流媒体协议。
在某些情况下,如果你不知道确切的包名称或者你想搜索某些包,那么你可以在发行版的包管理器的帮助下轻松搜索该包。搜索会自动包括已安装和可用的包。结果的格式取决于选项。如果你的查询没有输出任何信息,那么意味着没有匹配条件的包。这可以通过发行版的包管理器的各种选项来完成。我已经在本文中添加了所有可能的选项,你可以选择最好的和最合适你的选项。
领取专属 10元无门槛券
手把手带您无忧上云