From 2b43077d967c28fe99e1ff2b99f19e1433c710d9 Mon Sep 17 00:00:00 2001 From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 17 八月 2017 12:28:36 +0800 Subject: [PATCH] aaaaa --- VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java | 141 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 122 insertions(+), 19 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..9289265 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,11 +17,14 @@ 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; +import android.media.MediaCodecInfo; import android.os.Bundle; import android.util.Log; +import android.util.Xml; import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView; @@ -43,10 +46,16 @@ import android.widget.Button; import android.widget.TextView; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.nio.ByteBuffer; import cn.com.basic.face.util.NativeImg; import cn.com.basic.face.util.RtspFaceNative; + +import static java.lang.Thread.sleep; public class NativeCodec extends Activity { static final String TAG = "NativeCodec"; @@ -55,6 +64,12 @@ SurfaceView mSurfaceView1; SurfaceHolder mSurfaceHolder1; + + SurfaceView mSurfaceView2; + SurfaceHolder mSurfaceHolder2; + + SurfaceView mSurfaceView3; + SurfaceHolder mSurfaceHolder3; VideoSink mSelectedVideoSink; VideoSink mNativeCodecPlayerVideoSink; @@ -72,11 +87,24 @@ public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); - ThisActivity = this; + try { + Process su = Runtime.getRuntime().exec("su"); + } catch (IOException e) { + e.printStackTrace(); + } + //Runtime.getRuntime().exec(new String[]{"/system/bin/su","-c", cmd}); + RtspFaceNative.init(); - RtspFaceNative.setLocalIP("192.168.1.10"); + //for (int i=0 ;i < 32; i+=2){ + // RtspFaceNative.setFaceLabel(1, i, "涓枃鍚嶅瓧"); + // RtspFaceNative.setFaceLabel(1, i+1, "abcd"); + // RtspFaceNative.setFaceLabel(2, i, "涓枃鍚嶅瓧"); + // RtspFaceNative.setFaceLabel(2, i+1, "abcd"); + //} + + RtspFaceNative.setLocalIP("192.168.1.93"); mGLView1 = (MyGLSurfaceView) findViewById(R.id.glsurfaceview1); @@ -84,6 +112,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 +219,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,22 +261,50 @@ } 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 = 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"); + //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin@192.168.1.188:554/cam/realmonitor?channel=1&subtype=2"); + //mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.202:554/h264/ch1/main/av_stream"); + //mCreated = RtspFaceNative.createPlayer(2, "rtsp://Admin:1234@192.168.1.22/h264"); + mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream"); + //mCreated = RtspFaceNative.createPlayer(1, "rtsp://192.168.1.94:8554"); //byte[] arr = new byte[5]; //arr[0] = 3; arr[1] = 4; arr[2] = 5; //RtspFaceNative.getFaceList(1, arr); - } } if (mCreated) { @@ -226,9 +312,7 @@ //setPlayingStreamingMediaPlayer(mIsPlaying); } } - }); - // native MediaPlayer rewind ((Button) findViewById(R.id.rewind_native)).setOnClickListener(new View.OnClickListener() { @@ -277,6 +361,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 +395,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); @@ -390,8 +492,9 @@ /** Load jni .so on initialization */ static { - System.loadLibrary("rtspface"); - System.loadLibrary("opencv_java3"); + //System.loadLibrary("rtspface_client"); + System.loadLibrary("rtspface_server"); + //System.loadLibrary("opencv_java3"); } // VideoSink abstracts out the difference between Surface and SurfaceTexture @@ -421,7 +524,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 +546,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