前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flash直播

flash直播

作者头像
IMWeb前端团队
发布2019-12-05 11:38:05
9290
发布2019-12-05 11:38:05
举报
文章被收录于专栏:IMWeb前端团队

本文作者:IMWeb ninawu 原文出处:IMWeb社区 未经同意,禁止转载

接触了一段时间的flash直播,无论是腾讯课堂‘数据生成模式’实现的直播还是第三方直播任务tcplayer通过拉流地址实现的直播,都存在一定的延时和首帧慢的情况。为了能更好的做好音视频监控和问题定位,便想自己实现一套flash直播简单的demo,在通过改变上行的带宽,码率,帧率,gop大小等信息来观察延时和首帧的情况。

实现flash直播需要三个重要的类,netconnection,netstream和video。 NetConnection 类在客户端和服务器之间创建双向连接。客户端可以是 Flash Player 或 AIR 应用程序。服务器可以是 Web 服务器、Flash Media Server、运行 Flash Remoting 的应用程序服务器或 Adobe Stratus服务。调用 NetConnection.connect() 以建立连接。使用 NetStream 通过该连接发送媒体流和数据

调用 NetConnection.connect() 会执行下列操作:

• 传递“null”会从本地文件系统或 Web 服务器播放视频和 MP3 文件。

• 传递“http”URL 可连接到运行 Flash Remoting 的应用程序服务器。可使用 NetServices 类通过 NetConnection 对象调用应用程序服务器函数,并返回结果。有关详细信息,请参阅 Flash Remoting 文档。

• 传递“rtmp/e/s”URL 可连接到 Flash Media Server 应用程序。

• 传递“rtmfp”URL 会为 RTMFP 客户端服务器、对等和 IP 多播通信创建双向网络端点。

• 传递字符串“rtmfp:”可为 RTMFP IP 多播通信创建无服务器的双向网络端点。 NetStream 类通过 NetConnection 打开了一个单向流通道。

• 调用 NetStream.play(),从本地磁盘、Web 服务器或 Flash Media Server 播放媒体文件。

• 调用 NetStream.appendBytes(),将 ByteArray 数据传入 NetStream。

代码语言:javascript
复制
         protected function onProgress(e:ProgressEvent):void{         
  if(this._downLoadState==0)         
    this._downLoadState=1;         
     var tem:ByteArray=new ByteArray();         
     tem.endian=this._urlLoader.endian;         
     this._urlLoader.readBytes(tem);         
     this._ns.appendBytes(tem);         
}  

Video 类在应用程序中显示实时视频或录制视频,而无需在 SWF 文件中嵌入视频

•调用video.attachNetStream()指定要在应用程序中 Video 对象的边界内显示的视频流

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-07-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档