999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

監控系統錄像時視頻文件格式的轉換方法

2009-05-12 03:14:34焦淑紅
現代電子技術 2009年5期

焦淑紅 張 靜

摘 要:隨著對監控技術需求的不斷發展,許多公司建立了自己的文件格式來實現編碼技術,以滿足不同的應用需求。然而,使用這些私有的文件格式保存多媒體文件,只能用專用播放器才能播放,給使用造成了很大不便。為解決這一問題,提出了一種在視頻監控系統進行錄像或者下載時,將私有塊文件格式封裝為MPEG-Ⅱ PS流文件格式保存的方法。介紹了MPEG-Ⅱ PS的背景,私有文件格式的背景,封裝前對媒體流的處理方法,以及MPEG-Ⅱ PS流的封裝方法,并提出了一種特殊打印時間戳的方法。經過轉換后的文件可以被通用播放器,如VLC,暴風影音等播放,并且能夠實現音視頻同步。

關鍵詞:MPEG-Ⅱ PS;私有文件格式;文件格式轉換;時間戳;錄像

中圖分類號:TN919.8文獻標識碼:B

文章編號:1004-373X(2009)05-115-04

Video File Format Conversion Method in the Video Surveillance System

JIAO Shuhong,ZHANG Jing

(Information and Communication Engineering College,Harbin Engineering University,Harbin,150001,China)

Abstract:With development of the demand of video surveillance,many companies set up their own file format to meet different application requirements.It is inconvenient because these private files can only be played by special players.To solve this problem,an approach that transcoding private block file to MPEG-Ⅱ PS document format in video or download had been brought up.The background of MPEG-Ⅱ PS,and private block file,the processing methods of media stream before packaging,the packaging methods of MPEG-Ⅱ PS are introduced,and a special time-stamp printing methods is brought up.The file after transcoding can be played by common players,such as VLC,storm player,and so on.Besides,audio and video synchronization in time can be achieved.

Keywords:MPEG-Ⅱ PS;private file format;file format conversion;timestamp;video

0 引 言

監控技術從上個世紀80年代進入我國以來,隨著安防需求的急劇增加,隨著國內信息化建設的不斷深入,一直在飛速發展。目前,視頻監控已經發展到了網絡多媒體監控系統,并已應用于人們的工作和生活。隨著需求的不斷發展,更多的編碼技術和應用對象正在不斷地產生,許多公司建立了自己的文件格式來實現編碼技術,以滿足不同的應用需求。

然而,使用這些私有的文件格式保存多媒體文件只能用專用播放器才能播放,而一些被客戶廣泛使用的播放器卻無法對這些數據進行處理,因此給客戶的使用造成了很大的不便。

為了解決這一問題,提出一種在視頻監控系統中,對多媒體文件(包括從網絡上接收到的RTP數據包,或者私有格式的多媒體文件)進行錄像或者下載時,將數據封裝為PS流格式,轉換成普通格式的多媒體文件存儲的轉換方案。利用該技術方案,轉換后的多媒體文件包含視頻和音頻,可以通過暴風影音、VLC播放,并且能夠實現音視頻同步。

1 MPEG-Ⅱ PS 流背景

在MPEG-Ⅱ標準中,為了將一個或更多的音頻、視頻,或其他的基本數據流合成單個或多個數據流,以適應于存儲和傳送,必須對其進行重新打包、編碼,在碼流中還需要插入各種時間標記、系統控制等信息,最后送到信道編碼器與調制器。這樣可以形成兩種數據流節目流(Program Stream,PS流)和傳輸流(Transport Stream,TS流)。

TS流與PS流的區別在于:

(1) TS流的包結構是固定長度,而PS流的包結構是可變長度的。

(2) 它們的應用場合不同,PS流適合在出錯相對較少的網絡環境下使用,其長度是變化的;TS流能夠把多個節目在基于一個或多個時間標識的基礎上構成一個流,TS流適合在出錯較多的場合使用。

(3) PS流主要應用于存儲固定時長的節目,如DVD電影,而TS流則主要應用于實時傳送的節目,比如實時廣播的電視節目。

(4) 很多視頻編緝軟件是不支持TS流的,所以如果要對視頻文件進行處理,要將TS流轉換為PS流后,才能進行后期的編輯。

