WebRTC 中的媒体流轨道简介

WebRTC 媒体轨道使用 MediaStreamTrack 接口管理。MediaStreamTrack 接口通常表示音频或视频数据流,并且 MediaStream 可能包含零个或多个 MediaStreamTrack 对象。

媒体轨道使用MediaStreamTrack接口管理,MediaStreamTrack的定义如以下代码所示:

interface MediaStreamTrack : EventTarget {
  readonly attribute DOMString kind;
  readonly attribute DOMString id;
  readonly attribute DOMString label;
  attribute boolean enabled;
  readonly attribute boolean muted;
  attribute EventHandler onmute;
  attribute EventHandler onunmute;
  readonly attribute MediaStreamTrackState readyState;
  attribute EventHandler onended;
  MediaStreamTrack clone();
  void stop();
  MediaTrackCapabilities getCapabilities();
  MediaTrackConstraints getConstraints();
  MediaTrackSettings getSettings();
  Promise<void> applyConstraints(optional MediaTrackConstraints
    constraints = {});
};

应用程序可以使用对象 RTCRtpSenderRTCRtpReceiver 对 MediaStreamTracks 的传输和接收进行更细粒度的控制。

WebRTC 中的媒体流轨道简介
VoIP 系统中的媒体流
WebRTC 中的媒体流轨道简介
WebRTC 通话中的媒体流

视频流

视频捕获与硬件功能不同步

WebRTC 兼容浏览器需要支持 Whie-balance , light level ,来自视频源的自动对焦

视频捕捉分辨率

除非在 SDP(会话描述协议)中指定,否则最小 WebRTC 视频属性为最小 20 FPS 和分辨率 320 x 240 像素。 

还支持中流分辨率更改,例如来自桌面共享的屏幕源。

分辨率、帧速率和比特率的 SDP 属性

SDP 允许独立于编解码器的首选视频分辨率指示,用于a=imageattr指示可接受的最大分辨率。 

发送方必须将编码分辨率限制为指定的最大大小,因为接收方可能无法处理更高的分辨率。

基于实际硬件编码的动态FPS控制

视频源捕获根据低带宽、光线条件差和硬件支持的速率调整帧速率,而不是强制提高 FPS。

流向

支持生成视频方向协调(CVO)机制的R0和R1位并与对等方共享。

音频流

音频电平

语音传输的音频电平,以避免用户必须手动调整播放并促进会议应用程序中的混合。

归一化考虑的是高于 300 Hz 的频率,而不管使用的采样率如何。可以通过将增益降低到低于 -19 dBm0 的水平或通过使用压缩器来进行调整以避免削波。

增益计算

  • 如果端点可以像普通电话一样控制整个音频捕获路径,
    则应调整增益,使普通说话者的活动语音电平为 2600 (-19 dBm0)。
  • 如果端点不能像软件端点那样控制整个音频捕获
    ,那么端点应该使用自动增益控制 (AGC) 将电平动态调整到 2600 (-19 dBm0) +/- 6 dB。
  • 对于音乐或桌面共享应用程序,电平不应自动调整,端点应允许用户手动设置增益。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论