为了账号安全,请及时绑定邮箱和手机立即绑定

WebRTC 远程流大小太大

WebRTC 远程流大小太大

动漫人物 2021-08-20 18:18:13
我正在尝试在 WebRTC 呼叫中录制远程视频流。我认为主要问题是我不能使用编解码器来压缩录制的视频。我试过这个代码  let options = {mimeType: 'video/mp4;codecs=vp9'};  if (!MediaRecorder.isTypeSupported(options.mimeType)) {    console.error(`${options.mimeType} is not Supported`);  options = {mimeType: 'video/mp4;codecs=vp8'};  if (!MediaRecorder.isTypeSupported(options.mimeType)) {  console.error(`${options.mimeType} is not Supported`);  options = {mimeType: 'video/mp4'};  if (!MediaRecorder.isTypeSupported(options.mimeType)) {    console.error(`${options.mimeType} is not Supported`);    options = {mimeType: ''};  }}}在上面的片段中,我正在尝试 .mp4 类型,但编解码器被拒绝。如果我尝试使用其他编解码器(如 h.264 而不是 vp9),也会发生同样的情况。唯一接受的文件类型是带有 vp9 编码的 .webm,但它的大小太大。
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

并非所有浏览器都支持您尝试使用的所有格式。在任何情况下,您都在抱怨 VP9 的输出太大,但它是可用的最有效的编解码器之一。


您的实际问题是默认比特率太高,而您没有设置它们。试试这个:


const mediaRecorder = new MediaRecorder(stream, {

  audioBitsPerSecond: 128 * 1000, // 128 kbit/s

  videoBitsPerSecond: 2 * 1000 * 1000, // 2 Mbit/s

});

根据您的质量/文件大小权衡需要调整这些值。


查看完整回答
反对 回复 2021-08-20
  • 2 回答
  • 0 关注
  • 282 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信