使用MediaRecorder指定编解码器 [英] Specifying codecs with MediaRecorder

查看:779
本文介绍了使用MediaRecorder指定编解码器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何指定与 MediaRecorder API ?我看到的唯一选择是 mimeType 这是不是'真的够了。在mimeType选项中编解码器的麻烦似乎不起作用。

pre $ var mediaRecorder =新的MediaRecorder(
outputMediaStream
),
{
mimeType:'video / webm; codecs =opus,vp8'
}
);

这会产生一个带有Vorbis和VP8的WebM流:

  FFMPEG STDERR:从'pipe:'输入#0,matroska,webm:
元数据:
编码器:QTmuxingAppLibWebM-0.0.1
持续时间:N / A,开始:0.000000,比特率:N / A
流#0:0(eng):视频:vp8,yuv420p,640x360,SAR 1:1 DAR 16:9,30 fps, 30 tbr,1k tbn,1k tbc(默认)
流#0:1(eng):音频:vorbis,44100 Hz,立体声,fltp(默认)
pre>

如果我制作一个只有音轨(无视频)的MediaStream,则MediaRecorder会在Ogg容器中输出Opus音频:

  FFMPEG STDERR:从'pipe:'输入#0,ogg:
持续时间:N / A,开始:0.000000,比特率:N / A
Stream#0:0:Audio:opus,48000 Hz,stereo,fltp
元数据:
ENCODER:Mozilla44.0.2

如何在带有MediaR的WebM容器中使用VP8视频获取Opus音频ecorder API?

Firefox v44.0.2

解决方案

isTypeSupported(), mimeType = 18& dr = Crel =nofollow> Chrome LayoutTests c>在那里应该适用于 MediaRecorder 的构造函数。


How can I specify the codecs used with the MediaRecorder API? The only option I see is for mimeType which isn't really sufficient. Cramming in the codecs in the mimeType option doesn't seem to work.

var mediaRecorder = new MediaRecorder(
    outputMediaStream
  ),
  {
    mimeType: 'video/webm; codecs="opus,vp8"'
  }
);

This results in a WebM stream with Vorbis and VP8:

FFMPEG STDERR: Input #0, matroska,webm, from 'pipe:':
  Metadata:
    encoder         : QTmuxingAppLibWebM-0.0.1
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0(eng): Video: vp8, yuv420p, 640x360, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)

If I make a MediaStream that only has an audio track (no video), then the MediaRecorder outputs Opus audio in an Ogg container:

FFMPEG STDERR: Input #0, ogg, from 'pipe:':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Audio: opus, 48000 Hz, stereo, fltp
    Metadata:
      ENCODER         : Mozilla44.0.2

How can I get Opus audio with VP8 video in a WebM container with the MediaRecorder API?

Firefox v44.0.2

解决方案

Check out the Chrome LayoutTests for isTypeSupported(), the mimeType used there should be applicable to the MediaRecorder constructor.

这篇关于使用MediaRecorder指定编解码器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