TS流和PS流的形成過程如圖1所示。

根據圖1可以看出,無論對傳輸流還是節目流,MPEG-Ⅱ系統復接部分都可分為兩個步驟:

(1) 視頻和音頻的基本流(Elenentary Stream,ES)分別按一定的格式打包,構成具有某種格式的打包基本流(Packetized Elementary Stream,PES),分別稱為視頻PES和音頻PES,這一步驟在打包器內實現,PES的長度可在一定范圍內變化。

(2) 將視頻、音頻的PES流以及輔助數據按不同格式再打包,然后進行復接,即分別生成了PS流和TS流。

PS流一般以一幀數據為一個處理單元,由很多的PES包組成,音視頻數據包含在PES包中,PS流的組成示意圖如圖2所示。

Pack Header一般是14 B或15 B,其中包括包起始字段、SCR字段、節目復合速率字段等。

PES Header 中,包括包起始碼前綴字段、流標識字段(一般視頻對應0XE0,視頻對應0XC0)、數據包長度、PTS和DTS等。

Video,Audio等表示的是視音頻裸數據。

2 私有文件存儲格式

私有文件格式是由主副兩級時間索引組成,磁盤被劃分多個數據單元,數據單元是物理時間獨立的存儲空間,單元內的數據按時間遞增順序存儲,以16 KB為基本的存儲單位,稱之為“塊”,其結構如圖3所示。

Super Data:記錄磁盤信息,包括初始后該磁盤的系統uuid、磁盤最后一次使用時間、分區情況、分區的使用情況等。

Main Index:Main Index是一個結構體,具體記錄磁盤主索引信息,包括當前正在寫入的塊索引號、當前有效的索引數、寫入標志(是否循環輸入)等。

Data Unit:由主索引管理的存儲單元,每塊的大小為256 Mb/s。

Second Index :單元副索引,記錄單元內 I 幀組使用情況、I 幀組開始時間、I 幀組占用的數據塊、I 幀組在單元內的起始位置等。

3 PS流封裝前準備

PS流的封裝是從獲得裸碼流開始的,所以在進行PS流封裝前,應該對從網絡上接收到的數據包或者H3CRD格式的多媒體文件進行處理,以獲得音視頻的裸碼流。

3.1 網絡上收到的RTP數據包的處理

網絡上收到的RTP數據包的處理流程如圖4所示。

其過程描述如下:

(1) 選擇數據源,從指定的網絡端口上收取多媒體數據包。

(2) 將從網絡上接收到的數據包放入幀緩存區中。

(3) 如果此包為當前幀的最后一個包,表明這一幀的數據已經接收完成,將當前幀數據放入I幀組鏈表。

(4) 將I幀組鏈表發送到錄像線程,進行PS流的封裝處理。

(5) 判斷網絡數據源是否仍有數據,如果有,重復步驟(1)~(4);如果已經沒有數據,則退出程序。

3.2 私有格式的多媒體文件的處理

如前面背景中所述,塊文件格式的多媒體文件是一種私有多媒體文件格式,要想從塊文件格式中得到裸數據,就必須對塊文件格式進行解析,解析過程簡圖如圖5所示。

解析過程描述如下:

(1) 設置待轉換文件的開始時間和結束時間。

(2) 從磁盤上讀取時間索引。

(3) 以塊為單位處理數據,直至一個I幀組處理完成,存入I幀組緩沖區。

(4) 發送到錄像線程進行PS流封裝。

(5) 如果還有數據沒有處理,則重復步驟(2)~(4);如果所有數據都已處理完成,則退出程序。

4 PS流封裝

無論對實時流,還是私有格式文件,PS流的封裝都是從獲得裸數據開始的。

PS流封裝包括如下幾個關鍵步驟:

(1) PES分組信息的填充。

(2) 節目流包頭信息的填充。

(3) 數據的填充。

4.1 PES分組信息的填充

(1) 分組起始碼前綴

24位字段,它和后面的Stream_id構成了標識分組起始碼,它的值固定填充:0X000001。

(2) 流標識字段

8位字段,它規定了基本流的類型,一般音頻:0XC0,視頻0XE0。

