织梦CMS - 轻松建站从此开始!

罗索实验室

当前位置: 主页 > 嵌入式开发 > Symbian OS >

S60 视频开发

jackyhwei 发布于 2010-09-01 17:59 点击:次 
对S60平台上支持视频开发的架构和API集作了技术性介绍。当您理解了可以做什么及怎么做, 您就能够通过诺基亚论坛查阅更详细的文档,将自己的产品和服务概念转换为现实。
TAG:

内容

概述

对S60平台上支持视频开发的架构和API集作了技术性介绍。当您理解了可以做什么及怎么做, 您就能够通过诺基亚论坛查阅更详细的文档,将自己的产品和服务概念转换为现实。

用您手中已接入网络的S60移动终端,您就能观看视频片断甚至是实况电视画面、创建自己的视频片断并直接(或通过互联网)与朋友分享。作为软件开发者, 您能利用由S60平台提供的这些开放平台和工具创建各种利用现有的终端特性的新应用和新服务,延伸S60终端及平台功能。

移动视频前景

所有S60终端都支持视频片断的下载和流技术,也支持日益流行的电视实况服务。在英国,自2005年中起,在全国所有主要的运营商网络上至少已经推出了三台流技术电视实况服务。

许多S60终端支持WLAN,这就增强了您可使用的在线资源的品种和质量。

如果您喜欢创作自己的视频,您可以用S60终端上的摄录程序来录制高品质视频片断,与您的朋友分享或通过互联网共享。现在已可以从手机将自己的视频直接上传到自己喜爱的共享社区, 如YouTube或Google Video等。

在诸如N95这样的新款诺基亚终端上,您还能通过自己的或下载的视频片断创建视频铃音。您还可以通过电视输出功能(N93和N95支持)将自己的视频显示到家用电视上,与家人或朋友分享。

一些消费者已经在使用移动电视广播服务,这些服务将电视画面品质的实况节目直接发送到诸如N92这样的终端上。2005年韩国推出了这种广播服务,预期2006年和2007年将分别在西欧和北美启动。业内分析公司Informa和iSuppli预测,到2010年,使用这些广播服务的预订用户将从现在的约300万上升到一亿两千万。相当数量的消费者已经开始对移动电视感兴趣且愿意为这些服务支付费用。

除上述服务之外,一些公司正在试验移动电视的录制播放(time-shifting)和远程观看(place-shift)应用。 录制播放应用将向您的移动终端增添了个性化录像机功能(Personal Video Recorder, PVR),让您录制下实况电视节目供以后观看,或随时暂停和继续播放实况电视广播。远程观看应用让您通过已接入网络的移动终端和蜂窝网络,或通过WLAN网络,远程接入到您家中的电视机。

S60多媒体框架的架构

S60用多种多媒体框架于视频和音频回放:

  • Symbian多媒体框架(MMF)为各种多媒体应用(如S60音乐播放器和媒体播放器)提供了一些高级API。MMF拥有一个插件架构,它使用了多种类型的用于媒体回放和录制的插件。所有的媒体录制和回放都由MMF控制器插件完成。一个MMF控制器可使用一些附加插件,用于媒体处理,如MMF编码解码器等。通过增加一些实现了新型编码解码和文件格式的控制器插件,就可对MMF 进行扩展。如要回放一个多媒体文件或URL,MMF框架将选择一种控制器插件来播放这个文件或URL。控制器插件可以载入其它的插件(如编码解码器等)。
  • DevSound是用于声音解码、编码、回放和录制等的底层API。DevSound也支持编码解码器插件。DevSound能在所有终端上渲染PCM音频数据。DevSound中对编码音频数据的支持完全取决于终端。在任何S60终端上,只有将相应的编码解码器实现为该终端的DevSound插件,DevSound才能支持编码数据。
  • RealPlayer引擎是针对MMF控制器的插件,支持视频和音频回放及流。它支持其自己的编码解码器插件。针对RealPlayer引擎的音频解码插件通过一种适配层即可使用MMF编码解码插件,或与DevSound框架通讯以实现解码和渲染。视频插件能完全以软件实现, 或者在终端硬件的DSP(数字信号处理器)或其他硬件加速器上运行。
  • Media Player UI (在应用窗格中即为RealPlayer)是一种视频和音频播放器,它使用MMF高级API来访问多种MMF控制器。很多时候Media Player UI将载入RealPlayer引擎MMF控制器以渲染各种本地和流式多媒体内容

