根据我所知道的情况,如果你使用的是将Windows Midea Player或者QuickTime或者Real Player嵌入网页,那么不用流媒体服务器也可以实现,这样做的缺点是,视频的地址直接在控件上点右键-->属性就能看到,很容易被下载
目前主流的,还是用FLASH播放器播放,后台用流媒体服务器的方式。
主流的流媒体服务器有:
Adobe Flash Midea Server,这个是收费的,有个免费的开发版本,只能支持10个并发,而且不允许商用
red5,这个是开源的,而且是java写的,对于JAVA应用来说,是个很好的选择,即便不是JAVA应用,也很不错
对于楼主的播放不了视频,我觉得可能是OJBECT标签中少了一些东西,我记得有很多类似网址样的东西的,貌似都没有。
摄像头采集;
1、音视频编解码;
2、流媒体协议;
3、音视频流推送到流媒体服务器;
4、流媒体网络分发;
5、用户播放器;
6、音视频同步;
7、网络延迟自适应;
8、需要录制,多种视频文件的格式和封装;
9、语言:C、C、html、php、mysql
10、开发环境:嵌入式,Linux,Windows,Web
还有就是视频播放解决方案(卡顿、延迟):
1、CDN加速;
2、自己架服务器;
3、用别人的云服务。
用CDN加速,可以尽量减少延迟。目前业内水准来看,视频延迟都在3-6秒之间。也就是在视频直播时,你看到的是几秒以前的画面。
自己架服务器,如果部署的数据中心不够多,那么遇上跨网、跨省的传输,还是得用CDN加速。那么为了尽可能降低延迟,你就需要在全国各省市都部署数据中心,来解决跨网、跨省的传输。用云服务的话,就是别人把服务器给你架好了,你只要傻瓜式的用就行了。当然,不管用哪种方式,综合权衡利弊,找到适合的方案就是最好的方案。
开发视频直播的流程有哪些:
1、采集;
2、前期处理;
3、编码;
4、传输;
5、解码;
6、渲染。
采集:iOS是比较简单的,Android则要做些机型适配工作。PC最麻烦各种奇葩摄像头驱动,出了问题特别不好处理,建议放弃PC只支持手机主播,目前几个新进的直播平台都是这样的。
前期处理:现在直播美颜已经是标配了,80%的主播没有美颜根本没法看。美颜算法需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究。算法设计好了还要优化,无论你打算用CPU还是GPU优化,算法优化本身也需要专业知识支持。GPU虽然性能好,但是也是有功耗的。GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧。而这一切都是需要经验支撑。
编码:如果你要上720p,肯定要采用硬编码。软编码720p完全没希望,硬件编码不灵活。兼容性也有问题。如何适应纷繁复杂的网络和纷繁复杂的上下行设备?安卓和芯片的坑,开发过的人都知道。那有人问,要求不高,上软编码低分辨率360p行不行?就算上低分辨率,软编码还是会让CPU发烫,CPU过热烫到摄像头,长期发烫不仅直接反应是费电。既然是手机直播,插着电源和充电器实在说不过去吧。还有,CPU发烫会降频,怎么办?这还是只说性能方面。和前处理只影响图像质量和功耗不同,视频编解码技术还关联成本计算和网络对抗。考虑性能、功耗、成本、网络这四个之后你编码的码率、帧率、分辨率。软硬件开发该如何选择?
传输:自己做不现实,交给第三方服务商吧。
解码:如果你用硬解码,一定要做容错处理,一定要做适配。突然一个crash导致手机重启不好吧。安卓的硬解码,不说了。如果你加了网络目前手机的硬解码还不一定支撑用软解码,功耗发热的问题又来了。
渲染:为什么手机明明解码出好多帧数据。就是渲染不出来。为什么画面就是不同步。
以上是媒体模块,还有信令控制,登录、鉴权、权限管理、状态管理等等,各种应用服务,消息推送,聊天,礼物系统,支付系统,运营支持系统,统计系统等。后台还有数据库,缓存,分布式文件存储,消息队列,运维系统等。
以上技术要点的小结,确实能说明开发一个能用于生产环境的实时视频直播平台确非易事,跟IM里传统的实时音视频一样,这样的技术都是音视频编解码网络传输技术的综合应用体。
网络视频服务器(DVS,Digital Video Server)主要用于以太网实时传输数字音视频的多媒体服务器,它能通过以太网(局域网/广域网)将实时的图像和声音同时通过网络传输。视频服务器可以在保留现有模拟视频监控设备的同时,将视频监视系统平滑升级到基于网络的视频监控系统,它非常适用于与现存的模拟CCTV(闭路电视监控)系统相集成。视频服务器为模拟视频设备带来了全新的功能特性,并彻底消除了系统对于同轴电缆、模拟监视器和DVR等专用设备的依赖。DVR将不再成为实现录像功能的必需品,因为在视频服务器的帮助下,视频图像可以通过标准的PC服务器来进行录制和管理。一台视频服务器通常具备1至4个模拟视频输入接口用于连接模拟摄像机,同时具备1个以太网接口用于连接到网络。与网络摄像机一样,它包含内置的Web服务器、图像压缩芯片以及 *** 作系统,在这些部件的作用下,模拟视频输入将被转化为数字视频信号,并能够通过计算机网络进行传输和存储,从而大大简化了视频资源的访问和管理。
除了视频输入之外,视频服务器还可以通过同一个网络连接实现其他更多的功能和传输更多的信息,其中包括:数字化报警输入和输出(I/O接口,可用于触发服务器启动录像功能和传输视频,或者激活外部报警设备如警灯或打开房门等等)、音频、用于串行数据传输或PTZ设备控制的串行端口灯。通过图像缓存,视频服务器还可以发送报警前后的图像。视频服务器还可以连接更多的专用摄像机,例如高感光度黑白摄像机、微型摄像机或显微摄像机等等。
视频服务器用于监控领域,大家都很清楚,但不常见的应用,如流媒体。采用流媒体方式,即设立一台流媒体服务器,建立与视频服务器的连接,对该视频服务器的视频访问全部通过流媒体转发服务器软件模块来进行转发,使得该视频服务器的视频服务只占一个通道。这样保证与视频服务器只有一个连接,提高了播放性能和质量。
数字视频和声音传输所涉及到的一个重要概念是所谓的'流媒体'概念。所谓流媒体是指视频、声音和数据从源端同时向目的地传输,它可以作为连续实时流在目的地被接收。这里的源指的是服务器端的应用,而目的地或称接收端是指客户端应用。流数据从服务器端应用传输后可由客户端应用接收并显示或回放,一般是客户端应用接收到足够的数据并将之存储在缓冲区后便立即将视频显示出来,或将音频回放出来。
流媒体的一个重要特征是对时间的敏感性,这正是实时性要求高的应用所必需的,所以这类应用与流媒体密不可分就十分自然的了。流媒体的实现主要取决于网络带宽和压缩算法的提高。今天,随着网络协议的改善、网络基础设施和压缩技术的发展,流媒体的实现已经变得越来越容易了。
流媒体传输方式
流媒体的传输技术主要有三种:点对点(unicast)、多址广播(Multicast)和广播(Broadcast)。多址广播又称为组播。点对点的特点是流媒体的源和目的地是一一对应的,即流媒体从一个源(服务器端的应用)发送出去后只能到达一个目的地(客户端应用)。组播是一种基于'组'的广播,其源和目的地是一对多的关系,但这种一对多的关系只能在同一个组内建立,也就是说,流媒体从一个源(服务器端的应用)发送出去后,任何一个已经加入了与源同一个组号的目的地(客户端应用)均可以接收到,但该组以外的其他目的地(客户端应用)均接收不到。广播的源和目的地也是一对多的关系,但这种一对多的关系并不局限于组,也就是说,流媒体从一个源(服务器端的应用)发送出去后,同一网段上的所有目的地(客户端应用)均可以接收到,广播可以看作组播的一个特例
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)