PowerBuilder中利用OLE技术实现H.264视频文件的播放

2013-04-10 03:51廖梦虎
温州职业技术学院学报 2013年2期
关键词:视频文件窗体播放器

廖梦虎,向 隅

(武汉铁路职业技术学院 电子电气工程系,武汉 430205)

PowerBuilder中利用OLE技术实现H.264视频文件的播放

廖梦虎,向 隅

(武汉铁路职业技术学院 电子电气工程系,武汉 430205)

传统播放器不能直接播放H.264视频文件,给用户带来不便。以PowerBuilder为开发工具,采用OLE技术链接FFOCX控件,可实现H.264视频文件的播放。实践证明,利用FFOCX控件开发的播放器,不仅能播放H.264视频文件,也能播放其它类型的音视频文件。

PowerBuilder;H.264;OLE;FFOCX;播放器

0 引 言

下一代视频压缩标准—H.264/AVC(ITU-T Recommendation H.264 and ISO/IEC MPEG-4(part 10)Advanced Video Coding),由于采用大量的先进算法,在相同的视觉感知质量上,能以较低的码率、较高的压缩比(为MPEG-2的2~3倍,MPEG-4的1.5~2倍)及较小的失真,对图像、视频进行编码,在网络和视频监控等方面得到广泛应用[1-2]。尽管暴风影音等播放器提供播放H.264视频文件的功能,但其文件太大,且需要安装,使用不方便。在PowerBuilder(以下简称PB)中利用第三方控件FFOCX开发H.264播放器,可实现H.264视频文件的播放,能有效解决上述问题。

PB是Sybase公司推出的优秀数据库前端开发工具,功能强大;OLE(Object Linking and Embedding,即对象链接和嵌入技术)是Windows系统中允许应用程序共享数据和程序功能的一种标准的便利方法[3]。本文通过利用OLE技术,在PB中链接FFOCX控件,实现H.264视频文件的播放。FFOCX控件可从网上下载(http:// www.ccvac.com,从该网址下载ActiveX OCX版),下载并解压内含ActiveFFmpegControls.ocx控件及媒体库文件夹LibAV,版本为3.0。

1 OLE控件的建立和设置

PB中利用OLE对象必须先注册,可由以下两种方式实现注册:

(1)使用Windows提供的注册命令注册FFOCX控件。运行regsvr32 ActiveFFmpegControls.ocx命令即可完成FFOCX控件注册,若ActiveFFmpegControls. oc x不在当前目录下,还需要有完整的路径。

(2)在PB窗口画板中注册FFOCX控件。在PB

图1 FFOCX控件注册完成后的显示界面

FFOCX控件注册成功后,在Control Type列表框中会显示5个控件,分别是FFEncoder Control,FFLogger Control,FFPlayer Control,FFDecoder Control,FFLoader Control。FFEncoder Control用于音频和视频格式的转换,FFLogger Control用于捕获其他组件输出的日志,FFPlayer Control用于播放音视频文件,FFDecoder Control用于获得媒体文件信息及解码视频帧画面或音频采样数据,FFLoader Control用于运行时期加载动态库。这里只需使用FFPlayer Control就可实现H.264视频文件的播放。

2 H.264播放器的实现[5]

2.1 建立用户界面,设置对象属性

(1)新建用户目录,并将ActiveFFmpegControls. ocx控件和媒体库文件夹LibAV拷贝至用户文件夹。

(2)注册ActiveFFmpegControls.ocx控件。

(3)新建一个工作区(名称:H264_play)、应用(应用名:H264_app)及Windows窗体(窗体名:H264_play)。

(4)在窗体上添加OLE对象,将FFPlayer Control控件添加到窗体中,用于实现音视频文件的播放。

(5)在窗体上添加1个DataWindow控件、1个 HScrollBar控件、1个HTrackBar控件、1个ListBox控件、1个DropDownListBox控件、4个CommandButton控件、5个StaticText控件。DataWindow控件用于视频显示窗口,HScrollBar控件用于控制音视频文件的播放进度,HTrackBar控件用于控制音量大小,ListBox控件用于显示状态信息,DropDownList-Box控件用于控制视频显示比,CommandButton控件用于控制视频的打开、暂停/继续、下一帧和停止功能,StaticText控件用于显示时间、视频比、音量等文字信息。

(6)调整各控件大小并放于合适位置,控件使用默认名,如图2所示。

(7)窗体运行,H.264播放器运行效果显示界面如图3所示。

图2 在窗体上添加控件

图3 H.264播放器运行效果显示界面

2.2 编写控件代码

各控件的事件主要代码如下:

3 结束语

FFmpeg是一套用于录制、转换和流化音视频的完整解决方案,而FFOCX是对FFmpeg库的完美封装和扩展后的ActiveX OCX版,支持目前所有的音视频格式,且功能强大、使用灵活。利用O L E技术在P B中链接FFOCX控件,通过编程可实现H.264视频文件的播放。用户可根据上面介绍的使用方法,通过不断的实践,设计出属于自己的功能强大的多媒体播放器。

[1]刘辉,魏玉琛,蒲布.基于Directshow的H.264解码器的设计与实现[J].电子技术应用,2011(9):139-141,148.

[2]程少炼,陈林.基于Directshow的H.264流媒体播放器设计[J].山西电子技术,2010(6):65-67.

[3]杜光辉,张宇敬.PB中利用OLE技术实现Word报表[J].才智,2010(23):32.

[4]向隅.新编PowerBuilder程序设计实例教程[M].北京:清华大学出版社,2009:145-149.

[5]向隅.PowerBuilder中使用OLE对象实现FLV视频文件的播放[J].东莞理工学院学报,2010(3):40-43.

[责任编辑:曲延昌]

Playing H.264 Video Files by Using the OLE Technology in PowerBuilder

LIAO Menghu, XIANG Yu
(Department of Electronic & Electrical Engineering, Wuhan Railway Vocational College of
Technology, Wuhan, 430205, China)

The traditional player can not play H.264 video files and has brought inconvenience to the customers. With PowerBuilder as the developing tool, adopting the OLE technology to link FFOCX can achieve the playing of H264 video files. It is proved that the player by adopting FFOCX controller can not only play H.264 video files but other types of video files as well.

PowerBuilder; H.264; OLE; FFOCX; Player

TP311

A

1671-4326(2013)02-0062-03

2012-10-04

湖北省教育厅人文社会科学研究项目(2011yjte133)

廖梦虎(1972—),男,湖北通城人,武汉铁路职业技术学院电子电气工程系讲师;

向 隅(1966—),男,湖北仙桃人,武汉铁路职业技术学院电子电气工程系副教授,硕士.

猜你喜欢
视频文件窗体播放器
流媒体视频文件相似性识别的方法
随心定制视频文件的缩略图
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
试谈Access 2007数据库在林业档案管理中的应用
基于STM32的MP3播放器设计
Moon ACE播放器/放大器一体机
播放器背板注塑模具设计
巧设WPS窗体控件让表格填写更规范
视频网格中自适应热度变化的条块化存储
视频文件,看过来