做调查赚钱网站有哪些/关键词有几种类型
市面上常见的桌面助手有:Windows远程桌面/Vnc/Teamviewer/向日葵等。
经过技术分析,我们发现支持内网的助手其网络交互模式与webrtc十分类似,有mediastream用于传输画面,然后用datachannel传输键鼠指令以及可能有的文件传输。因此我们底层使用webrtc来构建
由于我一直提倡“知其所以然”。所以我选用开源的项目来构建
kvswebrtc依赖于openssl、srtp、usrsctp、kvspic。我们挨个来编译。
先下载所有代码(我使用了镜像加速),其实都是github:
cd /d H:\whenyoulink
git clone https://github.com.cnpmjs.org/openssl/openssl.git -b OpenSSL_1_1_1g
git clone https://github.com.cnpmjs.org/cisco/libsrtp.git
git clone https://github.com.cnpmjs.org/sctplab/usrsctp.gitcdusrsctp
git reset --hard 939d48f9632d69bf170c7a84514b312b6b42257dcd ..git clone https://github.com.cnpmjs.org/awslabs/amazon-kinesis-video-streams-pic.gitcdamazon-kinesis-video-streams-pic
git reset --hard bdad27051d0ef5b823e1916d02b40fc57678156acd ..git clone https://github.com.cnpmjs.org/warmcat/libwebsockets.git -b v3.2.3git clone https://github.com.cnpmjs.org/awslabs/amazon-kinesis-video-streams-producer-c.gitcdamazon-kinesis-video-streams-producer-c
git reset --hard 15f124e5a5561679cf001bb36c2c758073740681cd ..git clone --recursive https://github.com.cnpmjs.org/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c.git
然后先编译几个依赖库(amazon-kinesis-video-streams-producer-c不需要编译,只用其头文件;libwebsockets其实编译只是为了提取头文件,也不需要使用其库文件)
(当然,需要从visual studio的命令行启动,而且需要安装c++编译器)
cd /d H:\whenyoulinkcdopenssl
perl Configure VC-WIN32 no-asm --prefix=%cd%\_install --openssldir=%cd%\openssldir
nmake && nmake installcd ..
cdlibsrtpmkdir build && cdbuild
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%\..\install -DENABLE_OPENSSL=TRUE -DBUILD_SHARED_LIBS=FALSE -DOPENSSL_ROOT_DIR=%cd%\..\..\openssl\_install ..nmake && nmake installcd ..\..
cdusrsctpmkdir build && cdbuild
cmake -G"NMake Makefiles" -DCMAKE_INSTALL_PREFIX=%cd%\..\install -DCMAKE_BUILD_TYPE=Release -Dsctp_werror=0 ..nmake && nmake installcd ..\..
cdamazon-kinesis-video-streams-picmkdir build && cdbuild
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%\..\install -DBUILD_DEPENDENCIES=OFF ..nmake && nmake installcd ..\..
cdlibwebsocketsmkdir build && cdbuild
cmake -G"NMake Makefiles" -DCMAKE_INSTALL_PREFIX=%cd%\..\install -DLWS_WITH_HTTP2=1 -DLWS_HAVE_HMAC_CTX_new=1 -DLWS_HAVE_SSL_EXTRA_CHAIN_CERTS=1 -DLWS_HAVE_OPENSSL_ECDH_H=1 -DLWS_HAVE_EVP_MD_CTX_free=1 -DLWS_WITHOUT_SERVER=1 -DLWS_WITHOUT_TESTAPPS=1 -DLWS_WITH_THREADPOOL=1 -DLWS_WITHOUT_TEST_SERVER_EXTPOLL=1 -DLWS_WITHOUT_TEST_PING=1 -DLWS_WITHOUT_TEST_CLIENT=1 -DLWS_WITH_STATIC=1 -DLWS_WITH_SHARED=0 -DLWS_STATIC_PIC=1 -DLWS_WITH_ZLIB=0 -DLWS_HAVE_EVENTFD=0 -DLWS_WITH_MBEDTLS=OFF -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR=%cd%\..\..\openssl\_install ..nmake && nmake installcd ..\..
然后改一下代码再编译kvswebrtc,官方代码有个bug。
还需要改动一下cmakelists.txt,不查找gstreamer
xcopy /e /y H:\whenyoulink\amazon-kinesis-video-streams-pic\install\include H:\whenyoulink\amazon-kinesis-video-streams-webrtc-sdk-c\src\includexcopy /e /y H:\whenyoulink\amazon-kinesis-video-streams-producer-c\src\include H:\whenyoulink\amazon-kinesis-video-streams-webrtc-sdk-c\src\includexcopy /e /y H:\whenyoulink\libsrtp\install\include H:\whenyoulink\amazon-kinesis-video-streams-webrtc-sdk-c\src\includexcopy /e /y H:\whenyoulink\libwebsockets\install\include H:\whenyoulink\amazon-kinesis-video-streams-webrtc-sdk-c\src\includexcopy /e /y H:\whenyoulink\openssl\_install\include H:\whenyoulink\amazon-kinesis-video-streams-webrtc-sdk-c\src\includexcopy /e /y H:\whenyoulink\usrsctp\install\include H:\whenyoulink\amazon-kinesis-video-streams-webrtc-sdk-c\src\includecd /d H:\whenyoulinkcdamazon-kinesis-video-streams-webrtc-sdk-cmkdir build && cdbuild
cmake -G"NMake Makefiles" -DBUILD_DEPENDENCIES=OFF -DBUILD_SAMPLE=OFF -DOPENSSL_ROOT_DIR=%cd%\..\..\openssl\_install -DSRTP_LIBRARIES=%cd%\..\..\libsrtp\install -DUsrsctp=%cd%\..\..\usrsctp\install -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%\..\install ..nmake && nmake install
最后我们把静态库链接成动态库,到时候给C#用。
我们用vs创建一个dll项目
然后就创建两个文件,直接生成
最后修改时间 2020-12-12 21:05:55