加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

基于Flex的实时H.264流转发平台之客户端(Web+Android)

发布时间:2020-12-15 04:05:38 所属栏目:百科 来源:网络整理
导读:接上一篇,基于Flex的实时H.264流转发平台的客户端采用Flex技术,使用Flash作为客户端连接RTMP协议的媒体流。 Web端的代码是两年前写的,基于Flex 3.6A SDK,可以在Windows、Linux以及Android4.0及以下版本的Android手机中运行。 考虑到Flash的Web插件已经不

接上一篇,基于Flex的实时H.264流转发平台的客户端采用Flex技术,使用Flash作为客户端连接RTMP协议的媒体流。

Web端的代码是两年前写的,基于Flex 3.6A SDK,可以在Windows、Linux以及Android4.0及以下版本的Android手机中运行。

考虑到Flash的Web插件已经不支持Android4.1及以上版本,所以高版本的Android终端改用AIR形式,采用Flex 4.6.0+Adobe AIR 3.1。

首先安装Adobe?Flash Builder,最新的版本是4.7,可以直接去Adobe官网注册Adobe ID,下载试用版,可以免费试用60天,大概1个GB。

客户端的代码其实很简单,主要就是使用VideoDisplay控件连接Red5服务端提供的rtmp流。

WebH264D1Player.mxml的核心代码如下:

private var videoURL:String = "h264hwen";
private var connection:NetConnection;
private var stream:NetStream;

public function WatchVideo():void 
{
	if(connection!=null)
	{
		connection.close();
	}
	connection = new NetConnection();
	connection.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
	connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler);
	connection.connect("rtmp://192.168.0.105/live");
}

private function netStatusHandler(event:NetStatusEvent):void 
{
	switch (event.info.code) 
	{
		case "NetConnection.Connect.Success":
			connectStream();
			break;
		case "NetStream.Play.StreamNotFound":
			trace("Unable to locate video: " + videoURL);
			break;
	}
}

private function connectStream():void 
{
	var stream:NetStream = new NetStream(connection);
	stream.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
	stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncErrorHandler);
	var video:Video = new Video();
	video.width = 720;
	video.height = 576;
	video.attachNetStream(stream);
	stream.play(videoURL);
	sprct.addChild(video);
}

其中sprct是VideoDisplay控件的ID。

对于使用AIR形式编译的客户端,在新建项目时要选择新建Flex手机项目,目标平台选择Android,编写好代码后,点击项目->导出发行版,建议选择导出具有运行时绑定的应用程序,这样编译出的apk中自带运行时,不需要再另外下载安装,但是apk的体积也会变大


在数字签名中可以使用自己已有的.p12或.pfx格式的签名文件,也可以新创建一个签名文件


然后就可以编译出带有签名的apk文件了。

PC浏览器访问Web形式客户端以及Android运行AIR形式客户端的效果如下:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读