当前位置: 首页 > news >正文

网站描述怎么写比较好wordpress 主题预览空白

网站描述怎么写比较好,wordpress 主题预览空白,小程序api函数,做一个购物网站要多少钱文章目录 基本流程状态回调类sdp的中媒体行pc对象 基本流程 webrtc native的接口#xff0c;主要就是围绕着PeerConnection对象#xff0c;一个PeerConnection对象它代表了一次音视频会话。 那么通过PeerConnection对象建立音视频通话#xff0c;包括如下步骤#xff1a; … 文章目录 基本流程状态回调类sdp的中媒体行pc对象 基本流程 webrtc native的接口主要就是围绕着PeerConnection对象一个PeerConnection对象它代表了一次音视频会话。 那么通过PeerConnection对象建立音视频通话包括如下步骤 创建PeerConnectionFactory通过工厂方法webrtc::CreatePeerConnectionFactory。创建PeerConnection通过它的PeerConnectionFactory的CreatePeerConnection方法。调用PeerConnectionFactory的CreateAudioTrack和CreateVideoTrack方法创建Track。调用PeerConncetion的 AddTrack方法添加Tracktrack最终会反映到sdp中的m行中。协商成功的Track在随后会通过onAddTrack回调告知应用层根据Track的类型来确定是回放视频还是音频。如果是本地为发起端则需调用PeerConnection的CreateOffer方法产生本地sdp信息(抽象为了webrtc::SessionDescriptionInterface**对象)触发 **CreateSessionDescriptionObserver**中 **OnSuccess方法在OnSuccess方法中调用PeerConnection的SetLocalDescription方法获取sdp字符串后通过信令协议给到远端。如果远端是发起在收到信令服务传来的远端sdp消息调用PeerConnection的SetRemoteDescription方法(需将sdp字符转换为webrtc::SessionDescriptionInterface对象)。然后调用PeerConnection的CreateAnswer方法(产生的local sdp应该还是会通过CreateSessionDescriptionObserver的OnSuccess回调给出最终还是通过PeerConnection的SetLocalDescription方法设置需要调试一下追踪流程)。 整个过程本质就是获取本地sdp信息和远端sdp信息再进行协商流程可以概括为如下图。 状态回调类 上述流程都是异步所以会有状态回调来告知应用状态。主要的两个Observer就是CreateSessionDescriptionObserver和PeerConnectionObserver前者是告知sdp创建协商的状态。后者是PC对象的状态。如下图。 Conductor类在examples/peerconnection/client/conductor.h是webrtc native的pc对象封装示例代码。 实现一个pc client可以参照它的实现首先是要继承CreateSessionDescriptionObserver和PeerConnectionObserver再是有PeerConnectionInterface(PC对象)和PeerConnectionFactoryInterface(用于创建PC对象)的成员变量。 sdp的中媒体行 sdp中核心的信息就是描述媒体信息的内容简称m行或媒体行。通过pc对象的AddTrack或AddTransceiver方法添加track会直接反映到sdp中。 如下代码添加了两个VideoTrack最终反映到sdp中为两个sendrecv的m行。 rtc::scoped_refptrCapturerTrackSource video_device CapturerTrackSource::Create();if (video_device) {rtc::scoped_refptrwebrtc::VideoTrackInterface video_track_(peer_connection_factory_-CreateVideoTrack(kVideoLabel, video_device));main_wnd_-StartLocalRenderer(video_track_);result_or_error peer_connection_-AddTrack(video_track_, {kStreamId});if (!result_or_error.ok()) {RTC_LOG(LS_ERROR) Failed to add video track to PeerConnection: result_or_error.error().message();}//添加第二个video trackrtc::scoped_refptrwebrtc::VideoTrackInterface video_track_1(peer_connection_factory_-CreateVideoTrack(video_track_1, video_device));result_or_error peer_connection_-AddTrack(video_track_1, {kStreamId});if (!result_or_error.ok()) {RTC_LOG(LS_ERROR) Failed to add video track to PeerConnection: result_or_error.error().message();}} else {RTC_LOG(LS_ERROR) OpenVideoCaptureDevice failed;}如下代码添加了一个VieoTrack方向为recvonly。 //video recvonly webrtc::RtpTransceiverInit init; init.direction webrtc::RtpTransceiverDirection::kRecvOnly;peer_connection_-AddTransceiver(cricket::MediaType::MEDIA_TYPE_VIDEO, init);pc对象 一个PC对象表示一次P2P会话它包括sdp handlecall。可以产生多个PC对象PC对象之间相互不关联。 std::unique_ptrSdpOfferAnswerHandler sdp_handler_;用以处理sdp协商。 std::unique_ptrCall call_;管理PC sdp中对应的stream如下类图为它提供的核心方法 一个PC对象中video/audio send/receive stream都被webrtc::interal::call对象管理也是通过它的接口进行创建。 sdp中一个m行对应一个RtpTransceiver对象最终被映射成MediaChannel和 video/audio的各种send/receive stream(比如webrtc::internal::VideoSendStream)而这些stream就是直接管理编解码器。
http://www.eeditor.cn/news/124601/

相关文章:

  • 手机站点cn百度网站免费电话
  • 房地产公司如何网站建设wordpress 导入网页
  • 定制网站建设制作代写1000字多少钱
  • 阿里巴巴外贸平台中文长沙优化网站建设
  • 汕头网站快速排名优化试玩网页游戏
  • 大型网站开发的主流语言从哪些方面评价一个企业的网站建设
  • 网站流量用什么表示耐克网站建设的历程
  • 游戏网站开发什么意思豆瓣网站是怎么建设的
  • 怎么判断网站是否被收录广州站
  • 帝国建站系统网站空间过期
  • 网站建设基础ppt看啥网一个没有人工干预的网
  • 株洲网站排名优化价格成都市建设厅官方网站
  • 公司注销后 网站备案做网站需要会什么 知乎
  • 内江市网站建设培训wordpress 商家 用户
  • 广州网站改版设计新版wordpress头像
  • 网站建设项目经理如何用微信做网站
  • 深圳外贸网站优化哪家好南昌seo推广外包
  • 网站名称需要用注册吗湖南网站建设 莫道
  • 网站应当实现那些功能 流程如何设计西安创意网站建设
  • 培训机构 网站建设wordpress 可以上传存储附件
  • 织梦网站logo怎么换网站建设是否包含等保
  • 索莱宝做网站推广普通话内容50字
  • 漳州微网站建设公司推荐工程师招聘网站
  • 外外贸网站推广方案免费模板素材软件
  • 专业的句容网站建设广告营销案例100例
  • 上饶建设银行网站正规代加工在哪里找
  • 深圳网站建设就q479185700顶上沧州大型企业网站建设
  • 哪些安防公司做了手机网站apicloud安装wordpress
  • 网上做翻译兼职网站好房产网签
  • dw做网站菜单栏网站建设 华博互联