通用的视频通话的框架分为信令和媒体两部分,在android2.3已经有了nist-sip,因此信令部分并不是大问题。

但是媒体部分就麻烦了,一般视频通话包括视频,音频两个流,下面的草图大概说明了流程:

+----+

采集-》编码-》网络传输-》 +-网络-+-》网络接收-》解码-》显示               :视频

录音-》编码-》网络传输-》 +-网络-+-》网络接收-》解码-》播放                :音频

+----+

相对应的组件对应要用到的SDK,NDK的接口如下

视频采集:Camera SDK接口

视频编码,解码:NDK自己实现,或者动态绑定到opencore或者stagefright的codec接口,

网络传输,接收:NDK自己实现

视频显示:可以使用SDK的GLSurfaceView或者动态绑定到ISurface-》Lock去直接写surfacebuffer,

或者使用IOverlay(可能有权限问题),前面适用于2.2,2.3的android版本,3.0好像android提出了新的surface接口让开发者可以高效可靠的写屏了。

音频录音:NDK动态绑定到IAudioRecord接口

音频编码,解码:可以自己实现

网络传输,接收:可以自己实现

音频播放:NDK动态绑定到IAudioTrack接口

这个实现有个问题就是效率并不高啊,因为运算量大的编解码,视频显示都是软件实现的,因此arm a9,1G的cpu恐怕也只能实现QVGA,1G的效果。

每个android硬件平台都实现的有自己的硬件的编解码,而且android也都定义了响应的HAL层,但是由于2.2,2.3,3.0版本众多,因此每个厂商的实现程度

也都还不同,因此依赖这些HAL的接口,适配性是个问题,因此用软件实现也是没有办法的啊。

近期在上面做了些工作,记录一下,省得忘记,后续还会把工作中碰到的问题总结总结,记录下来。

android视频通话ndk,Android基于SDK,NDK开发视频通话软件探索相关推荐

  1. Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调

    Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调 ...

  2. nubia ui 5.0 android,国内首家基于5.0开发 nubia UI 2.8体验

    MWC2015展会上,努比亚在中兴展台展出了自己旗下众多旗舰产品,还在展会上亮相了新机nubia Z9 Max.而在接下来德媒曝出的首测视频中,我们不仅看到了nubia Z9 Max各个外观设计细节, ...

  3. 1.Android简介,Android Studio安装,创建运行Android程序

    文章目录 1.了解通信技术 2.Android简介   2.1 Android起源   2.2 Android历史版本 3.Android Studio开发环境的搭建 3.1 Android Stud ...

  4. 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )

    文章目录 一.Visual Studio 中安装 " 使用 C++ 的移动开发 " 开发库 二.Visual Studio 中安装的 Android SDK 和 NDK 位置 三. ...

  5. android ndk 博客,Android Studio 2上利用NDK进行OpenCV 3.1开发

    本文主要分为两部分,第一部分采用实验性插件(Gradle Experimental Plugin)建立一个一般性的NDK应用,第二部分采用稳定版插件建立一个简单的灰度处理的OpenCV JNI应用. ...

  6. Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发

    Android NDK开发之旅(2):一篇文章搞定android Studio中使用CMake进行NDK/JNI开发 (码字不易,转载请声明出处:http://blog.csdn.NET/andrex ...

  7. 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )

    文章目录 一.Visual Studio 中创建 Makefile 项目 二.配置 Makefile 文件 三.配置 Android.mk 四.配置 Application.mk 五.主函数源码 六. ...

  8. Android ndk:/Users/Library/Android/sdk/ndk/21.1.6352462 did not have a source.properties file bug问题

    项目场景: 在导入项目中,发现项目拉取的代码中使用了Ndk开发,项目启动运行时出现了如下错误 /Users/Library/Android/sdk/ndk/21.1.6352462 did not h ...

  9. Unity导出apk出现的问题,JDK,Android SDK,NDK,无“安装模块”

    导出apk失败 使用unity导出apk文件,会出现提示:需要合适版本的JDK.Android SDK和Android NDK,要找到.下载和安装好合适的版本非常耗费时间, 网上很多教程指出可以直接在 ...

  10. 5.NDK Android jni开发 异常处理 native奔溃解决(相机图片美化)

    http://www.droidsec.cn/常见android-native崩溃及错误原因/ https://blog.csdn.net/ddxxii/article/details/8478111 ...

最新文章

  1. Luke 5—— 可视化 Lucene 索引查看工具,可以查看ES的索引
  2. tiny4412 u-boot 启动参数的设置
  3. 【放置奇兵】负面效果(控制、印记、持续伤害)
  4. mysql insert 1062_一则 insert 报 ERROR 1062 (23000): Duplicate entry 'xxx' for key,请帮忙看看...
  5. Java刷漆问题代码_Java实现蓝桥杯历届试题格子刷油漆
  6. [AlwaysOn Availability Groups]CLUSTER.LOG(AG)
  7. 前端html页面模块,页面模块化实现的条件和基本实现思路 – WEB前端开发
  8. sigquit信号默认忽略吗_老妹儿,你真的搞懂了 Shell 信号吗?
  9. oracle ado6,c# ado 连接数据库 六步曲
  10. 【db】mongodb的故事
  11. 2017.9.18 HH的项链 思考记录
  12. PayPal通过WorldFirst港币账户免35美元提现实战教程!
  13. C语言面试题---结构体
  14. 把QUERY的输出结果作为数据源_小七_新浪博客
  15. CSDN使用Markdown编辑器
  16. 做微商洗发水怎么做引流?洗发水类微商怎么引流精准客户?
  17. 人工智能专业好就业吗?AI就业前景
  18. jShop开源电子商务系统
  19. 特斯拉竞争对手Rivian获7亿美元融资 亚马逊领投
  20. Autofill安装使用

热门文章

  1. 记忆碎片锁屏助手的广告文案初稿
  2. 12月不良与垃圾信息举报:网络垃圾环比减少7%
  3. 客快物流大数据项目(四十八):Spark操作Kudu 修改表
  4. 理解URL(Uniform Resource Locator)
  5. sql-labs闯关46~53
  6. 用正则表达式寻找中文
  7. 2021年R2移动式压力容器充装证考试题库及压力容器作业R2移动式压力容器充装试题解析
  8. MTK LIGHT 代码分析
  9. 【学习笔记】elasticsearch
  10. CSS之详解:active选择器