資源簡介
本項目提供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中,減少數據傳遞
代碼片段和文件信息
package?com.forrest.communication;
import?android.Manifest;
import?android.app.Activity;
import?android.app.AlertDialog;
import?android.app.Dialog;
import?android.content.Context;
import?android.content.DialogInterface;
import?android.content.pm.PackageManager;
import?android.graphics.SurfaceTexture;
import?android.hardware.camera2.CameraAccessException;
import?android.hardware.camera2.CameraCaptureSession;
import?android.hardware.camera2.CameraCharacteristics;
import?android.hardware.camera2.CameraDevice;
import?android.hardware.camera2.CameraManager;
import?android.hardware.camera2.CaptureRequest;
import?android.hardware.camera2.params.StreamConfigurationMap;
import?android.os.Bundle;
import?android.os.Handler;
import?android.os.HandlerThread;
import?android.support.annotation.NonNull;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-08-15?09:04??Communication-master\
?????文件?????????216??2019-08-15?09:04??Communication-master\.gitignore
?????目錄???????????0??2019-08-15?09:04??Communication-master\.idea\
?????目錄???????????0??2019-08-15?09:04??Communication-master\.idea\codest
?????文件????????7402??2019-08-15?09:04??Communication-master\.idea\codest
?????文件?????????153??2019-08-15?09:04??Communication-master\.idea\codest
?????目錄???????????0??2019-08-15?09:04??Communication-master\.idea\dictionaries\
?????文件??????????82??2019-08-15?09:04??Communication-master\.idea\dictionaries\who.xm
?????文件?????????135??2019-08-15?09:04??Communication-master\.idea\encodings.xm
?????文件?????????729??2019-08-15?09:04??Communication-master\.idea\gradle.xm
?????文件????????4265??2019-08-15?09:04??Communication-master\.idea\markdown-navigator.xm
?????目錄???????????0??2019-08-15?09:04??Communication-master\.idea\markdown-navigator\
?????文件?????????104??2019-08-15?09:04??Communication-master\.idea\markdown-navigator\profiles_settings.xm
?????文件????????3077??2019-08-15?09:04??Communication-master\.idea\misc.xm
?????文件?????????564??2019-08-15?09:04??Communication-master\.idea\runConfigurations.xm
?????文件?????????180??2019-08-15?09:04??Communication-master\.idea\vcs.xm
?????文件????????1068??2019-08-15?09:04??Communication-master\LICENSE
?????文件????????1264??2019-08-15?09:04??Communication-master\README.md
?????目錄???????????0??2019-08-15?09:04??Communication-master\app\
?????文件???????????8??2019-08-15?09:04??Communication-master\app\.gitignore
?????文件????????4495??2019-08-15?09:04??Communication-master\app\CMakeLists.txt
?????文件????????1139??2019-08-15?09:04??Communication-master\app\build.gradle
?????文件?????????772??2019-08-15?09:04??Communication-master\app\proguard-rules.pro
?????目錄???????????0??2019-08-15?09:04??Communication-master\app\release\
?????文件????18567060??2019-08-15?09:04??Communication-master\app\release\app-release.apk
?????文件?????????234??2019-08-15?09:04??Communication-master\app\release\output.json
?????目錄???????????0??2019-08-15?09:04??Communication-master\app\src\
?????目錄???????????0??2019-08-15?09:04??Communication-master\app\src\main\
?????文件????????1236??2019-08-15?09:04??Communication-master\app\src\main\AndroidManifest.xm
?????目錄???????????0??2019-08-15?09:04??Communication-master\app\src\main\java\
?????目錄???????????0??2019-08-15?09:04??Communication-master\app\src\main\java\com\
............此處省略445個文件信息
- 上一篇:android音樂播放器源碼(功能挺全)
- 下一篇:海康攝像頭Android開發
評論
共有 條評論