日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

S60 視頻開發(fā)

 昵稱28461 2007-05-30

概述

對S60平臺上支持視頻開發(fā)的架構(gòu)和API集作了技術(shù)性介紹。當您理解了可以做什么及怎么做, 您就能夠通過諾基亞論壇查閱更詳細的文檔,將自己的產(chǎn)品和服務概念轉(zhuǎn)換為現(xiàn)實。

用您手中已接入網(wǎng)絡的S60移動終端,您就能觀看視頻片斷甚至是實況電視畫面、創(chuàng)建自己的視頻片斷并直接(或通過互聯(lián)網(wǎng))與朋友分享。作為軟件開發(fā)者, 您能利用由S60平臺提供的這些開放平臺和工具創(chuàng)建各種利用現(xiàn)有的終端特性的新應用和新服務,延伸S60終端及平臺功能。

移動視頻前景

所有S60終端都支持視頻片斷的下載和流技術(shù),也支持日益流行的電視實況服務。在英國,自2005年中起,在全國所有主要的運營商網(wǎng)絡上至少已經(jīng)推出了三臺流技術(shù)電視實況服務。

許多S60終端支持WLAN,這就增強了您可使用的在線資源的品種和質(zhì)量。

如果您喜歡創(chuàng)作自己的視頻,您可以用S60終端上的攝錄程序來錄制高品質(zhì)視頻片斷,與您的朋友分享或通過互聯(lián)網(wǎng)共享?,F(xiàn)在已可以從手機將自己的視頻直接上傳到自己喜愛的共享社區(qū), 如YouTube或Google Video等。

在諸如N95這樣的新款諾基亞終端上,您還能通過自己的或下載的視頻片斷創(chuàng)建視頻鈴音。您還可以通過電視輸出功能(N93和N95支持)將自己的視頻顯示到家用電視上,與家人或朋友分享。

一些消費者已經(jīng)在使用移動電視廣播服務,這些服務將電視畫面品質(zhì)的實況節(jié)目直接發(fā)送到諸如N92這樣的終端上。2005年韓國推出了這種廣播服務,預期2006年和2007年將分別在西歐和北美啟動。業(yè)內(nèi)分析公司Informa和iSuppli預測,到2010年,使用這些廣播服務的預訂用戶將從現(xiàn)在的約300萬上升到一億兩千萬。相當數(shù)量的消費者已經(jīng)開始對移動電視感興趣且愿意為這些服務支付費用。

除上述服務之外,一些公司正在試驗移動電視的錄制播放(time-shifting)和遠程觀看(place-shift)應用。 錄制播放應用將向您的移動終端增添了個性化錄像機功能(Personal Video Recorder, PVR),讓您錄制下實況電視節(jié)目供以后觀看,或隨時暫停和繼續(xù)播放實況電視廣播。遠程觀看應用讓您通過已接入網(wǎng)絡的移動終端和蜂窩網(wǎng)絡,或通過WLAN網(wǎng)絡,遠程接入到您家中的電視機。

S60多媒體框架的架構(gòu)

S60用多種多媒體框架于視頻和音頻回放:

  • Symbian多媒體框架(MMF)為各種多媒體應用(如S60音樂播放器和媒體播放器)提供了一些高級API。MMF擁有一個插件架構(gòu),它使用了多種類型的用于媒體回放和錄制的插件。所有的媒體錄制和回放都由MMF控制器插件完成。一個MMF控制器可使用一些附加插件,用于媒體處理,如MMF編碼解碼器等。通過增加一些實現(xiàn)了新型編碼解碼和文件格式的控制器插件,就可對MMF 進行擴展。如要回放一個多媒體文件或URL,MMF框架將選擇一種控制器插件來播放這個文件或URL??刂破鞑寮梢暂d入其它的插件(如編碼解碼器等)。
  • DevSound是用于聲音解碼、編碼、回放和錄制等的底層API。DevSound也支持編碼解碼器插件。DevSound能在所有終端上渲染PCM音頻數(shù)據(jù)。DevSound中對編碼音頻數(shù)據(jù)的支持完全取決于終端。在任何S60終端上,只有將相應的編碼解碼器實現(xiàn)為該終端的DevSound插件,DevSound才能支持編碼數(shù)據(jù)。
  • RealPlayer引擎是針對MMF控制器的插件,支持視頻和音頻回放及流。它支持其自己的編碼解碼器插件。針對RealPlayer引擎的音頻解碼插件通過一種適配層即可使用MMF編碼解碼插件,或與DevSound框架通訊以實現(xiàn)解碼和渲染。視頻插件能完全以軟件實現(xiàn), 或者在終端硬件的DSP(數(shù)字信號處理器)或其他硬件加速器上運行。
  • Media Player UI (在應用窗格中即為RealPlayer)是一種視頻和音頻播放器,它使用MMF高級API來訪問多種MMF控制器。很多時候Media Player UI將載入RealPlayer引擎MMF控制器以渲染各種本地和流式多媒體內(nèi)容。

有關(guān)多媒體框架的一些重要事項:

  • S60并不規(guī)定實現(xiàn)哪種編碼解碼器。如下圖所示,一種特定編碼解碼器(如mp3)可以在DevSound API下實現(xiàn),也可以作為一種CMMFCodec實現(xiàn),取決于特定終端的設計。實際情況中,這種實現(xiàn)對那些使用了CMadAudioPlayerUtility API的應用是透明的。而在另一方面,CMdaAudioOutputStream API只能使用在DevSound下實現(xiàn)的編碼解碼器。例如,如果在DevSound下實現(xiàn)了mp3編碼解碼器,那么通過CMdaAudioOutputStream傳遞mpe框架用于解碼和回放是可行的。如果該mp3編碼解碼器是作為MMF編碼解碼器插件(CMMFCodec)實現(xiàn)的,那么通過CMdaAudioOutputStream傳遞mp3框架將會產(chǎn)生一個“不獲支持(not supported)”錯誤。
  • DevSound編碼解碼器既可以是硬件加速,也可以完全以軟件實現(xiàn)。
  • 由于授權(quán)限制,許多編碼解碼器無法在PC模擬器中出現(xiàn)。

