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

        ?

        數(shù)字電視應(yīng)急信息廣播系統(tǒng)編輯制作端設(shè)計(jì)

        2023-09-27 14:46:58賈大偉潘明照
        西部廣播電視 2023年14期
        關(guān)鍵詞:游動(dòng)字幕分組

        賈大偉 潘明照

        (作者單位:平度市融媒體中心)

        數(shù)字電視在給人民群眾帶來高質(zhì)量的視聽節(jié)目的同時(shí),也為相關(guān)從業(yè)者開展增值業(yè)務(wù)帶來可能。數(shù)字電視應(yīng)急信息廣播系統(tǒng)是一種可行的應(yīng)急廣播實(shí)現(xiàn)方式。其編輯制作端軟件的主要作用是制作要播發(fā)的應(yīng)急廣播信息,使之適宜于接收端接收、處理和顯示。

        1 編輯制作端軟件的主要任務(wù)

        編輯制作端的主要工作是編輯制作信息發(fā)送端所需發(fā)送的應(yīng)急業(yè)務(wù)信息,主要包括以下幾個(gè)方面:開機(jī)畫面附加信息;主菜單、節(jié)目指南及節(jié)目切換時(shí)附加顯示的信息;用戶調(diào)整音量時(shí),音量顯示界面附加顯示的信息;私有數(shù)據(jù)信息;游動(dòng)字幕信息;其他信息,如可用于掛角顯示的天氣信息和其他適宜于掛角顯示的信息。

        大部分應(yīng)急信息是采用圖片形式顯示的。這些圖片本身可使用專用圖片制作軟件進(jìn)行制作。如開機(jī)畫面、主菜單、節(jié)目指南、節(jié)目切換、音量顯示時(shí)附加顯示的圖片等都可由專業(yè)制作軟件制作完成。編輯制作端將其加密并上傳到數(shù)據(jù)庫服務(wù)器中,發(fā)送端讀取相關(guān)數(shù)據(jù)庫記錄就可以定時(shí)播發(fā)相應(yīng)的信息。

        私有數(shù)據(jù)信息是根據(jù)今后業(yè)務(wù)的需要,為實(shí)現(xiàn)未來機(jī)頂盒端的特定功能而播發(fā)的私有數(shù)據(jù)。本系統(tǒng)可支持這些私有數(shù)據(jù)的播發(fā)而不需要重新開發(fā)一套播發(fā)軟件。私有數(shù)據(jù)由業(yè)務(wù)提供者提供,私有數(shù)據(jù)的發(fā)送在發(fā)送端也只是將其分段打包,然后轉(zhuǎn)成傳送流(Transport Stream, TS)包進(jìn)行發(fā)送。

        游動(dòng)字幕信息是可由本系統(tǒng)制作的信息。

        編輯制作端的功能:錄入、編輯各類信息,上傳信息并存入數(shù)據(jù)庫系統(tǒng);查詢各種歷史記錄;通知發(fā)送端發(fā)送緊急信息、重置發(fā)送端。

        2 編輯制作端軟件設(shè)計(jì)的主要內(nèi)容

        2.1 用戶界面設(shè)計(jì)

        與發(fā)送端軟件的Win32 控制臺(tái)應(yīng)用程序不同,編輯制作端使用圖形用戶界面(Graphical User Interface,GUI)。具有圖形用戶界面的Windows 程序依靠外部發(fā)生的事件來驅(qū)動(dòng)。程序不斷循環(huán)以等待可能的輸入,然后做適當(dāng)?shù)奶幚?。?dāng)前所有的GUI 系統(tǒng),幾乎都是以消息為基礎(chǔ)的事件驅(qū)動(dòng)系統(tǒng)[1-2]。

        本系統(tǒng)使用Visual C++開發(fā)環(huán)境并借助微軟基礎(chǔ)類庫(Microsoft Foundation Classes, MFC)來開發(fā)編輯制作端軟件。使用MFC 對Win32 應(yīng)用程序編程接口及相關(guān)機(jī)制進(jìn)行封裝,以便應(yīng)用程序的開發(fā)。

        本系統(tǒng)的編輯制作端主要與數(shù)據(jù)庫打交道,操作的是數(shù)據(jù)庫記錄,編輯制作端將制作好的信息輸入數(shù)據(jù)庫中,由發(fā)送端取出使用,其查詢的也是數(shù)據(jù)庫記錄,因而編輯制作端軟件可以不需要文檔支持。同時(shí),編輯制作端的設(shè)計(jì)也不采用基于對話框的應(yīng)用程序,因?yàn)榫庉嬛谱鞫说膽?yīng)用程序需要菜單、工具欄等的支持,如果采用基于對話框的應(yīng)用程序則加載菜單、工具欄等比較麻煩,工作量更大。本系統(tǒng)編輯制作端設(shè)計(jì)的用戶界面如圖1 所示:

        圖1 編輯制作端用戶界面設(shè)計(jì)

        在該界面中,主窗口左側(cè)為一樹型控件;下部為一排命令按鈕,用于添加、修改、刪除、查詢數(shù)據(jù)庫記錄。具體操作方法有以下幾種:一是使用基于文檔/視圖結(jié)構(gòu)的單文檔界面(Single Document Interface, SDI)框架,在視圖中選擇CFormView 作為基類。在向?qū)傻膽?yīng)用程序中刪除與文檔相關(guān)的代碼,如文件新建、打開等,這種方式保留文檔/視圖結(jié)構(gòu)的支持,也就是說有CDocument 類相關(guān)的開銷。二是不需要文檔/視圖結(jié)構(gòu)的支持,使用MFC 窗口分割類CSpliterWnd來分割窗口,在向?qū)傻腃MainFrame 類中添加CSpliterWnd 型的變量,在CMainFrame 類的OnCreate函數(shù)中添加生成分割窗口的代碼。三是采用“Using views effectively without the doc/view overhead”所提出的方法,該方法也不需要文檔/視圖結(jié)構(gòu)支持,其思路是讓MFC Framework 解決由于CFormView 的構(gòu)造函數(shù)和Create 成員函數(shù)被封裝為私有而難以使用的問題[3]。

        此外,系統(tǒng)啟動(dòng)時(shí)使用的登錄界面(見圖2)使得只有授權(quán)用戶才能使用系統(tǒng)。

        圖2 登錄界面

        在下面的論述中將重點(diǎn)關(guān)注業(yè)務(wù)邏輯,畢竟業(yè)務(wù)功能才是一個(gè)應(yīng)用程序的靈魂。

        2.2 數(shù)據(jù)庫表設(shè)計(jì)

        編輯制作端將需要定時(shí)播發(fā)的應(yīng)急業(yè)務(wù)信息存入數(shù)據(jù)庫,發(fā)送端軟件通過SQL 數(shù)據(jù)庫查詢得到當(dāng)前要播發(fā)的應(yīng)急信息并進(jìn)行播發(fā)。以MySQL(關(guān)系型數(shù)據(jù)庫管理系統(tǒng))為例,描述本系統(tǒng)使用的數(shù)據(jù)庫的設(shè)計(jì)[4]。根據(jù)發(fā)送端軟件的要求,主要使用以下數(shù)據(jù)表:

        2.2.1 節(jié)目表和分組表

        節(jié)目表(program)(見表1)提供了節(jié)目(以邏輯頻道號(hào)標(biāo)識(shí))的TS 流ID 及各種分組標(biāo)識(shí),即節(jié)目切換、音量調(diào)整、掛角時(shí)的分組標(biāo)識(shí)。分組表(infoprogramgrouping)(見表2)標(biāo)識(shí)了每個(gè)分組使用的包ID,為應(yīng)急業(yè)務(wù)信息打包時(shí)提供包ID 信息。

        表1 節(jié)目表(program)

        表2 分組表(infoprogramgrouping)

        節(jié)目表和分組表的作用是對不同的節(jié)目進(jìn)行分組,不同的分組可以顯示不同的應(yīng)急業(yè)務(wù)信息,即數(shù)字電視應(yīng)急信息廣播系統(tǒng)中可以同時(shí)顯示不同的分類信息。使用時(shí)可以按節(jié)目的類型(如體育類、教育類、文藝類、娛樂類等)進(jìn)行分類,相似的節(jié)目分為同一組。這樣的信息發(fā)布會(huì)更有針對性與靈活性,能同時(shí)發(fā)布的信息數(shù)量也會(huì)更多。

        2.2.2 信息圖片表和信息時(shí)間表

        信息圖片表的作用是保存應(yīng)急業(yè)務(wù)信息的相關(guān)信息,由于圖片數(shù)據(jù)量較大,本系統(tǒng)不將圖片直接存儲(chǔ)于數(shù)據(jù)庫中,而是將其單獨(dú)存放于一個(gè)圖片目錄中。信息圖片表(infopicture)(見表3)中的picname保存的是圖片在圖片目錄中的名稱。信息時(shí)間表(picturetime)(見表4)說明的是圖片的組ID 和播發(fā)開始與結(jié)束的時(shí)間等信息。

        表3 信息圖片表(infopicture)

        表4 信息時(shí)間表(picturetime)

        2.2.3 游動(dòng)字幕相關(guān)表

        游動(dòng)字幕相關(guān)表包括游動(dòng)字幕表(movetitle)(見表5)、游動(dòng)字幕信息時(shí)間表(movetitletime)(見表6)、游動(dòng)字幕屬性表(movetitleproperty)(見表7)。游動(dòng)字幕的這三個(gè)表描述了游動(dòng)字幕的相關(guān)信息。游動(dòng)字幕表描述了字幕信息內(nèi)容、字體大小、游動(dòng)次數(shù)等的信息,游動(dòng)字幕信息時(shí)間表規(guī)定了播發(fā)開始和結(jié)束的日期信息。游動(dòng)字幕屬性表指定了字幕的位置信息和每天開始游動(dòng)播出的時(shí)間。

        表5 游動(dòng)字幕表(movetitle)

        表6 游動(dòng)字幕信息時(shí)間表(movetitletime)

        表7 游動(dòng)字幕屬性表(movetitleproperty)

        2.2.4 其他表

        除上述數(shù)據(jù)庫表外,還有掛角信息表、操作員表等數(shù)據(jù)庫表。掛角信息表包括掛角位置信息表(logoposition)、掛角時(shí)段表(logogroupperiodoftime)兩個(gè)表。掛角位置指出了掛角的位置,掛角時(shí)段表表明了掛角的時(shí)間段信息。操作員表則描述了能夠操作系統(tǒng)的相關(guān)人員的口令等信息,能夠約束登錄系統(tǒng)的人員。

        有了這些基礎(chǔ)表之后,就可以在這些基礎(chǔ)表上形成便于處理的數(shù)據(jù)庫視圖。視圖是一個(gè)內(nèi)容由查詢定義的虛擬表。視圖具有簡單性、安全性等多種優(yōu)點(diǎn),但使用上也有一些限制。

        2.3 數(shù)據(jù)庫編程

        Visual C++提供了多種數(shù)據(jù)庫訪問技術(shù),常見的有開放數(shù)據(jù)庫連接(Open DataBase Connectivity, ODBC)、數(shù)據(jù)庫訪問對象(Data Access Object, DAO)、ActiveX數(shù)據(jù)對象(ActiveX Data Objects, ADO)等。本系統(tǒng)編輯制作端采用Visual C++的ADO 進(jìn)行編程,將播發(fā)的信息存入數(shù)據(jù)庫中。ADO 具有強(qiáng)大的數(shù)據(jù)處理功能,它提供了十分簡單、易用的編程接口,是Windows 環(huán)境中比較常用的數(shù)據(jù)庫編程技術(shù)。

        在使用ADO 進(jìn)行編程時(shí),首先需要引入ADO 類,并初始化COM,然后就可以使用_ConnectionPtr、_RecordsetPtr 和_CommandPtr 三個(gè)智能指針了。為了更易于使用,封裝前兩個(gè)智能指針的操作為CADOConnection和CADORecordSet 類。 為進(jìn)一步簡化操作, 讓CADORecordSet 類繼承自CADORecordBinding,使得RecordSet 記錄集中的字段可以綁定到C/C++變量中。

        使用數(shù)據(jù)庫時(shí)首先要連接數(shù)據(jù)庫,使用連接字符串與指定數(shù)據(jù)庫進(jìn)行連接,連接時(shí)須提供用戶名和密碼。我們在CInfoeditApp 類(CWinApp 的派生類)中添加一個(gè)CADOConnection 型的變量MyConnection,在CDlgLogin 類中有這個(gè)變量的一個(gè)引用,本系統(tǒng)啟動(dòng)時(shí)會(huì)打開一個(gè)CDlgLogin 類的對話框,提示用戶輸入用戶名和密碼,系統(tǒng)由此連接到指定數(shù)據(jù)庫。若用戶名和密碼組合輸入錯(cuò)誤,就會(huì)導(dǎo)致連接失敗,若失敗的輸入次數(shù)超過三次,則會(huì)退出系統(tǒng)。

        2.4 Socket 編程

        編輯制作端軟件除與數(shù)據(jù)庫通信外,還需要直接與發(fā)送端進(jìn)行通信,所以需要使用Socket 編程。本系統(tǒng)編輯制作端與發(fā)送端的通信采用傳輸控制協(xié)議(Transmission Control Protocol, TCP)。TCP 通信分服務(wù)器端和客戶端,服務(wù)器端程序不能主動(dòng)連接客戶端,在通信時(shí)必須先由客戶端去連接服務(wù)器端才能實(shí)現(xiàn)通信。服務(wù)器端程序要先啟動(dòng),等待客戶端的連接。其中,客戶端程序的基本操作過程為:socket,創(chuàng)建套接字;connect,連接服務(wù)器,向服務(wù)器端程序發(fā)出連接請求;與服務(wù)器端進(jìn)行通信收發(fā)數(shù)據(jù)rend/recv;關(guān)閉套接字[5]。同時(shí),針對客戶端生成CMyClientSocket 類,其主要函數(shù)為OpenConnection、SendData、ReceiveData 等。

        2.5 圖片導(dǎo)入

        圖片信息的編輯在CDlgPicInfoEdit 類中完成,CDlgPicInfoEdit 類繼承于CDialog。首先,在其中打開文件對話框,選擇已經(jīng)制作好的要播出的圖片,系統(tǒng)會(huì)檢查圖片的寬度、高度、每像素位數(shù)、圖像數(shù)目(如gif 圖片可包含多幅圖片)等信息,并檢查其格式是否為接收端軟件支持的格式。若圖像寬高不是建議的寬高時(shí),給出警告信息及建議的寬度、高度等信息。如果是合法的圖片,將在m_Picture 靜態(tài)控件中進(jìn)行預(yù)覽,模擬演示其在電視上的接收顯示效果;如果是合法的多幅圖片格式,則會(huì)啟動(dòng)一個(gè)多媒體定時(shí)器,模擬演示其動(dòng)畫效果。其次,添加分組信息,并指定圖片在此分組的播出時(shí)間。本系統(tǒng)對同一圖片可以添加多個(gè)分組,不同的分組在同一時(shí)間段內(nèi)也可以顯示不同的(信息)圖片。分組的使用擴(kuò)展了同一時(shí)間系統(tǒng)能夠顯示的信息量。添加時(shí)間信息時(shí)可以直接指定開始時(shí)間和結(jié)束時(shí)間,也可以指定開始時(shí)間和播出天數(shù)。最后,點(diǎn)擊“確定”按鈕添加數(shù)據(jù)庫記錄。在添加數(shù)據(jù)庫記錄前需要先把圖片文件上傳到發(fā)送端(或者數(shù)據(jù)庫服務(wù)器)。上傳文件使用CMyClientSocket 類,連接成功后,通過SendData傳輸加密后的圖片數(shù)據(jù)。上傳文件時(shí),需先把加密后的圖片內(nèi)容讀入緩沖區(qū),分多次發(fā)送到接收端,如每次上傳8 000 字節(jié),所有內(nèi)容全部上傳無誤后,即可添加此記錄。

        2.6 游動(dòng)字幕信息制作及演示

        2.6.1 游動(dòng)字幕制作

        不同于其他信息的制作,本系統(tǒng)編輯制作端使用單獨(dú)的一個(gè)類來進(jìn)行游動(dòng)字幕信息的制作。其編輯界面如圖3 所示:

        圖3 游動(dòng)字幕編輯界面

        游動(dòng)字幕信息的制作采用以下三種方式:一是純文本文件,即編輯制作端只提供要顯示文本及其字體大小、顏色等屬性,其顯示由接收端完成,接收端軟件根據(jù)接收到文本及字體大小、顏色等屬性生成字幕進(jìn)行顯示。二是使用圖片文件的方式,將字幕制作成圖片,并指定一種透明色(可為任意一種字幕本身不使用的顏色,可指定為黑色或純藍(lán)色)。三是生成alpha 文件,這也是本系統(tǒng)推薦的方式。由于成本的限制,接收端的數(shù)字電視機(jī)頂盒配置不是很高,大多數(shù)的數(shù)字電視機(jī)頂盒只配置了點(diǎn)陣字庫而沒有矢量字庫,因此顯示效果較差,采用生成alpha 文件的方式能夠有效彌補(bǔ)這一不足。該方式可以根據(jù)文本信息生成相應(yīng)的alpha 通道信息,alpha 通道可用來記錄圖像中的透明度信息,從而定義圖像中的透明、半透明和不透明區(qū)域,用8 位的灰度圖像就可保留字幕信息。alpha 通道疊加各種不同顏色信息后可生成豐富多彩的字幕圖像。在添加、修改數(shù)據(jù)時(shí),同樣需要先將圖片文件上傳。

        2.6.2 游動(dòng)字幕演示

        模擬演示游動(dòng)字幕的效果在定時(shí)器回調(diào)函數(shù)FortyMilliSecondProc1 中實(shí)現(xiàn)。與普通顯示函數(shù)不同的是,這里的顯示要模擬背景圖層和當(dāng)前圖層之間帶透明色的疊加,需要使用TransparentBlt 之類的函數(shù)來實(shí)現(xiàn)。本系統(tǒng)使用的是多媒體定時(shí)器,定時(shí)器的定時(shí)間隔設(shè)定為40 ms。多媒體定時(shí)器使用多線程編程方式,開辟一個(gè)獨(dú)立線程執(zhí)行定時(shí)器回調(diào)函數(shù),定時(shí)精度較高。這種定時(shí)器在安裝時(shí)要先調(diào)用timeGetDevCaps 函數(shù)來明確定時(shí)器服務(wù)支持的最小和最大定時(shí)器分辨率,然后調(diào)用timeBeginPeriod設(shè)置系統(tǒng)支持的最小分辨率,最后產(chǎn)生周期執(zhí)行的定時(shí)器事件,啟動(dòng)定時(shí)器。在回調(diào)函數(shù)FortyMilliSecondProc1 中,要根據(jù)當(dāng)前字幕在顯示框中的位置,創(chuàng)建與背景靜態(tài)圖片框兼容的內(nèi)存DC。在內(nèi)存DC 中完成背景圖像與字幕圖像的混合,最后將(已經(jīng)混合好的)內(nèi)存DC 中的圖像BitBlt(塊拷貝)到背景靜態(tài)圖片的字幕顯示框中。

        3 結(jié)語

        數(shù)字電視應(yīng)急信息廣播系統(tǒng)編輯制作端是一個(gè)帶有用戶界面的應(yīng)用程序。編輯制作端的業(yè)務(wù)邏輯本身并不復(fù)雜,但涉及用戶界面編程、數(shù)據(jù)庫編程、網(wǎng)絡(luò)編程等各個(gè)方面,所以開發(fā)此類應(yīng)用程序需要熟悉用戶界面、數(shù)據(jù)庫、網(wǎng)絡(luò)等方面的知識(shí)。本文探討了編輯制作端應(yīng)急信息的制作、上傳,介紹了游動(dòng)字幕信息的演示,達(dá)到了“所見即所得”的效果。該系統(tǒng)的實(shí)際運(yùn)行結(jié)果表明,系統(tǒng)運(yùn)行穩(wěn)定、可靠,達(dá)到了設(shè)計(jì)要求。

        猜你喜歡
        游動(dòng)字幕分組
        永不停歇的魚
        Word和Excel聯(lián)手字幕添加更高效
        球軸承用浪型保持架徑向游動(dòng)量的測量
        哈爾濱軸承(2021年1期)2021-07-21 05:43:16
        把手放進(jìn)袋子里
        分組搭配
        怎么分組
        分組
        整合適應(yīng)選擇度下的動(dòng)畫電影字幕翻譯——以《冰河世紀(jì)》的字幕漢譯為例
        論紀(jì)錄片的字幕翻譯策略
        人間(2015年22期)2016-01-04 12:47:26
        父親
        天津詩人(2014年4期)2014-11-14 19:05:52
        欲妇荡岳丰满少妇岳 | 极品粉嫩小仙女高潮喷水视频| 一区二区三区亚洲免费| 久草视频这里只有精品| 欧美又粗又长又爽做受| 日韩人妻无码精品久久| 久久午夜无码鲁丝片直播午夜精品 | 成人午夜性a级毛片免费| 亚洲国产18成人中文字幕久久久久无码av| 91亚洲国产三上悠亚在线播放| 亚洲国产线茬精品成av| 日韩人妻免费视频一专区| 国产成人午夜无码电影在线观看| 大肉大捧一进一出好爽视色大师| 久久精品国产夜色| 亚洲啊啊啊一区二区三区| 国产成人精品无码免费看| 97午夜理论片影院在线播放| 亚洲欧美日韩中文无线码| 国产一区二区三区免费在线视频 | 十八禁视频在线观看免费无码无遮挡骂过 | 在线亚洲高清揄拍自拍一品区| 无码人妻av一区二区三区蜜臀 | 免费人成在线观看播放视频| 国产大片黄在线观看| 少妇无码av无码专区线| 人妻无码AⅤ不卡中文字幕| 亚洲中文字幕第一页免费| 国产内射爽爽大片| 亚洲av成人无码网站…| 国产av一区二区三区区别| 男女深夜视频网站入口| 一边做一边说国语对白| 吃奶摸下激烈床震视频试看| 手机看片久久国产免费| 扒开双腿操女人逼的免费视频| 一区二区三区av在线| 久久久亚洲精品无码| 日本不卡视频网站| 国产精品亚洲一区二区三区正片| 日本视频一区二区三区观看|