• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      用Delphi編程實(shí)現(xiàn)H.264視頻文件的播放

      2013-12-23 04:50:52張立平
      關(guān)鍵詞:視頻文件窗體播放器

      張立平

      (武漢鐵路職業(yè)技術(shù)學(xué)院電子電氣工程系,湖北武漢 430205)

      隨著流媒體播放、視頻監(jiān)控等應(yīng)用程序的開發(fā)被普遍應(yīng)用,H.264被認(rèn)為是最有影響力的流媒體視頻壓縮標(biāo)準(zhǔn)。它既保留了以往壓縮技術(shù)的優(yōu)點(diǎn)和精華,又在編碼質(zhì)量和壓縮比上比原有的視頻編碼標(biāo)準(zhǔn)都有了明顯的提高。在相同的視覺感知質(zhì)量上,H.264 的數(shù)據(jù)壓縮比比當(dāng)前DVD系統(tǒng)中使用的MPEG-2高2~3倍,比MPEG-4高1.5~2倍。由于H.264/AVC 采取了大量的先進(jìn)算法,在編碼效果和實(shí)現(xiàn)復(fù)雜度之間取得了良好的平衡[1-4]。正因?yàn)槿绱?,目前網(wǎng)上大部分視頻是基于H.264視頻標(biāo)準(zhǔn)的。

      傳統(tǒng)的影音播放器沒有播放H.264文件的功能,即使通過升級實(shí)現(xiàn)該功能,但使用時需安裝,用戶不方便。針對此問題,作者利用FFOCX控件在Delphi中實(shí)現(xiàn)了H.264視頻的解碼。

      1 使用FFOCX 控件制作簡單的H264播放器

      1.1 FFOCX簡介

      FFmpeg是一套用于錄制、轉(zhuǎn)換和流化音頻、視頻的完整解決方案,而FFOCX 是對FFmpeg庫的完美封裝和擴(kuò)展后的ActiveX OCX 版,支持目前所有的音視頻格式。FFOCX 能夠充分發(fā)揮FFmpeg庫的強(qiáng)大功能,并且比FFmpeg官方所提供的命令行程序更靈活、強(qiáng)大,比如支持轉(zhuǎn)換預(yù)覽,支持視頻合并,支持幀輸入、幀輸出,還支持同時轉(zhuǎn)換多個文件,可以充分利用現(xiàn)在越來越普及的多核CPU 資源[5]。FFOCX 控件名為ActiveFFmpegControls.ocx,可以從www.ccavc.com 網(wǎng)站下載。

      1.2 H264播放器簡介

      普通的H264播放器一般具有播放、暫停、停止、音量調(diào)節(jié)等功能。一個簡單的H264播放器包含以下3個部分:

      (1)播放窗口:用于播放H264視頻文件。

      (2)播放控制:包括播放、暫停、停止以及音量控制等。

      (3)顯示播放信息:如視頻格式、幀格式、播放時間、目前播放時間等。

      在用戶界面中,包含視頻播放窗口、水平滑塊(調(diào)節(jié)視頻播放位置)、列表(設(shè)置視頻播放比率以及控制視頻播放的按鈕。在播放視頻時,顯示播放時間等信息。

      1.3 Delphi2010中添加FFOCX控件

      FFOCX 控件在Delphi中不能直接使用,必須先注冊(使用Regsvr32命令)并安裝后才能使用。Delphi2010中安裝ActiveX 控件的方法如下[6]:

      (1)注冊FFOCX 控件。

      執(zhí)行regsvr32 ActiveFFmpegControls.ocx命令,可完成注冊。

      (2)啟動Delphi2010。

      (3)選擇File→New→Package-Delphi for Win32菜單命令,新建一個包。

      (4)選擇Component菜單下的Import Component命令,打開Import Component對話框。

      (5)選擇Import ActiveX Control單選項,單擊“Next”按鈕,彈出“Registered ActiveX Controls”。

      (6)在對話框中選擇“ActiveX FFmpeg Control 3.0”。

      (7)單擊“Next”按鈕,彈出控件的Unit等存放位置對話框,選中“Generate component wrappers”復(fù)選框。

      (8)單擊“Next”按鈕,彈出“Create Unit”對話框。

      (9)選擇“Add Unit to package”單選項,單擊“Finish”按鈕,完成安裝。

      (10)在項目管理器中用鼠標(biāo)右擊Package,從彈出的快捷菜單中選擇“Install”命令,完成Package的安裝。

      (11)Delphi2010 中添加FFOCX 控件成功后就可以在Delphi2010窗口中添加該控件了,該控件位于組件面板的ActiveX 控件類中,包括FFEncoder、FFPlayer、FFDecoder、FFLogger、FFLoader。* FFEncoder用于音頻和視頻格式的轉(zhuǎn)換。

      *FFPlayer用于播放音頻和視頻文件。

      *FFDecoder用于獲得媒體文件信息以及解碼視頻幀畫面或音頻采樣數(shù)據(jù).

      *FFLogger捕獲其他組件輸出的日志。

      *FFLoader用于運(yùn)行時期加載動態(tài)庫。

      文中是使用FFPlayer控件開發(fā)的簡單音視頻播放器。

      1.4 建立用戶界面、設(shè)置對象屬性

      (1)新建一個基于對話框的VCL Form Application 名為Player_H264 的應(yīng)用程序,窗體Caption屬性設(shè)為“簡單音視頻播放器”,其項目名稱為playerh264。調(diào)整窗體至合適大小。

      (2)添加控件。

      ①將組件面板ActiveX控件類中的FFPlayer控件添加到窗體中,該控件用于播放視頻文件。

      ②在窗體上添加1個打開文件對話框控件(Opendialog)。

      ③在窗體上添加1個面板控件(Panel)、1個ScrollBar控件、1個TrackBar控件、1個ListBox控件、4個按鈕控件、5個Label控件和1個Com-BoBox控件,控件名取默認(rèn)值。Panel控件窗口用于播放視頻,ScrollBar控件用于控制視頻播放進(jìn)度,TrackBar控件用于控制播放聲音。

      (3)調(diào)整各控件至合適大小,效果如圖1所示。

      圖1 添加控件效果

      1.5 主要代碼

      (1)主窗口代碼

      (2)音視頻文件播放窗口代碼

      1.6 執(zhí)行代碼

      運(yùn)行程序,結(jié)果如圖2所示。

      圖2 運(yùn)行結(jié)果

      2結(jié) 語

      FFOCX 控件具有豐富的功能,能實(shí)現(xiàn)目前所有音視頻格式文件的播放。www.ccvac.com網(wǎng)站提供了兩種格式的組件,一種是OCX 控件,其最高版本為3.0,適用于目前所有開發(fā)環(huán)境;另一種是針對Delphi 開發(fā)平臺的,控件名為FFVCL,并提供了豐富的事例程序。本文開發(fā)的簡單音視頻播放器使用的是OCX 控件,讀者可以使用此控件設(shè)計出屬于自己的功能強(qiáng)大的媒體播放器。

      1 劉輝,魏玉琛,蒲布.基于Directshow 的H.264解碼器的設(shè)計與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2011,37(9):139-141,148.

      2 程少煉,陳林.基于Directshow 的H.264流媒體播放器設(shè)計[J].山西電子技術(shù),2010,6:65-67.

      3 吳杰,吳寧,周陽等.基于H.264的網(wǎng)絡(luò)流媒體播放控件的設(shè)計與實(shí)現(xiàn)[J].南京師范大學(xué)學(xué)報(工程技術(shù)版),2011,11(4):53-56.

      4 張前進(jìn).基于RTP 的H264實(shí)時傳輸系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].企業(yè)技術(shù)開發(fā),2011,30(23):1-2.

      5 www.ccvac.com.

      6 向隅.基于Delphi的PDF文檔顯示的實(shí)現(xiàn)[J].長江大學(xué)學(xué)報(自然科學(xué)版),2009,6(2):252-254.

      猜你喜歡
      視頻文件窗體播放器
      流媒體視頻文件相似性識別的方法
      隨心定制視頻文件的縮略圖
      電腦報(2021年23期)2021-07-23 17:36:18
      Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
      試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
      檔案天地(2019年5期)2019-06-12 05:12:02
      基于STM32的MP3播放器設(shè)計
      電子制作(2019年9期)2019-05-30 09:41:44
      Moon ACE播放器/放大器一體機(jī)
      播放器背板注塑模具設(shè)計
      中國塑料(2015年8期)2015-10-14 01:10:55
      基于LayeredWindow的異形窗體局部刷新
      中文信息(2014年2期)2014-03-06 23:49:14
      巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
      視頻網(wǎng)格中自適應(yīng)熱度變化的條塊化存儲
      無線電工程(2013年1期)2013-09-19 10:18:18
      中方县| 奉贤区| 新闻| 宜兴市| 永福县| 广昌县| 依兰县| 敖汉旗| 镇原县| 宝应县| 米易县| 漳浦县| 勐海县| 彭州市| 巧家县| 灌云县| 南木林县| 高雄市| 白银市| 社旗县| 改则县| 石楼县| 英山县| 沾益县| 杭锦旗| 阿合奇县| 凌源市| 邵武市| 治县。| 江达县| 禄劝| 潞城市| 阿鲁科尔沁旗| 弥渡县| 景泰县| 望奎县| 乌海市| 璧山县| 防城港市| 吴旗县| 达孜县|