基于地面高清機頂盒的PVR系統設計與開(kāi)發(fā)
3.3 EPG信息的提取和使用
本系統的EPG通過(guò)兩種方式獲取,其一是在播放節目時(shí)按下EPG按鍵顯示的present/following(當前/隨后)信息,其二是通過(guò)主界面的EPG菜單進(jìn)入節目指南,顯示出頻道列表和按照時(shí)間排列的各頻道節目信息,為用戶(hù)提供電視節目列表。系統通過(guò)Tuner板的解調芯片,從接收的TS流中解析出服務(wù)信息(Service information,SI)數據,并在系統緩存中建立SI數據庫,用戶(hù)通過(guò)EPG的用戶(hù)界面(UserInterface,UI)與SI數據庫進(jìn)行交互。EPG的SI以節目為單位,將與每個(gè)節目相關(guān)的事件都存儲在該節目的事件鏈表上,對于單個(gè)頻道的事件,其數據結構如下:本文引用地址:http://dyxdggzs.com/article/166862.htm
如上所示,EPG信息主要包含了每個(gè)節目所對應的節目名、開(kāi)始時(shí)間、持續時(shí)長(cháng)以及相鄰事件的指針,當然,事件信息還包括它所對應的頻道信息三要素(transportid,network id,service id)。
EPG的信息量非常大,并且經(jīng)常更新,但是由于系統搜索一次EPG信息周期長(cháng)達8~10s,所以除了開(kāi)機之后的第一次獲取外,當用戶(hù)按鍵瀏覽EPG時(shí),只有當前節目已經(jīng)過(guò)期的情形下,系統才實(shí)時(shí)地分析獲取,并將其緩存至系統內存,其余情形下系統讀取緩存數據以大幅度提高響應速度。由于EPG的信息時(shí)效性很強,因此在退出系統時(shí)無(wú)需保存。
用戶(hù)通過(guò)UI來(lái)實(shí)現與EPG之間的交互,在UI部分,向用戶(hù)提供了非常友好的EPG菜單界面,實(shí)現了節目的按頻道分類(lèi)以及按日期分類(lèi),用戶(hù)通過(guò)這些菜單界面,可以方便地瀏覽節目中近期播放的事件的信息,選擇自己喜歡的節目來(lái)播放,并且可以設置自動(dòng)錄制指定某個(gè)頻道的某個(gè)時(shí)間段的節目。
3.4 預錄節目管理
前文已經(jīng)提到了使用EPG信息與時(shí)鐘板來(lái)進(jìn)行電視節目的預約錄制。用戶(hù)在瀏覽EPG列表時(shí)選中想要錄制的節目,按下預約錄制按鈕,系統自動(dòng)將預錄信息寫(xiě)入配置文件,并存儲至硬盤(pán),文件條目格式如下:
其中條目按照開(kāi)始時(shí)間的先后順序排列,開(kāi)始時(shí)間與結束時(shí)間均以BCD碼的形式保存以節省存儲空間,同時(shí)也可以與通用的struct tm格式方便地進(jìn)行轉換。用戶(hù)可以隨時(shí)進(jìn)入預錄條目管理界面刪除不需要的條目,也可以再次進(jìn)入EPG界面選擇并添加新條目,系統將根據已有條目情況判斷是否有時(shí)間沖突,若有則無(wú)法預錄,若無(wú)則選擇正確的位置插入條目。系統在開(kāi)機時(shí)自動(dòng)檢測硬盤(pán)上是否存在配置文件,若存在,則讀取文件第一個(gè)沒(méi)有過(guò)期的條目,取出節目開(kāi)始時(shí)間,與從時(shí)鐘板獲得的系統當前時(shí)間進(jìn)行循環(huán)比較,一旦到點(diǎn),系統將停止當前音、視頻的播放,并且跳轉至預約節目的錄制。通過(guò)配置文件的使用,系統實(shí)現了電視節目的一鍵錄制,錄制信息,包括節目名、頻道名以及錄制開(kāi)始時(shí)間,均以文件名的形式記錄,方便用戶(hù)對于錄制文件的查找與分類(lèi)管理。由于配置文件被寫(xiě)入硬盤(pán),所以除了極端特殊情況,比如在寫(xiě)配置文件時(shí)意外斷電,通常情形下在系統斷電后文件仍然存在,從而實(shí)現了預錄節目的斷電續錄功能。
4 結束語(yǔ)
本文開(kāi)發(fā)的PVR系統已經(jīng)產(chǎn)品化,并隨著(zhù)地面高清信號的開(kāi)播同步大批量投放市場(chǎng)。由于采用成熟的uClinux操作系統、sigma FM8622L芯片組以及配套的SDK進(jìn)行二次開(kāi)發(fā),系統表現穩定,在電視信號質(zhì)量良好的情況下,錄像文件碼率平穩,播放效果流暢,長(cháng)時(shí)問(wèn)錄制與播放均不會(huì )出現死機等系統異常狀況,配合液晶高清電視和家庭影院,完全體現了分辨率高達1920×1080的高質(zhì)量視頻以及高保真音頻所帶來(lái)的震撼感受,并且通過(guò)優(yōu)化的UI設計,使得EPG無(wú)縫嵌入電視播放流程,用戶(hù)查看節目指南、錄制當前節目以及預錄節目均可一鍵實(shí)現,相比PC平臺同類(lèi)型產(chǎn)品而言,具有性?xún)r(jià)比高、系統穩定、防病毒木馬侵襲、以及使用專(zhuān)用音、視頻解碼芯片,高清解碼能力更出色等優(yōu)點(diǎn)。當前系統仍存在一些缺點(diǎn),如天線(xiàn)對信號方位敏感,雨雪天氣收看效果不佳,以及錄制高清信號時(shí)由于碼率較高,占用大量系統緩存,從而妨礙其他功能(比如BT下載)的并發(fā)執行。下一步工作是設法在硬件上提高天線(xiàn)性能,以及優(yōu)化代碼,減少系統開(kāi)銷(xiāo),確保各項功能并發(fā)執行互不影響。
評論