flash直播

本文作者: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。

         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 对象的边界内显示的视频流

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Promise的简单实现

    这个fetch()的方法返回了一个Promise对象,接着我们就可以用then来对获得的数据进行处理,catch来捕获可能的错误。

    IMWeb前端团队
  • 移动端重构实战系列4——进入离开动画

    在sandal的_animation.scss中我们定义了fade-in/out, shrink-in/out, up-in/out, down-in/out,...

    IMWeb前端团队
  • 【译】 javascript 函数参数设计

    下面,我将列出 6 个方面谈谈,在排除对性能有极端要求的情况下,为什么后者是更好的方案。

    IMWeb前端团队
  • 【计算机本科补全计划】Mysql 学习小计(1)

    正文之前 以后是要做大数据的人,如果连结构化的数据库都不会的话,那岂不是笑死人?所以果断靠着当年兴趣盎然的时候学的那点基础来复习一下,发现果然学过一遍再来复习那...

    用户1687088
  • iOS项目未使用图片资源排查方案

    app项目随着需求越来越多,app的体积越来越大。尤其在iOS端app下载超过150M,则会无法使用移动网络下载,也必然会流失小部分流量。在开发过程中,有些需求...

    用户5521279
  • CES 2019进行时| “5G、无线、AI产品”专场:高通、三星、本田、宝马、阿里、百度…

    CES 2019,仍如火如荼进行中。VRPinea已连续三日进行跟踪报道。考虑到如今有关5G、无线、AI的讨论十分激烈。今日,我们特意为各位奉上“CES 201...

    VRPinea
  • mobot模型-ROS2Gazebo9附2

    zhangrelay
  • Xbash恶意软件安全预警通告

    本月17日,Unit42研究人员在其官网博客中公布了一款新型恶意软件Xbash。据了解Xbash是由2016年以来便一直保持活跃的网络犯罪组织Iron开发。Xb...

    绿盟科技安全情报
  • 如何评价百度新目标:Everyone can AI ?| 在现场

    量子位
  • location 对象详解

    Location 对象包含有关当前 URL 的信息。 可通过 window.location 属性来访问。

    用户2930719

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动