Communication

Android平台 点对点 音视频对讲 项目链接
https://github.com/yuzhihui170/Communication

本项目提供Android平台点对点音视频对讲功能,项目的基本架构如下:

  1. Android Camera2 API 采集预览视频
  2. MediaCodec 进行硬编码,编码成h264视频文件
  3. AudioRecord采集音频PCM数据,同样利用MediaCodec编码成AAC数据
  4. jrtplib库进行视频音频数据发送,本项目修改jrtplib库,添加了大数据切片功能,方便进行网络传输
  5. ffmpeg对接收到的数据进行解码,利用ffmpeg软解码的原因是减少延时,Android硬解码由于机制问题,会存在
    缓冲队列,导致延时过大,ffmpeg能够很好解决这个问题。
  6. 利用SurfaceTexture进行绘制,在JNI层直接将解码的RGB数据拷贝到Surface中,减少数据传递

Demo使用

在IP填写EditView内,输入对方的IP即可。测试时可以输入127.0.0.1,自己给自己发送数据也可以进行测试。

项目未解决问题

音视频对讲时,存在回声问题,需要对回声进行抑制,这里需要加入适当算法进行处理。

Android 平台点对点音视频对讲相关推荐

  1. Android WebRTC实现音视频对讲

    WebRTC 新建Android工程 并添加依赖 渲染视频的view 初始化控件 初始化PeerConnectionFactor 创建PeerConnection 注册事件监听 发送offer 收到O ...

  2. 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)

    随笔分类 - webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者: ...

  3. Android IOS WebRTC 音视频开发

    转 自:http://www.cnblogs.com/lingyunhu/category/626157.html 作者:lingyunhu rtc.blacker@gmail.com 随笔分类 - ...

  4. Android移动端音视频的快速开发教程(五)

    接  Android移动端音视频的快速开发教程(四) 3.3. 数据传输事件接口 3.3.1. 接口定义 package com.bairuitech.anychat; // 数据传输通知接口 pub ...

  5. linux搭建音视频服务器,Linux平台部署音视频SDK实现即时通讯功能

    Linux平台部署音视频SDK实现即时通讯功能 下面介绍一款强大的音视频即时通讯平台给大家,它就是--云智真音视频SDK. 云智真提供一套跨平台的音.视频即时通讯解决方案,基于先进的H.264视频编码 ...

  6. 点对点音视频应用场景及优势

    人们生活质量的提高和改变给很多信息化企业带来了无限的机遇与挑战,越来越多的项目也随之出现,让身处在异地的人们只需要通过某种传输介质就可以实现"实时.可视.交互"的多媒体通讯技术不断 ...

  7. 给Android工程师的音视频开发学习指南

    毕业至今,之前一直从事Android开发的工作,今年5月份开始接触音视频开发相关工作,于是打算写一个音视频相关专栏,让移动端的同学,能通过这个专栏快速掌握音视频相关知识,首先带来第一篇,主要讲讲移动端 ...

  8. Android IOS WebRTC 音视频开发总结(六五)-- 给韩国电信巨头做咨询

    Android IOS WebRTC 音视频开发总结(六五)-- 给韩国电信巨头做咨询 本文主要总结咨询过程中的一些问题,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackert ...

  9. Android IOS WebRTC 音视频开发总结(三八)-- tx help

    Android IOS WebRTC 音视频开发总结(三八)-- tx help 本文主要介绍帮一个程序员解决webrtc疑问的过程,文章来自博客园RTC.Blacker,支持原创,转载请说明出处(w ...

最新文章

  1. FreeCodeCamp 中级算法(个人向)
  2. 基于ssm的用户管理系统_基于SSM的高校学生实习管理系统
  3. [云炬创业基础笔记]第六章商业模式测试9
  4. 五、朴素贝叶斯分类算法
  5. linux中向空文件写入内容,linux – 为什么写入现有文件比写一个新的空文件更快?...
  6. SQL Server命令行
  7. java颜色识别_java读取图片对应坐标的颜色值
  8. 还没用上 JDK 11,12 就要来了
  9. python 报价_python基础教程_查询价格
  10. 100个WordPress常用插件精选
  11. SQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL(转载)
  12. immutability因React官方出镜之使用总结分享!
  13. HTML5期末大作业:大学生个人网站设计——我们的班级(7页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作代码大全 html5网页设计作业代码
  14. Linux运维工程师简历项目经验
  15. linux 谷歌浏览器设置代理_Linux用谷歌浏览器模拟手机访问
  16. html背景图片大小嵌套,div嵌套div 背景图片 不显示的问题
  17. 创建物理卷报错Can't open /dev/sdb5 exclusively. Mounted filesystem的问题解决过程记录
  18. 采用最终一致性解决微服务一致性问题
  19. Mysql中的straight_join
  20. MATLAB中readtimetable函数用法

热门文章

  1. 解决MySql ERROR 1698
  2. python反转字符串递归怎么理解_Python使用递归反转字符串
  3. CCF CSP 2019-09-2 小明种苹果(续) 解题思路及满分代码(C++11)
  4. Docker——更新至2021/3/2,腾讯云centos7-dockermysql远程连接
  5. unity 3d Ngui 字体集的制作
  6. 2019牛客暑期多校训练营(第一场场)_I题Points Division(线段树+DP维护区间最大值)
  7. mysql:sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_
  8. 一款强大的芯片nRF52840及利用蓝牙5.0实现数据远程采集
  9. Android开发-基于百度地图API开发仿滴滴出行APP界面的实现
  10. Php socket 考勤机,php-socket