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

企业网站推广的线上渠道有哪些做调研的网站一般有哪些

企业网站推广的线上渠道有哪些,做调研的网站一般有哪些,西宁北京网站建设,互联网上网络营销的推广文章目录 基本流程状态回调类sdp的中媒体行pc对象 基本流程 webrtc native的接口,主要就是围绕着PeerConnection对象,一个PeerConnection对象它代表了一次音视频会话。 那么通过PeerConnection对象建立音视频通话,包括如下步骤: …

文章目录

      • 基本流程
      • 状态回调类
      • sdp的中媒体行
      • pc对象

基本流程

webrtc native的接口,主要就是围绕着PeerConnection对象,一个PeerConnection对象它代表了一次音视频会话。
那么通过PeerConnection对象建立音视频通话,包括如下步骤:

  1. 创建PeerConnectionFactory,通过工厂方法webrtc::CreatePeerConnectionFactory
  2. 创建PeerConnection,通过它的PeerConnectionFactory的CreatePeerConnection方法。
  3. 调用PeerConnectionFactoryCreateAudioTrackCreateVideoTrack方法创建Track。
  4. 调用PeerConncetionAddTrack方法添加Track,track最终会反映到sdp中的m行中。协商成功的Track在随后会通过onAddTrack回调告知应用层,根据Track的类型来确定是回放视频还是音频。
  5. 如果是本地为发起端则需调用PeerConnectionCreateOffer方法,产生本地sdp信息(抽象为了webrtc::SessionDescriptionInterface**对象),触发 **CreateSessionDescriptionObserver**中 **OnSuccess方法,在OnSuccess方法中调用PeerConnectionSetLocalDescription方法,获取sdp字符串后通过信令协议给到远端。
  6. 如果远端是发起,在收到信令服务传来的远端sdp消息,调用PeerConnectionSetRemoteDescription方法(需将sdp字符转换为webrtc::SessionDescriptionInterface对象)。然后调用PeerConnectionCreateAnswer方法(产生的local sdp应该还是会通过CreateSessionDescriptionObserverOnSuccess回调给出,最终还是通过PeerConnectionSetLocalDescription方法设置,需要调试一下,追踪流程)。

整个过程本质就是获取本地sdp信息和远端sdp信息,再进行协商,流程可以概括为如下图。
image.png

状态回调类

上述流程都是异步,所以会有状态回调来告知应用状态。主要的两个Observer就是CreateSessionDescriptionObserverPeerConnectionObserver,前者是告知sdp创建,协商的状态。后者是PC对象的状态。如下图。

sdp回调接口与pc回调接口.jpg
Conductor类在examples/peerconnection/client/conductor.h,是webrtc native的pc对象封装示例代码。
实现一个pc client,可以参照它的实现,首先是要继承CreateSessionDescriptionObserverPeerConnectionObserver,再是有PeerConnectionInterface(PC对象)和PeerConnectionFactoryInterface(用于创建PC对象)的成员变量。

sdp的中媒体行

sdp中核心的信息就是描述媒体信息的内容,简称m行或媒体行。通过pc对象的AddTrack或AddTransceiver方法添加track,会直接反映到sdp中。

如下代码,添加了两个VideoTrack,最终反映到sdp中为两个sendrecv的m行。

rtc::scoped_refptr<CapturerTrackSource> video_device =CapturerTrackSource::Create();if (video_device) {rtc::scoped_refptr<webrtc::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_refptr<webrtc::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 handle,call。可以产生多个PC对象,PC对象之间相互不关联。
在这里插入图片描述
std::unique_ptr<SdpOfferAnswerHandler> sdp_handler_;用以处理sdp协商。
std::unique_ptr<Call> 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.yayakq.cn/news/169452/

相关文章:

  • 古典棕色学校网站模板iview做的网站
  • html5国外酷炫网站cod建站平台
  • 网站做了泛解析 为什么影响seo进入百度
  • 生活家装饰官方网站什么是跨境电商平台
  • 中国佛山营销网站建设太原展厅设计公司
  • 网站备案的服务器租用wordpress 报名表单
  • 西安企业建站设计比较好的网站
  • 1688网站怎么做南通制作手机网站
  • 兼职网站平台有哪些wordpress文章分类显示
  • 网站地址栏小图标加强本单位政务网站建设
  • php网站开发视频网站去哪接单做网站
  • 使用vue做单页面网站自己怎么做电影网站可以赚钱吗
  • 学做衣服上什么网站好网站开发人力成本
  • 网站开发建设类合同黑龙江建设网监理证书
  • 全国蔬莱网站建设营销团队名字
  • 宝塔可以做二级域名网站么专业app制作开发公司
  • 同城同镇网站建设wordpress菜单栏添加
  • 网站建设时间怎么查昆明公司有哪些
  • 导购网站开发源码微信小程序怎么做链接
  • 如何批量建站郑州今天的最新消息
  • 网站开发维护的好处济宁网站建设常用解决方案
  • 辽宁营商建设局网站入侵WordPress网站
  • 个人网站免费源码大全企业网站开发数据库设计
  • 怎么做百度网站会显示图片在旁边wordpress怎么发邮件
  • wordpress 本地建站传奇世界页游
  • 美丽说网站案例分析南宁专业网站制作公司
  • 在百度做网站需要什么资料最好看的电视剧大全免费观看免费
  • 宝应县城乡建设局网站建网站域名后怎样做
  • 郑州公路建设有限公司网站广告设计公司经营
  • 自做业务网站网站开发是什么语言