(3) PES分組長度字段

16位字段,指出了PES分組中跟在該字段后的字節數目。

(4) PTS,DTS標志字段

24位字段,當值為‘10時,PTS字段出現在PES分組信息頭中,當值為‘11時,PTS和DTS字段都應出現在PES分組信息頭中,當值為‘00時,PTS和DTS都不出現在PES分組信息頭中,值‘01是不允許的。

如果一個PES包對應一幀圖像,因此在每個包中均應設定與該圖像幀對應的PTS值。至于DTS,它不能獨立出現,必須與PTS一起發生,DTS值可由PTS值得到,除非對解碼過程有特殊要求,一般不設定也不傳送DTS,當編碼圖像幀不含B幀時,也就是說不需要對編碼幀順序進行重排時,DTS值與PTS值是相同的。PTS是PES頭中最重要的功能,PTS的差錯將導致圖像與伴音對不齊之類的錯誤。音頻幀不需要填寫DTS字段。

(5) 顯示時間標志

PTS是一個編碼在三個分離字段的33位數字,它以系統時鐘幀率的1/300(即90 kHz)為單位,PTS值計算如下:

PTS=((SCF*FileTimeStamp)/300)%233

其中:SCF為System Clock Frequency的縮寫,表示的是系統時鐘頻率,一般取27 MHz,FileTimeStamp是當前幀的時間戳,它的獲取方法是獲取接收到當前幀時對應的系統時間,將其換算為以秒為單位時對應的值。

4.2 節目流包頭信息的填充

(1) 包起始字段

固定填充0X000001BA,用來標志一個包的開始。

(2) 系統時鐘參考

系統時鐘參考,是一個分兩部分編碼的42位字段,第一部分System_Clock_ Reference_Base,是一個長度為33位字段,它以系統時鐘頻率的1/300為單位,其值的計算方法如下:

SCR_Base=((SCF*FileTimeStamp)/300)%233

第二部分System_Clock_Reference_ Extention是一個長度為9位的字段,它以系統時鐘頻率為單位,其值的計算方法是:

SCR_Extention=(SCF*FileTimeStamp)%300

4.3 數據區的填充

無論是對實時流的處理還是對私有塊文件格式的多媒體文件處理,都是以幀為單位進行讀取和封裝的。在每幀數據的幀頭信息中可以知道該幀數據的長度和數據存放位置,由于PS流的包結構是可變長度的,因此根據該幀數據的長度,將數據順序填入PES Packer Header之后的數據區中。

5 時間戳的打印方式

PS流的封裝方法基本遵循MPEG-II標準,顯示時間標志PTS(Presentation Time Stamp)和解碼時間標志DTS(Decoding Time Stamp) 是保證音視頻準確同步的重要信息。PTS,DTS計算公式如下:

((SCF*FileTimeStamp)/300)%233

式中,SCF指系統時鐘頻率,取固定值27 MHz,FileTimeStamp為當前幀的時間戳,表示的是輸入的到達時間,由于此處采用的是系統時間格式,所以當前幀的時間戳就是當前幀到達時的系統時間。

但是對于在錄像或下載時,進行文件格式轉換工作,會受到網絡環境的限制,在網絡環境比較惡劣的時候,并不能保證數據流的連續,因此,如果按照MPEG-Ⅱ標準,時間戳為輸入的到達時間,在錄成文件回放時,是按照時間戳來回放的,在這種情況下,很難保證回放時畫面的流暢和音視頻的同步,這樣會嚴重影響圖像質量。

為解決這一問題,必須采用一種獨特的打印時間戳的方法,稱之為“手動打印時間戳”的方式,就是在得到第一幀圖像時,采用系統時間作為當前幀的時間戳,而兩幀圖像的時間間隔為40 ms,因此對第一幀之后的視頻幀,時間戳是以在前一幀基礎上增加40 ms的方式打印的,這樣可有效解決錄像后文件受網絡環境限制的問題,使文件格式轉換后的圖像質量得到了進一步保障。

6 結 語

經過以上的處理,就將私有的塊格式文件轉換為MPEG-PS的格式,可以使用通用的媒體播放器,如:VLC,暴風影音等播放。解決了通用播放器無法處理私有格式數據,使用非常不便的問題。

