WebM中的PCM支持,以及Chrome的WebM实现

Bra*_*rad 3 google-chrome webm html5-audio web-mediarecorder

WebM是否支持音频编解码器的PCM?

我不认为它确实如此,但我在WebM文档页面上看到支持BitDepth具有以下注释的字段:

BitDepth - 每个样本的比特,主要用于PCM.

如果WebM确实支持PCM,那么Chrome的实现呢?如果是这样,MediaRecorder使用的适当内容类型是什么?这些都是假的:

MediaRecorder.isTypeSupported('video/webm;codecs=h264,pcm');
MediaRecorder.isTypeSupported('video/webm;codecs=h264,wav');
MediaRecorder.isTypeSupported('video/webm;codecs=h264,adpcm');
MediaRecorder.isTypeSupported('video/webm;codecs=h264,pcm_s16le');
MediaRecorder.isTypeSupported('audio/wav');
Run Code Online (Sandbox Code Playgroud)

Sep*_*ehr 5

最新的Chromium现在支持PCM.以下是MediaRecorder Chromium 中有效mime类型列表的参考.

作为快照,以下是Google Chrome版本64.0.3282.167(官方版本)(64位)中目前支持的快照:

MediaRecorder.isTypeSupported("video/webm")
MediaRecorder.isTypeSupported("video/webm;codecs=vp8")
MediaRecorder.isTypeSupported("video/webm;codecs=vp9")
MediaRecorder.isTypeSupported("video/webm;codecs=vp8.0")
MediaRecorder.isTypeSupported("video/webm;codecs=vp9.0")
MediaRecorder.isTypeSupported("video/webm;codecs=h264")
MediaRecorder.isTypeSupported("video/webm;codecs=H264")
MediaRecorder.isTypeSupported("video/webm;codecs=avc1")
MediaRecorder.isTypeSupported("video/webm;codecs=vp8,opus")
MediaRecorder.isTypeSupported("video/webm;codecs=vp8,pcm")
MediaRecorder.isTypeSupported("video/WEBM;codecs=VP8,OPUS")
MediaRecorder.isTypeSupported("video/webm;codecs=vp9,opus")
MediaRecorder.isTypeSupported("video/webm;codecs=vp9,pcm")
MediaRecorder.isTypeSupported("video/webm;codecs=vp8,vp9,opus")
MediaRecorder.isTypeSupported("video/webm;codecs=h264,opus")
MediaRecorder.isTypeSupported("video/webm;codecs=h264,vp9,opus")
MediaRecorder.isTypeSupported("video/x-matroska;codecs=avc1")
MediaRecorder.isTypeSupported("audio/webm")
MediaRecorder.isTypeSupported("audio/webm;codecs=opus")
MediaRecorder.isTypeSupported("audio/webm;codecs=pcm")
Run Code Online (Sandbox Code Playgroud)

请注意,如果您正在运行Chromium,则需要构建它,以proprietary_codecs支持一些使用h264/avc1的更具异国情调的工作.