适用于 android 和 ios 的 twilio webrtc mediastream contentHint

Posted

技术标签:

【中文标题】适用于 android 和 ios 的 twilio webrtc mediastream contentHint【英文标题】:twilio webrtc mediastream contentHint for android and ios 【发布时间】:2022-01-17 14:53:31 【问题描述】:

我想优先考虑帧细节而不是帧速率。 视频媒体流中有一个名为 contentHint 的参数,但可能无法通过 twilio sdk 设置

https://www.w3.org/TR/mst-content-hint/

细节

应将轨道视为视频细节尤为重要。 这通常适用于带有文本内容的演示文稿或网页, 绘画或线条艺术。 此设置通常会针对生成的单个帧中的细节进行优化 而不是流畅的播放。量化或缩小造成的伪影 应避免使小文本或线条艺术难以理解。

https://github.com/twilio/twilio-video-ios/issues/59

在这个 github issue 中,我发现 isScreencast 适合它。 但是网络带宽配置文件应该是实现它的官方方法。

但据我尝试,网络带宽配置文件无法实现“帧详细信息超过帧速率”。最好的方法是什么?

【问题讨论】:

【参考方案1】:

这里是 Twilio 开发者宣传员。

contentHint 属性设置在 MediaStreamTrack 上,因此您可以在 Twilio Video 应用程序中设置它。例如:

const stream = await navigator.mediaDevices.getUserMedia( video: true, audio: true );
const videoTrack = stream.getVideoTracks()[0];
const audioTrack = stream.getAudioTracks()[0];

videoTrack.contentHint = "detail";

const room = await Twilio.Video.connect(token,  tracks: [videoTrack, audioTrack] );

如果您在视频轨道上设置contentHint,然后将轨道直接传递给connect 方法,它们将被使用。

如果您想直接通过 Twilio Video SDK 进行设置,我推荐raising a ticket in the Video.js repo。

【讨论】:

我想设置为android sdk和iOS sdk 提出 android 和 ios 的问题我应该在哪里发帖? 您提到了MediaStreamTrack 的网络标准草稿属性,该属性在 iOS 或 Android 中不可用,因为每个平台上轨道的处理方式不同。没错,这不是网络带宽 API 的功能。如果您希望提出功能请求,我会与您的 Twilio 客户主管联系。 我的目标不是开发“contentHints”,而是实现“Frame Detail over Frame Rate”。如果可以用网络带宽api实现,还是可以的。 感谢您的信息,但您分享的 github 链接不可用,可能是 twilio 私人链接。我应该在哪里发帖?

以上是关于适用于 android 和 ios 的 twilio webrtc mediastream contentHint的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Android 和 iOS 的具有相互证书的消息安全性

适用于 Android 和 iOS 设备的 Titanium Appcelerator 蓝牙模块 [关闭]

适用于 Android 和 iOS 的跨平台开发

适用于 Android 和 IOS 的 HighChart 库 [关闭]

适用于 Android 和 iOS 的不同软件包版本

适用于 Android 和 iOS 的基于 websocket 的 MQTT