有关多媒体框架的一些重要事项:

  • S60并不规定实现哪种编码解码器。如下图所示,一种特定编码解码器(如mp3)可以在DevSound API下实现,也可以作为一种CMMFCodec实现,取决于特定终端的设计。实际情况中,这种实现对那些使用了CMadAudioPlayerUtility API的应用是透明的。而在另一方面,CMdaAudioOutputStream API只能使用在DevSound下实现的编码解码器。例如,如果在DevSound下实现了mp3编码解码器,那么通过CMdaAudioOutputStream传递mpe框架用于解码和回放是可行的。如果该mp3编码解码器是作为MMF编码解码器插件(CMMFCodec)实现的,那么通过CMdaAudioOutputStream传递mp3框架将会产生一个“不获支持(not supported)”错误。
  • DevSound编码解码器既可以是硬件加速,也可以完全以软件实现。
  • 由于授权限制,许多编码解码器无法在PC模拟器中出现。

移动视频开发

从软件开发的角度看,上面介绍的视频和电视服务可被认为是各种低级开发伙伴用例的结合, 开发伙伴们可以将这些用例实现到S60平台上。

  • 用S60媒体播放器和RealPlayer引擎播放本地文件或RTSP流: 许多拥有正确的编码解码器、文件格式、位速率及大小的视频文件可以用S60媒体播放器(RealPlayer)和RealPlayer引擎播放。RealPlayer引擎支持视频和音频内容的RTSP/RTP流。
  • 用定制的用户界面和RealPlayer引擎播放本地文件或RTSP流:开发伙伴们可以在RealPlayer引擎的顶层创建自己的媒体播放器用户界面。用MMF高级API也可以访问嵌入到RealPlayer引擎中的MMF控制器。
  • 用定制的用户界面和定制的媒体引擎播放本地文件:开发伙伴们能利用Symbian和MMF API创建自己的媒体播放器客户端。这些API支持视频和音频渲染,及某些音频解码capabilities。因为不能用新的编码解码器、文件格式、或后处理插件去扩展RealPlayer引擎的回放功能, 所以,如果开发伙伴们希望自己的应用能播放不获RealPlayer引擎支持的媒体文件就需要创建一个定制的媒体引擎。
  • 用定制的用户界面和定制的媒体引实现流视频内容: 除了创建一个定制的播放器播放本地文件,开发伙伴们也可以使用终端的网络功能实现流视频并将其输出到客户端。在这种情况下,除了音频和视频编解及渲染外,应用还需要实现一些高级的传输和控制协议(如RTSP和RTP)。因为不能使用新的编码解码器、流技术协议、或它们的变体,以及或后处理插件来扩展RealPlayer引擎的回放功能, 所以,如果开发伙伴们希望自己的应用能够播放RealPlayer引擎不支持的媒体或流协议,创建一个定制的媒体引擎就是唯一的选择。
  • 实现一个定制的MMF插件:开发伙伴们可以编写一个全新的MMF插件来实现一些新的MIME类型,从而实现一些不获S60平台支持的编码解码器或文件格式。 这样,用S60媒体播放器或任何其他的利用了MMF高级API的应用都能对使用了这种新格式或编码解码器的内容进行。

开发伙伴和内容供应商应该注意,许多再互联网上或由便摄录机创作的视频内容并不能直接在移动终端上播放,其原因多种多样: 编码解码器、文件格式、或配置(profile)可能不获支持;帧频或带宽对终端而言太高了; 也可能是画面尺寸相对终端来说太大了。可以在PC或其他家用电脑上对其进行转码,然后将其传输到移动终端上。

多媒体应用开发选项

S60平台支持用C++和Java 进行多媒体开发。该平台也支持Flash Lite和Python, 但这两种语言目前还不支持视频开发。下表汇总了如何用C++ 和Java实现上面所介绍的那些开发伙伴用例。

用例

Symbian C++

Java

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

使用AppArc API(RApaLsSession)启动S60媒体播放器应用。

使用MIDlet.platformRequest 启动该平台的媒体播放器。

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

创建自己的用户界面并使用CVideoPlayerUtility API播放和控制文件或URL。

使用JSR-135。

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

创建自己的播放器。使用CMdaAudioOutputStream进行音频渲染(1),使用CDirectScreenAccess API 进行视频渲染。

不推荐。

使用自己的播放器实施流视频内容。

使用network APIs( RSocketServ、RConnection、RSocket) 连接到网络(2)。 然后使用CMdaAudioOutputStream进行音频渲染,使用CDirectScreenAccess API 进行视频渲染。

不推荐。

实现一个定制的MMF插件

使用MMF API(CMMFController、CMMFCodec等)

不可能。

(1) 如果终端上具备针对相应格式的DevSound编码解码器,CMdaAudioOutputStream能在这些终端上解码这些格式。
(2) 必须由应用实现一些高级流技术协议(如RTSP、RTP、RTCP、SDP)。

(nokia)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www1.rosoo.net/a/201009/10074.html]
本文出处:forum.nokia.com.cn 作者:nokia
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容