亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        媒體資產(chǎn)管理系統(tǒng)中基于FFmpeg技術(shù)的應(yīng)用設(shè)計(jì)

        2014-04-29 00:00:00金晶

        摘 要:媒體資產(chǎn)管理(Media Asset Management,簡(jiǎn)稱MAM)是指利用信息技術(shù)手段,對(duì)數(shù)字媒體資產(chǎn)所做的存儲(chǔ)、管理、挖掘和再利用,實(shí)現(xiàn)媒體資產(chǎn)價(jià)值的優(yōu)化。媒資系統(tǒng)在設(shè)計(jì)中為保證系統(tǒng)具有最大兼容性,就要對(duì)編碼轉(zhuǎn)換子系統(tǒng)進(jìn)行改進(jìn),本文對(duì)FFmpeg技術(shù)相關(guān)理論及FFmpeg技術(shù)在媒體資產(chǎn)管理系統(tǒng)中的應(yīng)用做一些探討。

        關(guān)鍵詞:媒體資產(chǎn)管理;FFmpeg技術(shù);編碼解碼

        中圖分類號(hào):TP315

        媒體資產(chǎn)管理系統(tǒng)是指對(duì)各類視頻、音頻資料的存儲(chǔ)、編目、資產(chǎn)發(fā)布的綜合信息系統(tǒng),能夠?qū)崿F(xiàn)創(chuàng)建、編目、存儲(chǔ)等,提高媒體資源利用率。媒體資產(chǎn)管理系統(tǒng)的實(shí)現(xiàn)可以分為數(shù)據(jù)上下載系統(tǒng)設(shè)計(jì)、編碼系統(tǒng)設(shè)計(jì)、編目系統(tǒng)設(shè)計(jì)以及存儲(chǔ)管理系統(tǒng)設(shè)計(jì)等,為了保證實(shí)現(xiàn)兼容性,需要編碼系統(tǒng)能完成多種格式之間的轉(zhuǎn)換,因此FFmepeg技術(shù)不失為一個(gè)優(yōu)化的選擇。

        1 FFmpeg技術(shù)概述

        FFmpeg是一個(gè)基于Linux操作系統(tǒng),集錄制、轉(zhuǎn)換以及流化音視頻為一體的解決方案,能夠在絕大多數(shù)的操作系統(tǒng)中使用,包含了非常先進(jìn)的音頻/視頻編解碼庫(kù)libavcodec,支持多種編碼和解碼。FFmpeg由視頻文件轉(zhuǎn)換命令行工具、多媒體服務(wù)器、媒體播放器、普通格式解析器以及音視頻編碼器等組成。

        FFmpeg命令行的基本格式是FFmpeg.exe[options]-i input_file [options]output_file,F(xiàn)Fmpeg參數(shù)由輸入文件和文件兩部分組成,輸入文件名稱前加下短線“-”,另外輸入文件和輸出文件可以自帶可選參數(shù),如參數(shù)-ss,格式為-ss hh;mm;ss;xxx,設(shè)置轉(zhuǎn)換的起點(diǎn)位置,如-ss 00:30.000;參數(shù)-t,格式為-t hh;mm;ss;xxx,轉(zhuǎn)換持續(xù)的時(shí)間,如-t 00:05.00.00;參數(shù)-vcodor,格式為-vcodor編碼器,設(shè)置視頻編碼器,如-vcodor wrnv2等。

        2 FFmpeg 視頻轉(zhuǎn)換的關(guān)鍵技術(shù)

        FFmpeg視頻轉(zhuǎn)換的關(guān)鍵技術(shù)包括FFmpeg編碼/解碼的實(shí)現(xiàn)和格式轉(zhuǎn)換的流程。在技術(shù)實(shí)現(xiàn)方面,素材的格式轉(zhuǎn)換功能主要是調(diào)用音頻/視頻編碼庫(kù)libavcodec中的相應(yīng)函數(shù)來(lái)實(shí)現(xiàn),需要注意的是在采用FFmpeg編碼之前需要先初始化libavcodec庫(kù),導(dǎo)入幀速率、編碼器碼率以及編碼像素格式等參數(shù),接著再進(jìn)行編碼。結(jié)構(gòu)體AVCodecContext中的各個(gè)成員參數(shù)通過(guò)預(yù)設(shè)的視頻參數(shù)來(lái)賦值,系統(tǒng)每一幀的數(shù)據(jù)都變?yōu)橐曨l流。編碼過(guò)程為(部分):av_register_all()→av_find_stream_info()→avcodec_alloc_frame()→pCodec=avcodec_find_ encoder (CODEC_ID_H264)→av_read_frame()→avformat_close_mput file().FFmpeg解碼過(guò)程為(部分):av_register_all()→av_find_decoder()→avcodec_open→avcodec_ encode_ video→顯示視頻→avcoder_close()。

        FFmpeg采用了核心庫(kù)+主程序的編程模式,實(shí)現(xiàn)內(nèi)部各種函數(shù)的具體格式,也實(shí)現(xiàn)了對(duì)視頻的編輯操作,修改部分文件格式處理的代碼,系統(tǒng)的視頻編輯界面采用非線性布局,能夠非常精確的記錄視頻剪輯的時(shí)間。具體流程為:是否需要視頻剪切(是)→是否需要格式轉(zhuǎn)換(是)→編輯后關(guān)閉文件→更新各項(xiàng)統(tǒng)計(jì)參數(shù)→保存生成新文件的函數(shù)→調(diào)用XML Parser組件生成文檔。

        3 FFmpeg在媒體資產(chǎn)管理系統(tǒng)中的技術(shù)實(shí)現(xiàn)

        3.1 設(shè)計(jì)思路

        通過(guò)FFmpeg.exe命令執(zhí)行完成媒體轉(zhuǎn)碼,能夠在主程序與FFmpeg進(jìn)程中建立輸出管道,來(lái)管理轉(zhuǎn)換過(guò)程。主程序進(jìn)程啟動(dòng)主程序線程、管道監(jiān)視線程以及任務(wù)監(jiān)視線程三個(gè)線程,包括數(shù)據(jù)上傳下載系統(tǒng)、編碼系統(tǒng)、編目子系統(tǒng)設(shè)計(jì)以及其他功能型設(shè)計(jì)等。主程序線程主要實(shí)現(xiàn)程序的初始化以及用戶接口等任務(wù),任務(wù)監(jiān)視線程主要實(shí)現(xiàn)啟動(dòng)FFmpeg進(jìn)程以及監(jiān)視任務(wù)列表等,管道監(jiān)視線程主要實(shí)現(xiàn)獲取管道信息以及監(jiān)視管道等過(guò)程。

        圖1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖

        主程序完成初始化后,創(chuàng)建管道事件和任務(wù)監(jiān)視線程,任務(wù)監(jiān)視線程建立數(shù)據(jù)庫(kù)連接生成任務(wù)隊(duì)列,進(jìn)而生成FFmpeg命令字符串,開始轉(zhuǎn)換編碼。FFmpeg轉(zhuǎn)碼完成后自動(dòng)結(jié)束,進(jìn)行下一任務(wù)。在FFmpeg的進(jìn)程執(zhí)行中,信息分為開始、過(guò)程和結(jié)束信息,分析開始信息字符串能夠得到時(shí)長(zhǎng)、視頻格式、幀大小、視頻制式等,進(jìn)而計(jì)算轉(zhuǎn)換完成百分比,返回給監(jiān)視線程,用于等待控制。

        3.2 數(shù)據(jù)上下載系統(tǒng)設(shè)計(jì)

        上載模塊主要功能是實(shí)現(xiàn)素材的雙碼流導(dǎo)入,采編過(guò)程可參照兩種命令實(shí)現(xiàn):高品質(zhì):ffmpeg -i X:\input\a.wmv-ab 128-acodec libmp3lame-ac 1 -ar 22050 -r 29.97 -qscale 4 -y X:\output\a.flv和低品質(zhì):ffmpeg -i X:\input\a.wmv -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 29.97 -b 512 -y X:\output\low.flv。以上命令可以在Dos命令行中輸入,也可以創(chuàng)建到批處理文件中運(yùn)行。不過(guò)前提是要在ffmpeg所在的目錄中執(zhí)行。

        由于網(wǎng)絡(luò)上傳文件一般分為FTP協(xié)議方式和HTTP協(xié)議方式,而HTTP協(xié)議方式操作簡(jiǎn)單、便于管理,因此經(jīng)常使用。本文設(shè)計(jì)采用ASP.NET實(shí)現(xiàn)文件批量上載,最大可支持4096Kb文件,修改web.config文件中的RequestLenght等屬性值來(lái)實(shí)現(xiàn)上傳大文件作用;下載模塊主要實(shí)現(xiàn)媒體資料的不同介質(zhì)存儲(chǔ),通常實(shí)現(xiàn)文件下載有不同的方法,可以采用IssusI()Utility、TransmitFile()、WriteFile()、WriteFile()分塊下載、Binary Write()等實(shí)現(xiàn)下載。測(cè)試環(huán)境主要是Windows7、Visual Studio2005以及ASP.NET等,下載時(shí)間見表1所示。

        表1 不同方法下載時(shí)間

        文件大小/Kb方法1/s方法2/s方法3/s方法4/s方法5/s

        107680

        201638

        310720

        415002

        平均時(shí)間5.533

        11.351

        19.615

        28.165

        21.0375.676

        11.465

        20.256

        33.554

        17.7385.192

        10.165

        20.216

        24.156

        14.9355.315

        11.364

        20.564

        48.264

        21.6778.126

        15.526

        26.458

        36.565

        21.669

        3.3 基于FFmpeg的編碼系統(tǒng)的設(shè)計(jì)

        在編碼系統(tǒng)的設(shè)計(jì)中重點(diǎn)是檢索碼流轉(zhuǎn)換和文件格式轉(zhuǎn)換兩種需求,任務(wù)主要有節(jié)目成品入庫(kù)前編碼、素材回調(diào)編碼和多種碼間流轉(zhuǎn)換。比如常用的素材編輯和檢索發(fā)布的格式主要是MPEG-X和FLV,由于前者的音視頻數(shù)據(jù)在傳輸時(shí)會(huì)對(duì)帶寬造成較大影響,廣域網(wǎng)用戶往往需要緩沖很長(zhǎng)時(shí)間才能夠進(jìn)行播放,因此在非編輯狀態(tài)下多使用FLV格式,這種流媒體格式加載快、視頻效果良好。在轉(zhuǎn)換編碼時(shí)工作流程為MeDIA→ByteIOC ontext→DEMUXER(拆分文件)→DECODE函數(shù)→YUV(顏色編碼方法)→ENCODE函數(shù)→MUXER(合并文件)→BytelOC ontext→MEDIA,YUV(顏色編碼方法)→DECODE(函數(shù))→DEMUXER(拆分文件)→BytelOC ontext→MEDIA。此工作流程包括解碼播放過(guò)程、格式轉(zhuǎn)換過(guò)程以及錄制過(guò)程,實(shí)現(xiàn)了采集、編輯以及播放等功能。

        針對(duì)基于FFmpeg的編碼服務(wù)主要有兩種實(shí)現(xiàn)方案,一種是先將FFmpeg編譯為ffmper.exe,接著在ffmpeg.exe的基礎(chǔ)上開發(fā),另一種則是直接在FFmpeg項(xiàng)目源碼上開發(fā),雖然第二種方法運(yùn)行效率以及穩(wěn)定性上有很大的優(yōu)勢(shì),但是這種方法的開發(fā)成本過(guò)高,且需專業(yè)的維護(hù),并不適合用于小型媒資產(chǎn)系統(tǒng),因此在多采用成本低,開發(fā)便捷的第一種方法。以ffmpeg.exe為例進(jìn)行說(shuō)明低碼率的轉(zhuǎn)換,主要代碼為(部分):string tool= Application.StartupPath + “// ffmper.exe”; stcmd= sFileName + “-ab56-ar220500- b512 -r15-s 320 x 240”+dFileName;p.StarInfo.FilkeName=toolpath;FFmpeg編解碼運(yùn)行過(guò)程見圖2所示。為支持新的視頻格式,可下載其第三方庫(kù),產(chǎn)生的ffmper.exe以及l(fā)ibavcodec等文件替換其原先的文件,從而完成模塊更新并支持其新格式。

        圖2 FFmpeg編解碼過(guò)程

        在編碼處理過(guò)程中,用戶通過(guò)用戶界面對(duì)編碼服務(wù)器進(jìn)行調(diào)度和配置。編碼服務(wù)器采用無(wú)界面后臺(tái)程序工作模式進(jìn)行,無(wú)需編碼的硬件支持。由于需要進(jìn)行大量的磁盤讀取,同時(shí)編碼過(guò)程需占用較多的CPU資源,因此,編碼系統(tǒng)可以設(shè)計(jì)為單隊(duì)列、多任務(wù)方式進(jìn)行并行處理,這樣可減少對(duì)系統(tǒng)資源的占用,提高處理速度。

        3.4 編目系統(tǒng)設(shè)計(jì)

        編目系統(tǒng)是實(shí)現(xiàn)檢索功能的基礎(chǔ)設(shè)計(jì)部分,主要是編目、著錄原文件,設(shè)計(jì)需求包括媒體對(duì)象、素材目錄、出版以及相關(guān)人員信息等,初步設(shè)計(jì)共包括題名、出版日期、內(nèi)容描述、關(guān)鍵詞以及資源類型等15個(gè)元素。為簡(jiǎn)便操作,采用每個(gè)資源對(duì)應(yīng)一個(gè)資源編號(hào)。編目著錄過(guò)程中應(yīng)注意兩個(gè)問題:(1)著錄元數(shù)據(jù)的完整性;(2)音視頻著錄中部分字段的處理方法及區(qū)別。

        3.5 其他系統(tǒng)設(shè)計(jì)

        其他系統(tǒng)設(shè)計(jì)主要是存儲(chǔ)管理系統(tǒng)、文件檢索以及遷移備份等系統(tǒng)的設(shè)計(jì),本文采取的存儲(chǔ)管理系統(tǒng)是三級(jí)存數(shù)與SAN存儲(chǔ)相結(jié)合的分級(jí)存儲(chǔ)架構(gòu),安全性能與效率較高。文件檢索系統(tǒng)主要是實(shí)現(xiàn)分類檢索、精確檢索等功能,并且用戶能夠?qū)崿F(xiàn)檢索結(jié)果的下載、播放等操作。遷移系統(tǒng)的設(shè)計(jì)依照數(shù)據(jù)的不同使用頻次分別移到在線、近線、離線的存儲(chǔ)設(shè)備中,依照模型涉及到時(shí)間、文件用戶數(shù)量、I/O頻率、對(duì)比度以及文件大小等參數(shù)。編碼服務(wù)器在數(shù)據(jù)遷移過(guò)程中通過(guò)改變素材的封裝方式和頭文件,盡量減少對(duì)素材本身編碼和碼流的改變,避免重復(fù)編碼以節(jié)約資源。數(shù)據(jù)的備份文本采用基于數(shù)據(jù)庫(kù)的實(shí)時(shí)熱備份技術(shù),采用雙網(wǎng)連接和盤陣技術(shù),保證安全性和穩(wěn)定性。此外媒資系統(tǒng)還具有轉(zhuǎn)碼加密、播放解碼(密)、查詢回放等其他功能。

        4 結(jié)束語(yǔ)

        綜上所述,媒體資產(chǎn)管理系統(tǒng)通過(guò)應(yīng)用FFmpge技術(shù),系統(tǒng)優(yōu)化了媒資系統(tǒng)中檢索、轉(zhuǎn)換和傳輸?shù)娜舾蓡栴},充分保證了數(shù)據(jù)的有效性和完整性。在今后的技術(shù)應(yīng)用中,針對(duì)工作的實(shí)際需求,還需要對(duì)FFmpge技術(shù)的開發(fā)應(yīng)用進(jìn)行不斷完善和探索。

        參考文獻(xiàn):

        [1]鄧?yán)倮?,張里?基于FFmpeg技術(shù)的媒體資產(chǎn)管理系統(tǒng)設(shè)計(jì)[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2012(06):1218-1222.

        [2]楊麗軍.FFmpeg在媒體資產(chǎn)管理系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2011(15):147-149.

        [3]劉建敏,楊斌.嵌入式Linux下基于FFmPeg的視頻硬件編解碼[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(06):28-31.

        作者簡(jiǎn)介:金晶(1978-),男,湖南長(zhǎng)沙人,工程師,碩士,研究方向:廣電工程、非線性編輯技術(shù)、新媒體技術(shù)。

        作者單位:湖南廣播電視大學(xué)教育信息技術(shù)中心,長(zhǎng)沙 410004

        基金項(xiàng)目:湖南電大校級(jí)課題(項(xiàng)目編號(hào):XDK2013-C-4)。

        久久波多野结衣av| 麻豆国产一区二区三区四区 | 欧美xxxx做受欧美88| 亚洲色成人网站www永久四虎| 1717国产精品久久| 亚洲一区二区情侣| 日本久久久精品免费免费理论| 国产免费三级三级三级| 极品少妇一区二区三区| 精品一区二区三区四区国产| 一区二区三区av波多野结衣| 色一情一乱一乱一区99av| 国产成人亚洲日韩欧美| 日本少妇人妻xxxxx18| 久久国产综合精品欧美| 亚洲黄色官网在线观看| 亚洲免费一区二区三区四区| 久久精品国产亚洲av精东| 性高朝大尺度少妇大屁股| 激情97综合亚洲色婷婷五| 亚洲精品中文字幕二区| 国产精品久久久黄色片| 天天躁日日躁aaaaxxxx| 国内揄拍国内精品人妻浪潮av | 亚洲一区二区三区在线最新| 亚洲av乱码一区二区三区林ゆな| 国产精品成人3p一区二区三区| 小sao货水好多真紧h视频| аⅴ天堂国产最新版在线中文 | 国产一区二区三区视频免费在线| 日韩美女av一区二区三区四区| 国产私人尤物无码不卡| 午夜dj在线观看免费视频| 久久91精品国产91久久麻豆| 成年人视频在线观看麻豆| 国产亚洲精品国产精品| 久久99精品久久水蜜桃| 另类专区欧美在线亚洲免费| 国产成社区在线视频观看| 亚洲视频在线免费观看一区二区| 最新中文字幕日韩精品|