本帖最后由 votzapomni 于 2011-05-31 08:51:07 编辑

解决方案 »

  1.   

    openMAX 首先要移植到,Linux(ARM)上。
      

  2.   

    支持硬解码的平台,其硬件codec就是以openMAX的方式做的,作为android系统的多媒体引擎的插件
    或者说,原本linux平台上的codec移植到android平台是否可用?怎么用
      

  3.   

    顶一下这个帖子,好像是有权限问题,直接调用API,权限不够。
    有人解决了这个问题了么
      

  4.   

    视频解码用ffmpeg-android不好么。直接jni调用就可以
      

  5.   

    可以实现, 
    1. 需要能修改源代码, 普通程序肯定没权限
    2. 需要codec的接口资料
    3. JNI 参考java层到framework层即可
      

  6.   

    不太明白这样做的动机是什么?直接调用openMax能说明什么,能带来什么好处?stagefright不是已经很小了吗
      

  7.   

    ffmpeg-android的效率是很大的问题,CPU只有600M路上说的动机么就是做实时的视频啊,视频数据是通过socket传过来的android自身的接口只有文件跟RTSP流的,RTSP试过,延时太大,而且不稳定
      

  8.   

    实时不实时跟你直接不直接调没有半点关系
    android的framework本来也没有处理什么视频,只是把url传下去罢了,真正接收那些都还是一样在openMAX的组件处理,你想象一下,a->b->c 对比 a->c ,中间多调用了一个b的java接口,对你的实时没有任何影响,有问题还是考虑其他的方面吧,不然如果实时,大家都用汇编好了
      

  9.   

    我不是说了么视频数据是通过自己的socket传过来,我之所以要直接调用就是java层没有提供这样的接口
      

  10.   

    不知道这时回还有没有用,是可以做到的,ANDROID有做OMX的接口,是在NATIVE,所以可以做成JNI来给应用调用的,而且不存在权限问题~
      

  11.   

    楼主,我是接触android不久,我想问问楼主,java调用JNI时我了解是通过注册实现的,但是,JNI是如何调用本地库的呢?求解释,