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

Flex (SDK 4.5) 中直接使用 H.264 编码视频

发布时间:2020-12-15 01:28:03 所属栏目:百科 来源:网络整理
导读:最近用到 Flex+FMS 实现一个视频通信,而且需要用 H.264 编码,但 Flash 本身只能采用 VP6(H.263)编码,要想编码为 H.264,必须要利用第三方工具(Flash Media Live Encoder),这也是我不愿意的,于是查阅了大量资料,发现除了使用 Flash Player 11,似乎

最近用到 Flex+FMS 实现一个视频通信,而且需要用 H.264 编码,但 Flash 本身只能采用 VP6(H.263)编码,要想编码为 H.264,必须要利用第三方工具(Flash Media Live Encoder),这也是我不愿意的,于是查阅了大量资料,发现除了使用 Flash Player 11,似乎别无他法,于是到 Adobe Labs 下载了 FP11 的 Preview 版本(官方称之为:Flash Player Incubator,除了增加了 H.264 编码外,还有很多开发者期待了很久的东西),然后,在相同的页面下载 playerglobal.swc(如果没有 Flex SDK 4.5,则还需要下载该 SDK)。

?

准备就绪后,开始搭建开发环境。

启动 Flash Builder,在首选项的“已安装的 Flex SDK”中加入 SDK 4.5,然后进入该SDK的目录(一般是在Flash Builder的安装目录下/sdks 当中),找到 SDK 4.5,进入/frameworks/libs/player,新建一个文件夹“11.0”,然后将下载的playerglobal.swc拷贝进去(如果下载好的这个组件不叫这个名字,则更改为此文件名)。

?

回到 Flash Builder,新建一个 Flex 项目,然后右键点击项目,选属性,在 Flex 编译器当中,将 Adobe Flash Player 选项的使用特定版本改为“11.0.0”,在编译参数中加入“-swf-version=13”,保存更改。

?

视频的发布还是使用 NetConnection 和 NetStream,NetStream 增加了几个属性,例如:videoStreamSettings,就是在这里设置编码方式,如果要用到H.264,则需要 H264VideoStreamSettings 这个类,具体用法如下:

?

?

?

?

其他的使用方式和以前的一样。

?

经过实际测试,确实是真正的 H.264 编码(摄像头不行,看不出来画质提升),但是 FMS 所 record 下的文件,采用 f4v post proccessor 处理(Adobe 的 H.264 编码视频必须用此工具处理后,才能在常见播放器,包括 Adobe Media Player 中播放,即便是使用 Flash Media Live Encoder 录制的视频也是如此)以后,可以直接利用 Windows Media Player 等常见播放器播放(FP11 以前的版本,如果在发布时,加入 mp4 前缀,它还是采用的 VP6,记录下的文件无论如何处理,也是无法播放的)。

?

但是有个很关键的一点,目前的 FP11 非常的不稳定,我很多正常的 Flash 程序使用起来出现了问题,例如,无法全屏(IE 报错),有些地方点击右键也要导致 IE 报错(APPCRASH)。

?

小小的期待下 FP11 的 Final Release(Adobe 也真够慢的,本来早应该支持 H.264 标准了,也早应该利用 GPU 加速了,怪不得被别人说耗电耗功率呢,如果不是考虑到 Flash 的普及率,也许我也就转向 SilverLight 了,想在 HTML5 也蓄势待发了,希望 Flash 再给力一点吧!)。

(编辑:李大同)

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

    推荐文章
      热点阅读