參考文獻

[1]姚雪峰,王華軍,呂乃光,等.基于WINDOWS平臺的多媒體文件格式轉換原理與實現[J].計算機系統應用,2006(3):67-69,35.

[2]王軼.基于WinCE的移動客戶端的網絡視頻監控系統[D].大連:大連海事大學,2008.

[3]劉昕宇.荊門電信“全球眼”視頻監控系統設計[D].大連:大連海事大學,2008.

[4]創新科.平安城市視頻監控數據存儲技術方案[EB/OL].http://vm.lmtw.com/FA/200712/44339.html,2007.

[5]謝志華.MPEG-2 TS流處理及其網絡傳輸技術的研究[D].江西:江西師范大學,2004.

[6]梅劍平,全子一.MPEG-2系統復接技術[EB/OL].http://www.catvshow.com/tech-center/digital-TV/5-26/MPEG-2-1.htm,2007.

[7]佚名.MPEG-2系統的傳輸流復用方式[EB/OL].http://met.fzu.edu.cn/cai/satellite/wangshangjiaoxue/2-5.htm,2006.

[8]陳磊.一種視頻監控數據存儲管理方法及系統[P].中國:200610103523.4,2006.

[9]GB/T 17975.1-2000.信息技術 運動圖像及其伴音信息的通用編碼[S].2000.

主站蜘蛛池模板: 日本尹人综合香蕉在线观看| 97视频在线观看免费视频| 成人国产精品网站在线看| 亚洲中文字幕久久精品无码一区| 久久天天躁狠狠躁夜夜2020一| 久久五月视频| 欧美中文字幕在线二区| 国内精品91| 再看日本中文字幕在线观看| 国产精品999在线| 欧美曰批视频免费播放免费| 国产精品久久久久久久久久久久| 色综合成人| 精品国产成人av免费| 人妻精品久久无码区| 久久精品无码一区二区日韩免费| 午夜老司机永久免费看片| 国产91小视频| 亚洲中文字幕无码mv| 72种姿势欧美久久久大黄蕉| 久久国产精品麻豆系列| 国产尤物jk自慰制服喷水| 夜夜拍夜夜爽| 日本欧美一二三区色视频| 国产精品lululu在线观看| 天天躁夜夜躁狠狠躁躁88| 欧美精品亚洲日韩a| 毛片a级毛片免费观看免下载| 亚洲成综合人影院在院播放| 亚洲一区精品视频在线| 99视频精品在线观看| 国产精品性| 欧美精品影院| 精品久久国产综合精麻豆| 色综合热无码热国产| 亚洲 欧美 偷自乱 图片 | 久久国产香蕉| 国产色网站| 中文字幕乱码中文乱码51精品| 99久久精品国产麻豆婷婷| 亚洲va欧美ⅴa国产va影院| 亚洲一区色| 9999在线视频| 71pao成人国产永久免费视频| 国产三级精品三级在线观看| 国产一级毛片在线| 四虎成人精品| 亚欧成人无码AV在线播放| 情侣午夜国产在线一区无码| 日本三区视频| 亚洲国产成人超福利久久精品| 国产95在线 | 91国内在线观看| 久久国产精品无码hdav| 欧美一道本| 亚洲伊人天堂| 免费在线不卡视频| 国产日韩丝袜一二三区| 亚洲人成在线免费观看| 国产精品视频3p| 亚洲国产日韩视频观看| 精品一区二区三区波多野结衣| 亚洲欧美成aⅴ人在线观看| 日韩第一页在线| 亚州AV秘 一区二区三区| 亚洲va欧美va国产综合下载| 永久免费av网站可以直接看的| 久久综合九九亚洲一区| 欧美另类视频一区二区三区| 亚洲最新在线| 亚洲第一av网站| 在线播放精品一区二区啪视频| 高清国产va日韩亚洲免费午夜电影| 午夜视频日本| 亚洲欧洲日产国产无码AV| 免费高清a毛片| 久久精品国产亚洲AV忘忧草18| 国产亚洲精久久久久久久91| 真实国产乱子伦高清| 国产欧美视频在线| 欧美国产在线看| 国产精品成人观看视频国产|