移動視頻開發(fā)

從軟件開發(fā)的角度看,上面介紹的視頻和電視服務可被認為是各種低級開發(fā)伙伴用例的結(jié)合, 開發(fā)伙伴們可以將這些用例實現(xiàn)到S60平臺上。

  • 用S60媒體播放器和RealPlayer引擎播放本地文件或RTSP流: 許多擁有正確的編碼解碼器、文件格式、位速率及大小的視頻文件可以用S60媒體播放器(RealPlayer)和RealPlayer引擎播放。RealPlayer引擎支持視頻和音頻內(nèi)容的RTSP/RTP流。
  • 用定制的用戶界面和RealPlayer引擎播放本地文件或RTSP流:開發(fā)伙伴們可以在RealPlayer引擎的頂層創(chuàng)建自己的媒體播放器用戶界面。用MMF高級API也可以訪問嵌入到RealPlayer引擎中的MMF控制器。
  • 用定制的用戶界面和定制的媒體引擎播放本地文件:開發(fā)伙伴們能利用Symbian和MMF API創(chuàng)建自己的媒體播放器客戶端。這些API支持視頻和音頻渲染,及某些音頻解碼capabilities。因為不能用新的編碼解碼器、文件格式、或后處理插件去擴展RealPlayer引擎的回放功能, 所以,如果開發(fā)伙伴們希望自己的應用能播放不獲RealPlayer引擎支持的媒體文件就需要創(chuàng)建一個定制的媒體引擎。
  • 用定制的用戶界面和定制的媒體引實現(xiàn)流視頻內(nèi)容: 除了創(chuàng)建一個定制的播放器播放本地文件,開發(fā)伙伴們也可以使用終端的網(wǎng)絡功能實現(xiàn)流視頻并將其輸出到客戶端。在這種情況下,除了音頻和視頻編解及渲染外,應用還需要實現(xiàn)一些高級的傳輸和控制協(xié)議(如RTSP和RTP)。因為不能使用新的編碼解碼器、流技術(shù)協(xié)議、或它們的變體,以及或后處理插件來擴展RealPlayer引擎的回放功能, 所以,如果開發(fā)伙伴們希望自己的應用能夠播放RealPlayer引擎不支持的媒體或流協(xié)議,創(chuàng)建一個定制的媒體引擎就是唯一的選擇。
  • 實現(xiàn)一個定制的MMF插件:開發(fā)伙伴們可以編寫一個全新的MMF插件來實現(xiàn)一些新的MIME類型,從而實現(xiàn)一些不獲S60平臺支持的編碼解碼器或文件格式。 這樣,用S60媒體播放器或任何其他的利用了MMF高級API的應用都能對使用了這種新格式或編碼解碼器的內(nèi)容進行。

開發(fā)伙伴和內(nèi)容供應商應該注意,許多再互聯(lián)網(wǎng)上或由便攝錄機創(chuàng)作的視頻內(nèi)容并不能直接在移動終端上播放,其原因多種多樣: 編碼解碼器、文件格式、或配置(profile)可能不獲支持;幀頻或帶寬對終端而言太高了; 也可能是畫面尺寸相對終端來說太大了??梢栽赑C或其他家用電腦上對其進行轉(zhuǎn)碼,然后將其傳輸?shù)揭苿咏K端上。

多媒體應用開發(fā)選項

S60平臺支持用C++和Java 進行多媒體開發(fā)。該平臺也支持Flash Lite和Python, 但這兩種語言目前還不支持視頻開發(fā)。下表匯總了如何用C++ 和Java實現(xiàn)上面所介紹的那些開發(fā)伙伴用例。

用例

Symbian C++

Java

使用S60媒體播放器和RealPlayer引擎播放本地文件和RTSP流。

使用AppArc API(RApaLsSession)啟動S60媒體播放器應用。

使用MIDlet.platformRequest 啟動該平臺的媒體播放器。

使用定制的用戶界面和RealPlayer引擎播放本地文件和RTSP流。

創(chuàng)建自己的用戶界面并使用CVideoPlayerUtility API播放和控制文件或URL。

使用JSR-135。

使用自己的播放器播放本地文件。

創(chuàng)建自己的播放器。使用CMdaAudioOutputStream進行音頻渲染(1),使用CDirectScreenAccess API 進行視頻渲染。

不推薦。

使用自己的播放器實施流視頻內(nèi)容。

使用network APIs( RSocketServ、RConnection、RSocket) 連接到網(wǎng)絡(2)。 然后使用CMdaAudioOutputStream進行音頻渲染,使用CDirectScreenAccess API 進行視頻渲染。

不推薦。

實現(xiàn)一個定制的MMF插件

使用MMF API(CMMFController、CMMFCodec等)

不可能。

(1) 如果終端上具備針對相應格式的DevSound編碼解碼器,CMdaAudioOutputStream能在這些終端上解碼這些格式。
(2) 必須由應用實現(xiàn)一些高級流技術(shù)協(xié)議(如RTSP、RTP、RTCP、SDP)。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多