引言:据独立的市场分析机构comScore提供的数据显示,全球81%的网络视频是通过Adobe的Flash技术观看的,从而使之成为网络上第一大视频格式。 据国外媒体报道称,Adobe Flash Player软件已经安装在了98%的上网计算机上和日益增加的手机上。
国内一直很少能直接支持Adobe Flash Media server(简称:FMS)的嵌入式编码器,大部分是采集卡使用flash encoder编码器直接和FMS结合。而市场需要一稳定的、高质量、操作方便的嵌入式编码器呼声一直很高,现在终于有款嵌入式的h.264编码器直接支持FMS,下面我们抛砖引玉介绍一款支持Adobe Flash Media server嵌入式flash编码器与FMS的对接技术。
Adobe Flash Media Server 3.5发布了,这是一款支持H.264的正式版本。关于H.264,已经说得太多,播放H.264的视频也很简单,使用常见的视频播放器就可以了。但是怎么把现有的视频通过H.264编码压缩成文件或者把视频流直播到网络上呢?接下来就是我们要使用高创公司的H.264编码器与FMS搭配使用的过程。
首先我们要了解下Adobe官方提供的一个Flash Player支持的视频编码列表(原文):
视频编码
SWF 文件格式版本(发布的版本)
支持播放的最小Flash Player版本
Sorenson Spark
6
6
On2 VP6
6
8
H.264 (MPEG-4 Part 10)
9
9.0.115.0*
音频编码
SWF 文件格式版本(发布的版本)
支持播放的最小Flash Player版本
ADPCM
6
6
MP3
6
6
HE-AAC (MPEG-4 Part 3)
9
9.0.115.0*
*Flash Player 可以播放视频编码为H.264,音频编码为AAC的标准MPEG-4文件。文件的扩展名可以是:F4V, MP4, M4A, MOV, MP4V, 3GP, 3G2等等。
注意:如果没有特别说明,下面的Flash Player都指Flash Player 9(v 9.0.115.0)
Flash Player 9 (v 9.0.115.0) 支持下面的 MPEG-4 标准的子集:
MPEG-4 标准
Flash Player Update 3
ISO/IEC 14496-3 (Audio AAC)
AAC Main; AAC LC; SBR
ISO/IEC 14496-10 (Video AVC)
Base (BP); Main (MP); High (HiP). All levels are supported.
ISO/IEC 14496-12 (Container)
1 Audio track; 1 Video track
3GPP TS 26.245 (Timed text format)
Full support.
那么,什么是H.264?“MPEG4 Part 10”是什么?它和“Part 3”、“Part 2” 有什么关系?可以看这篇文章。
简单的讲,H.264、MPEG4 Part 10、MPEG4 AVC和ISO/IEC 14496-10 都是一个东东,就是一种视频编码格式,同时也是高清电影采用的视频编码格式之一(另外两种是MPEG2和VC-1)。而平常我们熟悉的DivX以及XviD编码,都属于MPEG4标准的范畴,但它们属于MPEG4 Part 2,Flash Player是不支持它们的。
了解了基本的Flash Media 知识之后,接下来我们了解下高创公司的H264编码器。选择优秀的压缩工具至关重要。Flash的编码器有软件压缩和硬件压缩两种,通过软件压缩会占用一台高性能的计算机,对企业资源是一个很大的浪费。本着实用、专业、简单的原则,我们测试一这款国产优秀的编码平台。以下是高创网站对产品的介绍:
一款支持Adobe Flash Media server嵌入式h.264编码器(flash 编码器)---- GoCaster 4000。
GoCaster 4000编码器结合多年的数字视频的开发经验而设计的一台H.264/AVC编码器,支持真正的广播 级的Main Profile标准,符合 IPTV标准的数字视频编码器;采用嵌入式操作系统设计,保证工作的稳定性;GoCaster4000采用了超前的H.264/AVC压缩算法,以及最先进的视频预处理技术、动态侦测、场检测技术等,都使能够以最小的压缩码率,而能够达到最好的图像压缩质量。支持常见的RTSP、UDP、TCP、HTTP、RTMP传输协议,可以实现诸如DSL、以太网、卫星、有线和LMDS等宽带地面和无线网络传送直播视频流。
功能特性:
H.264/AVC MainProfile广播级视频编码器嵌入式平台
支持H.264 Transport 和Program流的编码Entropy coding (支持CAVLC/CABAC )
支持 MPEG-4 embedded in MPEG-2 TS传输流的编解码
TS传输流支持Video PID、Audio PID、PCR PID、PAT、PMT可调? *
通过以太网端口进行基于Web的远程管理和本地管理
支持多种IP网络协议及直播模式: UDP,TCP,RTSP,HTTP,RTMP等
典型应用:
视频网络直播
IPTV
移动电视
VOD系统
远程监控
技术参数:
视频格式:H264/AVC (MPEG-4 Part-10)
视频输入:S端子,复合,SDI(可选)
音频格式:AAC,G.711,MP3,MP2
视频级别:Main和Baseline
取样频率: 32KHZ,44.1KHZ和48KHZ
分辩率: 常用分辩率可选
视频码率:20Kbps-3Mbps
音频码率:16Kbps-320Kbps
文件格式:TS
硬件准备工作:
H264编码器:高创Gocaster 4000
Midea服务器:Flash Media Server 3.5 服务器
网络状况:100M LAN
把高创H264编码器用接入局域网,接着我们一起开始“LIVE STREAM”的过程。
登陆高创H264编码平台,整个操作界面很直观易懂,我们首先按如下如下参数设置:
根据我们所知情况,为移动设备准备视频时我们采用Baseline方式,而不使用B帧进行压缩,其他的时候就都使用Main方式进行编码,以提高视频压缩的质量。
在压缩前,最重要的就是在系统配置中选择视频编码和音频编码。根据上面的表格我们知道,Flash Player 9.0.115支持H.264视频编码和AAC音频编码。下图是我在H264编码器中的进行设置。
其中“音频编码类型”有这样几个选项:AAC、MP2、G.711和MP3。经过测试,这几个规格压缩的音频只有AAC和MP3可以被Flash Player支持。
将这三个设置调整好即可。H.264的编码优于WMV9,所以在压缩的时候,选择的视频码率都小于视频源的码率。
一般情况下,国内的视频源都是PAL制式,Main模式下生产的H264视频,最高支持像素分辨率可以达到4096×2048,码率可以达到720Mbps。但是只有很少的桌面电脑是可以进行完整帧频的播放的,更多的是在以每秒25帧的帧频进行播放的FD1常见的视频流。对平均信息量编码CAVLC和CABAC两种模式的选择,我们建议使用CAVLC,因为这种模式是一种比较通用的编码解决方案。
编码器与服务器端使用RTMP协议通信。RTMP协议默认使用1935端口RTMPT协议,与RTMP协议类似,而RTMPT协议使用80 端口。下图是RTMP协议的具体格式。
到此,编码器的编码已经设置好。我们点击“开始编码”系统开始运行。
测试RTMP DEMO For FALSH MEDIA SERVER 3.5
H264编码器开始工作后,已经把“LIVE STREAM”推到Adobe Falsh Media Server 3.5平台了。我们如何测试系统是否推送成功呢?
登陆FMS服务器,点击“开始菜单-程序-Adobe-Flash Media Server 3.5在菜单列表中选择Flash Media Administration Console 登陆FMS系统控制台。
在控制面板中点击View Applications 下Streams 项目,点击左边的live 可以看到如下窗口:
可以看到,在live/_definst_ - Streams 列表中已经生成了一个发布点MyVideo. 这个发布点就是我们通过高创H264编码器推达过来的。
现在我们通过Flash Media Server的DEMO用网页接收下这个发布点,在网页中打开C:\Program Files\Adobe\Flash Media Server 3.5\webroot\index.html
点击右栏INTERACTIVE菜单,在SERVER中输入服务器IP地址,视频流的名称后点击Play Live Stream就可以看到LIVE STREAM了。
下一章我们将介绍一款gobox hd高清机顶盒和Adobe Flash media server完美结合技术方案。
----------------------------------
广州市昕创(高创)电子计算机有限公司
电话:020-33367271
手机:13725353060
QQ:1156758197
MSN:zhanqiangzh@hotmail.com
E-MAIL:qq@gotron.net
联系人:占 强 |