
移动音视频杂谈
文章平均质量分 85
码农叔叔
此处省略500字。。。。。。
展开
-
音频采集:Android基于AudioRecord的实现
前言这篇文章简单介绍下移动端Android系统下利用AudioRecord进行音频采集方法。  开始前先提供一份源码 AudioRecordLib 。  AudioRecord采集的核心实现在于 AudioRecordCore.java 这个文件。权限申请想要使用AudioRecord这个API,需要在AndroidManifest.xml的配置文件里面增...原创 2018-09-05 17:49:00 · 2410 阅读 · 0 评论 -
JNI编程指南(二):字段和方法
前言上篇文章介绍了JNI中访问JVM中任意基本类型数据和字符串、数组这样的引用类型,这篇就简单介绍下JNI对JVM中任意对象的字段和方法进行交互,简单点说就是本地代码中调用Java的代码,也就是通常所说的来自本地方法的callback(回调)。访问字段Java层代码:package com.net168.xxxclass Simple { private String str; ...原创 2018-12-14 22:33:11 · 301 阅读 · 0 评论 -
架构设计:基于Webrtc、Kurento的一种低延迟架构实现
前言在音视频领域,低延迟交互一直是一个非常重要的需求。而直播大多基于RTMP协议,其存在1到3秒左右的延迟,基本无法胜任低延迟交互的需求;另外在游戏领域、语音聊天、教育领域,低延迟也是一个非常重要的议题。下面以直播的连麦架构的设计来简单介绍下整个架构设计的演进流程。最朴素的连麦架构(基于RTMP)架构设计架构解析连麦端A/B存在多平台特性,例如Android、iOS、PC(Web...原创 2018-11-28 18:06:17 · 2315 阅读 · 0 评论 -
OpenGL ES:Android平台EGL环境
#前言这篇文章简单介绍一下在Android平台下的EGL环境的相关内容,由于OpenGL ES并不负责窗口管理以及上下文管理,该职责由各个平台自行完成;在Android平台下OpenGL ES的上下文环境是依赖EGL的API进行搭建的。对于EGL这个框架,谷歌已经提供了GLSurfaceView,是一个已经封装EGL相关处理的工具类,但是不够灵活;对于更加核心的OpengGL ES的用法(例如...原创 2018-11-27 15:25:59 · 2767 阅读 · 2 评论 -
视频采集:Android平台基于Camera 2的实现
前言这篇文章简单介绍下移动端Android系统下利用Camera2相关API进行视频采集的方法。Camera2是谷歌在Android 5.0新增的用来替代Camera1操作摄像头的一个全新的API。按照惯例先上一份源码AndroidVideo。Camera2调用摄像头采集视频的核心实现在Camera2Capture.java。权限配置使用Android平台提供的摄像头,首先必须在配置文...原创 2018-11-13 10:46:09 · 392 阅读 · 0 评论 -
JNI编程指南(一):基本类型、字符串、数组
前言对于任何一个初学者,学习JNI都是从Java和C/C++之间如何传递数据,以及数据类型之间是如何相互映射开始。Native方法和C函数原型看点代码package com.net168.xxxclass Simple { private native String testA(String str); private native static void testA(int num...原创 2018-11-01 23:30:46 · 439 阅读 · 0 评论 -
视频采集:Android平台基于Camera 1的实现
前言这篇文章简单介绍下移动端Android系统下利用Camera1进行视频数据采集的方法。按照惯例先上一份源码 AndroidVideo。Camera1调用摄像头采集视频的核心实现在CameraCapture.java。权限配置使用Android平台提供的摄像头,首先必须在配置文件中添加如下权限配置:<uses-permission android:name="android.p...原创 2018-11-06 10:40:56 · 883 阅读 · 2 评论 -
源码解析:Android源码GLSurfaceView源码解析
前言这篇文章就带着大家简单过一下Android的GLSurfaceView源码的一些主要的处理流程。GLSurfaceView怎么用在开始分析源码前,非常有必要先看看GLSurfaceView的基本使用方法:mGLView= (GLSurfaceView) findViewById(R.id.gl_view);mGLView.setEGLContextClientVersion(2);...原创 2018-10-15 14:04:04 · 831 阅读 · 0 评论 -
FFmpeg:Android利用Filter进行音频数据预处理
前言这篇文件简单介绍下移动端Android系统下利用FFmpeg的Filter进行音频数据预处理的方法。按照惯例先上一份源码 AndroidFFmpegFilter。项目实现了:音量调节功能 volume_filter.cpp混音 amix_filter.cppFFmepg编译须知由于需要用到Filter模块,所以在FFmpeg编译脚本中需要开启相关编译选项。否则会出现 a...原创 2018-10-11 15:42:11 · 1274 阅读 · 1 评论 -
音频采集:Android基于OpenSL ES的实现
前言这篇文章简单介绍下移动端Android系统下利用OpenSL ES进行音频采集方法。 按照惯例先上一份源码 AudioRecordLib 。 OpenSL ES采集的核心实现在于 openslescore.cpp 这个文件。权限申请想要使用OpenSL ES,需要在AndroidManifest.xml的配置文件里面增加权限<uses-permission ...原创 2018-09-06 17:27:58 · 1410 阅读 · 0 评论 -
视频采集:iOS平台基于AVCaptureDevice的实现
前言这篇文章简单介绍下移动端iOS系统下利用AVCaptureDevice进行视频数据采集的方法。按照惯例先上一份源码:iOSVideo摄像头采集相关核心实现在:NTVideoCapture.m官方文档可以参考:[AVFoundation官方文档](https://developer.apple.com/library/archive/documentation/AudioVideo/C...原创 2018-12-25 10:46:21 · 2685 阅读 · 1 评论