From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001 From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 18 八月 2017 18:12:17 +0800 Subject: [PATCH] H264 NALU解析 并在RTSPServer判断 --- VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt | 228 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 183 insertions(+), 45 deletions(-) diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt index b145b34..f733384 100644 --- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt +++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt @@ -1,65 +1,203 @@ cmake_minimum_required(VERSION 3.4.1) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -DUSE_ST_SDK -DUSE_OPENCV -DANDROID_PLATFORM=android-22 -DANDROID_TOOLCHAIN=gcc -DANDROID_STL=gnustl_static -Wall -UNDEBUG") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -DUSE_OPENCV -DUSE_ST_SDK -DANDROID_PLATFORM=android-22 -DANDROID_TOOLCHAIN=gcc -DANDROID_STL=gnustl_static -Wall -UNDEBUG") #debug for video only test #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -fno-rtti -Wall -UNDEBUG") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -DANDROID_PLATFORM=android-22 -DANDROID_TOOLCHAIN=gcc -DANDROID_STL=gnustl_static -Wall -UNDEBUG") -add_library(rtspface SHARED - RtspNativeCodecJNI.cpp - CameraWrapper.cpp - FaceCache.cpp - DebugNetwork.cpp +set(WORKSPACE_PATH "D:/workspace/proxy") +set(ARCH "armeabi-v7a") - "D:/workspace/proxy/RtspFace/PipeLine.cpp" - "D:/workspace/proxy/RtspFace/Logger/src/logger.cc" - "D:/workspace/proxy/RtspFace/MediaHelper.cpp" - "D:/workspace/proxy/RtspFace/PL_RTSPClient.cpp" - "D:/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp" - "D:/workspace/proxy/RtspFace/PL_AndroidSurfaceViewRender.cpp" - "D:/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp" +include_directories( + "${WORKSPACE_PATH}/RtspFace" + "${WORKSPACE_PATH}/FaceServer" - "D:/workspace/proxy/FaceServer/proto_hton_ntoh.cpp" - "D:/workspace/proxy/FaceServer/PbFaceList.pb.cc" - ) + #"D:/workspace/libhardware-android-5.1.1_r38/include" + #"D:/workspace/core-android-5.1.1_r38/include" + #"D:/workspace/native-android-5.1.1_r38/include" + #"D:/workspace/core-android-5.1.1_r38/libsync/include" + #"D:/workspace/native-android-5.1.1_r38/opengl/include" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/jsoncpp/include/json" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libyuv/include" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/opencv/include" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/protobuf/include" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/st_face/include" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/include" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/freetype/include/freetype2" + ) + +add_library(rtspface_server SHARED + RtspNativeCodecJNIServer.cpp + RemoteMethod.capnp.cpp + RemoteFuncServer.cpp + RemoteFunc.cpp + CameraWrapperServer.cpp + FaceCache.cpp + FaceCacheForPLBG.cpp + DebugNetwork.cpp + CaptureCamera.cpp + cpu_sched_test.cpp + serial.c + TeleWrapper.cpp + AppConfig.cpp + + "${WORKSPACE_PATH}/RtspFace/PipeLine.cpp" + "${WORKSPACE_PATH}/RtspFace/Logger/src/logger.cc" + "${WORKSPACE_PATH}/RtspFace/MediaHelper.cpp" + "${WORKSPACE_PATH}/RtspFace/PreAllocBufferQueue.cpp" + "${WORKSPACE_PATH}/RtspFace/GraphicHelper.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_RTSPClient.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_AndroidSurfaceViewRender.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_SensetimeFaceTrack.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_SensetimeFaceTrack.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_Gainer.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_Scale.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_ColorConv.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_Paint.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_BlockGrouping.cpp" + #"${WORKSPACE_PATH}/RtspFace/PL_Queue.cpp" + #"${WORKSPACE_PATH}/RtspFace/PL_Fork2.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecEncoder.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_RTSPServer2.cpp" + + "${WORKSPACE_PATH}/FaceServer/proto_hton_ntoh.cpp" + "${WORKSPACE_PATH}/FaceServer/PbFaceList.pb.cc" + + "${WORKSPACE_PATH}/RtspFace/CvUtil/CvxText.cpp" + + "${WORKSPACE_PATH}/RtspFace/FFmpegRTSPServer/LiveServerMediaSubsession.cpp" + "${WORKSPACE_PATH}/RtspFace/FFmpegRTSPServer/LiveRTSPServer.cpp" + "${WORKSPACE_PATH}/RtspFace/FFmpegRTSPServer/FFmpegH264Source.cpp" + "${WORKSPACE_PATH}/RtspFace/FFmpegRTSPServer/H264FramedSource.cpp" + ) # Include libraries needed for native-codec-jni lib -target_link_libraries(rtspface - android - log - mediandk - OpenMAXAL - #gui - jnigraphics +target_link_libraries(rtspface_server + android + log + #ui + mediandk + #OpenMAXAL + #jnigraphics + #EGL + #GLESv2 + #GLESv3 + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libliveMedia.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libgroupsock.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libBasicUsageEnvironment.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libUsageEnvironment.a" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libyuv/lib/${ARCH}/libyuv_static.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/opencv/lib/${ARCH}/libopencv_java3.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/protobuf/lib/${ARCH}/libprotobuf.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/st_face/lib/${ARCH}/libcvface_api.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/freetype/lib/${ARCH}/libfreetype.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/jsoncpp/lib/${ARCH}/libjsoncpp.so" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnp-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnp-json-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnp-rpc-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnpc-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libkj-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libkj-async-0.7-dev.so" + + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libgui.so" + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libui.so" + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libEGL.so" + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libGLESv3.so" ) -include_directories("D:/workspace/proxy/RtspFace" - "D:/workspace/proxy/FaceServer" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment" +add_library(rtspface_client SHARED + RtspNativeCodecJNIClient.cpp + RemoteMethod.capnp.cpp + RemoteFuncClient.cpp + RemoteFunc.cpp + CameraWrapperClient.cpp + FaceCache.cpp + FaceCacheForPLBG.cpp + DebugNetwork.cpp + CaptureCamera.cpp + cpu_sched_test.cpp + serial.c + TeleWrapper.cpp + AppConfig.cpp - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/libyuv/include" + "${WORKSPACE_PATH}/RtspFace/PipeLine.cpp" + "${WORKSPACE_PATH}/RtspFace/Logger/src/logger.cc" + "${WORKSPACE_PATH}/RtspFace/MediaHelper.cpp" + "${WORKSPACE_PATH}/RtspFace/GraphicHelper.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_RTSPClient.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_AndroidSurfaceViewRender.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_SensetimeFaceTrack.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_SensetimeFaceTrackMultiTrd.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_Gainer.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_Scale.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_ColorConv.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_Paint.cpp" + "${WORKSPACE_PATH}/RtspFace/PL_BlockGrouping.cpp" + #"${WORKSPACE_PATH}/RtspFace/PL_Queue.cpp" + #"${WORKSPACE_PATH}/RtspFace/PL_Fork2.cpp" + #"${WORKSPACE_PATH}/RtspFace/PL_AndroidMediaCodecEncoder.cpp" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/opencv/include" + "${WORKSPACE_PATH}/FaceServer/proto_hton_ntoh.cpp" + "${WORKSPACE_PATH}/FaceServer/PbFaceList.pb.cc" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/protobuf/include" + "${WORKSPACE_PATH}/RtspFace/CvUtil/CvxText.cpp" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/st_face/include" - ) + ) -target_link_libraries(rtspface - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/armeabi-v7a/libliveMedia.a" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/armeabi-v7a/libgroupsock.a" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/armeabi-v7a/libBasicUsageEnvironment.a" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/armeabi-v7a/libUsageEnvironment.a" +# Include libraries needed for native-codec-jni lib +target_link_libraries(rtspface_client + android + log + #ui + mediandk + #OpenMAXAL + #jnigraphics + #EGL + #GLESv2 + #GLESv3 - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/libyuv/lib/armeabi-v7a/libyuv_static.a" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/opencv/lib/armeabi-v7a/libopencv_java3.so" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/protobuf/lib/armeabi-v7a/libprotobuf.so" - "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/st_face/lib/armeabi-v7a/libcvface_api.so" - ) + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libliveMedia.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libgroupsock.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libBasicUsageEnvironment.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/live555/lib/${ARCH}/libUsageEnvironment.a" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/libyuv/lib/${ARCH}/libyuv_static.a" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/opencv/lib/${ARCH}/libopencv_java3.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/protobuf/lib/${ARCH}/libprotobuf.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/st_face/lib/${ARCH}/libcvface_api.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/freetype/lib/${ARCH}/libfreetype.so" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/jsoncpp/lib/${ARCH}/libjsoncpp.so" + + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnp-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnp-json-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnp-rpc-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libcapnpc-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libkj-0.7-dev.so" + "${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/capnproto/lib/${ARCH}/libkj-async-0.7-dev.so" + + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libgui.so" + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libui.so" + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libEGL.so" + #"${WORKSPACE_PATH}/VisitFace/RtspNativeCodec/app/libs/android_sys/libGLESv3.so" + ) -- Gitblit v1.8.0