From b12ccedc360fc9901009407f9dcbf127532c7072 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期日, 23 七月 2017 12:03:31 +0800
Subject: [PATCH]
---
VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 105 insertions(+), 13 deletions(-)
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
index dff4f0c..329a523 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
+++ b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
@@ -17,6 +17,7 @@
package com.example.nativecodec;
import android.app.Activity;
+import android.app.NativeActivity;
import android.graphics.PixelFormat;
import android.graphics.SurfaceTexture;
import android.graphics.drawable.Drawable;
@@ -43,6 +44,9 @@
import android.widget.Button;
import android.widget.TextView;
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.nio.ByteBuffer;
import cn.com.basic.face.util.NativeImg;
@@ -55,6 +59,12 @@
SurfaceView mSurfaceView1;
SurfaceHolder mSurfaceHolder1;
+
+ SurfaceView mSurfaceView2;
+ SurfaceHolder mSurfaceHolder2;
+
+ SurfaceView mSurfaceView3;
+ SurfaceHolder mSurfaceHolder3;
VideoSink mSelectedVideoSink;
VideoSink mNativeCodecPlayerVideoSink;
@@ -76,7 +86,7 @@
ThisActivity = this;
RtspFaceNative.init();
- RtspFaceNative.setLocalIP("192.168.1.10");
+ RtspFaceNative.setLocalIP("192.168.1.84");
mGLView1 = (MyGLSurfaceView) findViewById(R.id.glsurfaceview1);
@@ -84,6 +94,11 @@
mSurfaceView1 = (SurfaceView) findViewById(R.id.surfaceview1);
mSurfaceHolder1 = mSurfaceView1.getHolder();
+ mSurfaceView2 = (SurfaceView) findViewById(R.id.surfaceview2);
+ mSurfaceHolder2 = mSurfaceView2.getHolder();
+
+ mSurfaceView3 = (SurfaceView) findViewById(R.id.surfaceview3);
+ mSurfaceHolder3 = mSurfaceView3.getHolder();
mSurfaceHolder1.addCallback(new SurfaceHolder.Callback() {
@@ -186,7 +201,32 @@
}
});
- // initialize button click handlers
+ mSurfaceView1.getHolder().addCallback(new SurfaceHolder.Callback() {
+ @Override
+ public void surfaceCreated(SurfaceHolder holder) {
+
+ }
+
+ @Override
+ public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
+
+ }
+
+ @Override
+ public void surfaceDestroyed(SurfaceHolder holder) {
+
+ }
+ });
+
+ ((SurfaceView) findViewById(R.id.surfaceview3)).setOnClickListener(new View.OnClickListener() {
+ public void onClick(View view) {
+ mSurfaceHolder3.setFormat(PixelFormat.RGB_565);
+ Surface s3 = mSurfaceHolder3.getSurface();
+ RtspFaceNative.setCaptureSurface(s3);
+ }
+ });
+
+ // initialize button click handlers
// native MediaPlayer start/pause
((Button) findViewById(R.id.start_native)).setOnClickListener(new View.OnClickListener() {
@@ -203,17 +243,51 @@
}
if (mSourceString != null) {
- RtspFaceNative.setSurface(1, mSurfaceHolder1.getSurface());
- mGLView1VideoSink.useAsSinkForNative();
+ //RtspFaceNative.setSurface(1, s, mSurfaceHolder1.getSurface());
+
+ //RtspFaceNative.setSurface(1, mSurfaceHolderDecoder1.getSurface());
+
+ //mSurfaceHolder1.setFormat(PixelFormat.RGBA_8888);
+ mSurfaceHolder1.setFormat(PixelFormat.RGB_565);
+ Surface s = mSurfaceHolder1.getSurface();
+ RtspFaceNative.setSurface(1, s);
+
+ //mSurfaceHolder2.setFormat(PixelFormat.RGBA_8888);
+ mSurfaceHolder2.setFormat(PixelFormat.RGB_565);
+ Surface s2 = mSurfaceHolder2.getSurface();
+ RtspFaceNative.setSurface(2, s2);
+
+ //SurfaceTexture st = mGLView1VideoSink.mMyGLSurfaceView.getSurfaceTexture();
+ //Surface sgl = new Surface(st);
+ //RtspFaceNative.setSurface(2, sgl, sgl);
+ //mGLView1VideoSink.useAsSinkForNative();
+ //sgl.release();
+
+ RtspFaceNative.setFaceCallback(1, "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
+ RtspFaceNative.setFaceCallback(2, "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
+
+ //try
+ //{
+ // String str = convertStreamToString(ThisActivity.getAssets().open("license.lic"));
+ // RtspFaceNative.dbgSetStfaceLicense(str);
+ //}
+ //catch(Exception ex)
+ //{
+ // return ;
+ //}
//mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString);
//#todo ok
- mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream");
- //mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream");
+ //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+ //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin@192.168.1.188:554/cam/realmonitor?channel=1&subtype=2");
+ //mCreated = RtspFaceNative.createPlayer(2, "rtsp://Admin:1234@192.168.1.70/h264");
+ //mCreated = RtspFaceNative.createPlayer(1, "rtsp://Admin:1234@192.168.1.70/h264_2");
+ mCreated = RtspFaceNative.createPlayer(1, "rtsp://Admin:1234@192.168.1.22/h264_2");
+ //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/sub/av_stream");
+ //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:a1234567@192.168.1.132:554/h264/ch1/sub/av_stream");
+ //mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/main/av_stream");
+ //mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/main/av_stream");
//mCreated = createPlayer(1, "rtsp://192.168.1.56:8554");
-
- RtspFaceNative.setFaceCallback(1, "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
- //RtspFaceNative.setFaceCallback(2, "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
//byte[] arr = new byte[5];
//arr[0] = 3; arr[1] = 4; arr[2] = 5;
@@ -277,6 +351,24 @@
static NativeCodec ThisActivity;
+ public String convertStreamToString(InputStream is) {
+ try
+ {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+ StringBuilder sb = new StringBuilder();
+ String line = null;
+ while ((line = reader.readLine()) != null) {
+ sb.append(line).append("\n");
+ }
+ reader.close();
+ return sb.toString();
+ }
+ catch(Exception ex)
+ {
+ return "";
+ }
+ }
+
public static void setFaceDrawable(NativeImg img)
{
//ImageView image = (ImageView)ThisActivity.findViewById(R.id.addface_image);
@@ -293,7 +385,7 @@
ThisActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
- Bitmap bitmap = Bitmap.createBitmap(faceImg.width, faceImg.height, Bitmap.Config.ARGB_8888);
+ Bitmap bitmap = Bitmap.createBitmap(faceImg.width, faceImg.height, Bitmap.Config.RGB_565);//ARGB_8888
ByteBuffer byteBuffer = ByteBuffer.wrap(faceImg.image, 0, faceImg.size);
bitmap.copyPixelsFromBuffer(byteBuffer);
@@ -391,7 +483,7 @@
/** Load jni .so on initialization */
static {
System.loadLibrary("rtspface");
- System.loadLibrary("opencv_java3");
+ //System.loadLibrary("opencv_java3");
}
// VideoSink abstracts out the difference between Surface and SurfaceTexture
@@ -421,7 +513,7 @@
Surface s = mSurfaceHolder.getSurface();
Log.i("@@@", "setting surface " + s);
//mSurfaceHolder1.setFormat(PixelFormat.RGBA_8888);
- RtspFaceNative.setSurface(1, s);
+ //RtspFaceNative.setSurface(1, s);
}
}
@@ -443,7 +535,7 @@
SurfaceTexture st = mMyGLSurfaceView.getSurfaceTexture();
Surface s = new Surface(st);
//setEGLConfigChooser(8, 8, 8, 8, 0, 0);
- RtspFaceNative.setSurface(2, s);
+ //RtspFaceNative.setSurface(1, s);
s.release();
}
--
Gitblit v1.8.0