网站首页  词典首页

请输入您要查询的论文:

 

标题 WebRTC下流媒体文件远程推送与即时播放研究
范文 张宝明++钮丹倩
摘要:WebRTC是推动互联网经济向前发展的重要技术,但存在应用模式不成熟,应用范围有限,与电子商务缺乏深度融合等问题。探讨了WebRTC的应用模式及其实现技术。分析了现行流媒体文件远程推送与即时播放方法的不足;通过增加排队系统和协调机制,设计了基于事件响应的处理模型,丰富了电子商务视频应用解决方案。
关键词:流媒体;远程推送;即时播放;电子商务
DOIDOI:10.11907/rjdk.171649
中图分类号:TP393
文献标识码:A文章编号:16727800(2017)010018203
0引言
WebRTC(Web RealTime Communication,网页实时通信)是第4代Web应用技术[1],自2012年出现以来一直受到追捧。其核心要义在于集成音视和视频,绕过服务器,通过信令直接在浏览器和浏览器之间(peertopeer)建立信道,实现浏览器与浏览器之间的实时通信,以拓展Web应用,推动互联网经济向前发展[23]。
随着WebRTC技术不断成熟、功能逐渐完善,建立在其技术基础之上的视频会议、可视通信等应用也得以推广,在電子商务、网络社区中屡屡可见其身影。然而,受到技术条件的限制和监管政策的约束,与Web应用第2代技术Ajax和第3代技术WebSocket出现后,集中爆发的新模式如微博、维基、社交网络等应用相比,基于WebRTC技术的应用目前还仅局限于视频会议和可视通信,与电子商务和电子政务的深度融合尚未开始,应用范围较为有限,应用模式还不够清晰,缺少必要的创新。因此,探讨WebRTC技术下新的应用模式显得尤为重要。
本文探讨了WebRTC技术新的应用模式:流媒体文件的远程推送与即时播放,目的是在实时通信过程中,利用WebRTC技术向其它远程端浏览器(远程Peer)推送流媒体文件,并及时播放(一边推送一边播放,而不是等推送完再播放)。这样不但能减少远程客户端等待时间,改善用户体验,还能由此产生新的商业模式,实现诸如电子商务中的广告插播、音乐商店中的体验播放、教育网站上的明师名家视频教学等应用。
1WebRTC技术现状
对于WebRTC技术相关文献有一些探讨。如在W3C组织推荐的《W3C Working Draft for Audio API 1.0》[4]草案中,就提出了MediaStream概念,将本地播放的视频、音频流(即网页中用于播放视频和音频文件的
其次,在onMessage、onUpdate和onLoad事件处理模块间加入了时序协调机制。为此,增加两个全局变量:isFirstChunkUpdating、receiveError,分別表示“queue中第1个数据块正在进行appendBuffer操作”、“appendBuffer操作过程中发生了错误”。
在接收数据之前,分别将初始值设置为: isFirstChunkUpdating =false和receiveError =false,然后通过以下流程进行协调:
等待数据通道传来数据,以触发onmessage事件。
onmessage事件的处理。过程代码如下:
(1)判断传来的数据是视频数据块或是结束标记。若是视频数据块,则转入(2);若是结束标记,则转入(3);
(2)是视频数据块,则:
if(receiveError){
清空queue队列,丢弃所有已排队的数据块;
}else{
将数据块转换成Uint8Array格式;
进入queue队列,排队等待;
if(!isFirstChunkUpdating &&queue.length==1){
设置isFirstChunkUpdating =true;
try{
appendBuffer(queue中第1个数据块),完成后自动触发onUpdate事件;
}catch(e){
//若捕捉到错误,则说明传送的不是视频文件
设置receiveError=true;
}}}
(3)是结束标记,则:
if(!receiveError){
if(queue.length>0 || appendBuffer操作正在进行中) endflag=true;
else mediaSource.endOfStream();
}
3)onUpdate事件的处理:
if(queue.length>0){
appendBuffer(queue中第1个数据块),完成后自动触发onUpdate事件;
}else{
isFirstChunkUpdating =true;
if(endflag){
mediaSource.endOfStream();
};
}
经过改进后圆满实现了流媒体文件的远程推送与即时播放功能,效果如图3所示。
图3远程Peer端接收推送与即时播放效果
3结语
通过WebRTC技术实现流媒体文件的远程推送与即时播放,首先需要在远程端生成一个mediaSource对象,并成为播放部件
随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/16 8:55:33