当前位置:   article > 正文

AWS KVS(Kinesis Video Streams)之WebRTC移植编译(一)_amazon-kinesis-video-streams-webrtc-sdk-c

amazon-kinesis-video-streams-webrtc-sdk-c

本文在于记录amazon-kinesis提供的设备端WebRTC SDK的依赖项编译过程,该过程在嵌入式设备君正平台验证

1、首先我们可能需要一个墙外的服务器拉取代码,我是在开启了一个AWS的美国环境EC2,因为在国内访问实在是太慢了。                             

2、编译操作过程:

我们进入amazon-kinesis-video-streams-webrtc-sdk-c/CMake/Dependencies中可以看到依赖项信息:

因为我之前在Linux下完整编译了amazon-kinesis-video-streams-webrtc-sdk-c,因此现在需要能清楚各个模块的编译联系,我查看之前编译的Linux环境的生成目录build,

从而得到了libkvsWebrtcClient.so 依赖项如下:

libkvspicUtils.a  libkvspicState.a  libssl.so  libcrypto.so  libsrtp2.a . libusrsctp.so

根据参与编译的中间件信息--》得到哪些源码参与编译

  CMakeFiles/kvsWebrtcClient.dir/src/source/Crypto/Dtls.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Crypto/Dtls_openssl.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Crypto/IOBuffer.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Crypto/Tls.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Crypto/Tls_openssl.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/ConnectionListener.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/IceAgent.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/IceAgentStateMachine.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/IceUtils.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/NatBehaviorDiscovery.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/Network.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/SocketConnection.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Ice/TurnConnection.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/DataChannel.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/JitterBuffer.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/PeerConnection.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/Retransimitter.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/Rtcp.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/Rtp.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/SessionDescription.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/PeerConnection/jsmn.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtcp/RollingBuffer.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtcp/RtcpPacket.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtcp/RtpRollingBuffer.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtp/RtpPacket.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtp/Codecs/RtpG711Payloader.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtp/Codecs/RtpH264Payloader.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtp/Codecs/RtpOpusPayloader.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Rtp/Codecs/RtpVP8Payloader.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Sdp/Deserialize.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Sdp/Serialize.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Srtp/SrtpSession.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Stun/Stun.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Sctp/Sctp.c.o
   CMakeFiles/kvsWebrtcClient.dir/src/source/Metrics/Metrics.c.o 

libkvsWebrtcSignalingClient.so 依赖项如下:

libkvsCommonLws.a   libwebsockets.a  libkvspicUtils.a  libkvspicState.a  libssl.so libcrypto.so

根据参与编译的中间件信息--》得到哪些源码参与编译

CMakeFiles/kvsWebrtcSignalingClient.dir/src/source/Signaling/ChannelInfo.c.o
CMakeFiles/kvsWebrtcSignalingClient.dir/src/source/Signaling/Client.c.o
CMakeFiles/kvsWebrtcSignalingClient.dir/src/source/Signaling/FileCache.c.o
CMakeFiles/kvsWebrtcSignalingClient.dir/src/source/Signaling/LwsApiCalls.c.o
CMakeFiles/kvsWebrtcSignalingClient.dir/src/source/Signaling/Signaling.c.o
CMakeFiles/kvsWebrtcSignalingClient.dir/src/source/Signaling/StateMachine.c.o 

kvsWebrtcClientMaster可执行程序:

libkvsWebrtcClient.so  libkvsWebrtcSignalingClient.so  libkvspicUtils.a  libkvsCommonLws.a   libwebsockets.a

  CMakeFiles/kvsWebrtcClientMaster.dir/samples/Common.c.o
  CMakeFiles/kvsWebrtcClientMaster.dir/samples/kvsWebRTCClientMaster.c.o

kvsWebrtcClientViewer可执行程序:

libkvsWebrtcClient.so  libkvsWebrtcSignalingClient.so  libkvspicUtils.a  libkvsCommonLws.a   libwebsockets.a

CMakeFiles/kvsWebrtcClientViewer.dir/samples/Common.c.o
CMakeFiles/kvsWebrtcClientViewer.dir/samples/kvsWebRTCClientViewer.c.o   

 

综合以上信息,我们知道amazon-kinesis-video-streams-webrtc-sdk-c的所有依赖项信息,因为我自己要编写君正平台的CMakeLists.txt,因此需要单独编译这些依赖库。

其实该sample是使用amazon-kinesis-video-streams-webrtc-sdk中一套完整的SDK,但是在实际移植中我们可能只会使用到其中一部分。具体编译过程见下一篇(点击进入下一篇)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/612905
推荐阅读
相关标签
  

闽ICP备14008679号