流媒体程序开发之:H264解码器移植到OPhone

  • 时间:
  • 浏览:1



      这里解释一下abd push命令:

      adb push <本地文件路径> <远程文件路径>    - 群克隆文件导致 目录到模拟器

      在Eclipse中,启动库测试程序池池,得到画面如下:

 

        使用javah命令生成JNI头文件,这里需用注意是class路径都是源代码的路径,然后要打上去包名:

4.  开发环境(请参考: http://www.ophonesdn.com/documentation/)

 

5.3.2 实现本地土法子



        关于Android.mk文件中,各个字段的解释,都需用参考$NDK"doc下的《OPHONE-MK.TXT》和《OVERVIEW.TXT》,中间有删改的介绍。

国内最棒的Google Android技术社区(eoeandroid),欢迎访问!《银河系列原创教程》发布《Java Web开发速学宝典》出版,欢迎定购

        首先,需用在$NDK"apps目录下,创建4个多项目目录,这里创建了4个多H264Decode目录,在H264Decode目录中,创建4个多Android.mk文件:

 

5.3 使用C实现本地土法子

        集成测试有两点需用注意,在运行程序池池前,需用把动态库群克隆到模拟器的/system/lib目录下面,还需用把需用解码的视频传到模拟器的/tmp目录下。

       这里要明确的是,OPhone和Symbian的模拟器都做的太不人性化了,Symbian群克隆4个多文件到模拟器中,要进一堆太深的目录,OPhone的 更恼火,需用敲命令把文件传递到模拟器里,说实话,仅在这点上,Mobile的模拟器做的还是非常人性化的。

       命令:



         这块没那此好说的,我希望按照H264解码库的函数,封装的一层接口,导致 你熟悉Java JNI,会发现4个多多是真难 例如。这里插入一句:我4个劲认为技术都是相通的,底层的技术就真难 几种,学懂了,其它技术都是一通百通。



       接下来,需用在$NDK"source目录下,创建源代码目录(这里的目录名要和中间创建的项目目录文件名相同),这里创建4个多H264Decode目录,然后把过后生成的JNI头文件和你实现的本地土法子相关头文件和源代码,都拷贝到   你你这一 目录下面。

       FAQ 2:

       导致 编译遇到下面错误,咱办 办?

2. 面向人群

       本文面向有一定的手机应用开发经验(例如:S500/Mobile/MTK)和有一定的跨手机平台移植经验的人员,帮助她们了解4个多企业的核心库(C/C++)是咱办 移植到OPhone之上的。

 

5.  移植过程

      你不让熟悉OPhone平台,一切从零刚结束了,导致 在此过后,我我希望熟悉。

 

5.2 封装Java接口

5.3.1生成头文件

       将H.264解码器移植到OPhone操作系统之上(NDK+C),并写4个多测试程序池池(OPhoneSDK+Java)测试解码库是是是不是正常运行,下面是解码时的截图:

    用Eclipse创建4个多OPhone工程,在入口类中输入如下代码:

          然后,大家编辑Android.mk文件:

 5.3.3 编译本地土法子

5.4 编写库测试程序池池

        模拟器黑屏咱办 办?

        这导致 导致 模拟器启动速度真难所引起的,很多需用多等一会。希望下个版本并能改进。

原文地址:http://www.ophonesdn.com/article/show/45;jsessionid=5006BD3BE92F43DC693BEB09B0234B036

      BMPImage是4个多工具类,主要用于把RGB序列,转换为BMP图象用于显示:

3. 假定前提

1)熟悉Java/C/C++语言;

2)熟悉Java的JNI技术;

3)有一定的跨手机平台移植经验;

4)有一套可供移植的源代码库,这里以H.264解码库为例,为了保护大家的知识版权,这可以不能了够公开头文件:

  

   需用注释掉你的代码中“typedef signed char  int8_t;”,导致 你的代码过后导致 移植到了Mobile/Symbian上得话,很有导致 遇到你你这一 现象。

       



         测试程序池池删改工程在此暂不提供。

        接下来,只需用把用C实现的本地土法子编译为动态链接库,导致 过后你用于移植的那个库4个多多移植到Symbian上过,真难 编译会相当简单,导致 NDK的编译器和Symbian的编译器一样,都是采用GCC做交叉编译器。

        这里生成了4个多ophone_streaming_video_h264_H264decode.h,大家打开来看看:

        最后,大家启动Cygwin,刚结束了编译:

        在“假定前提”中提到了要移植的函数,接下来会编写那此 函数的Java Native Interface。

       导致 你看一遍了Install:**,这说明你的库导致 编译好了。



5.1 移植流程

5.5集成测试

        OPhone的模拟器和Mobile的模拟器一样是模拟ARM指令的,不像Symbian模拟器一样执行的是本地代码,很多在模拟器上模拟出来的速度会比 真实手机上的速度要低,过后这款解码器导致 优化到在nokia 65000(相当低端的一款手机,CPU主频才120Hz)上做到在线播放。

 

        过后导致 生成了JNI头文件,接下来只需用实现你你这一 头文件的有几个导出函数,这里以H264解码器的实现为例:

        FAQ 3: