如何在 Chrome 浏览器中从 MediaStream 制作 mp4

oti*_*i10 3 javascript google-chrome ffmpeg mediarecorder

MediaRecorder.isTypeSupported('video/mp4')false在Chrome。所以我找到了MediaStreamRecorder https://github.com/streamproc/MediaStreamRecorder然后我做了

var recorder = new MediaStreamRecorder(stream, {
  mimeType: 'video/mp4',
});
// also
recorder.mimeType = 'video/mp4';
Run Code Online (Sandbox Code Playgroud)

但输出是webm我检查过的ffmpeg -i

Input #0, matroska,webm, from '/Users/otiai10/Downloads/example.mp4':
  Metadata:
    encoder         : Chrome
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
Run Code Online (Sandbox Code Playgroud)

该视频可以在 Chrome 中播放,但不能在 QuickTime Player 上播放,这很明显。

这里有更多细节和(不是!)这个问题的工作示例。

据说muaz-khan/Ffmpeg.js可以将 webm 转换为 mp4,但文件大小很重要。

是否有任何解决方法可以录制并保存为 mp4?

oti*_*i10 7

好吧,那是我的误会。

https://github.com/streamproc/MediaStreamRecorder

MediaStreamRecorder 可以在 Chrome 上将音频录制为 WAV 并将视频录制为 WebM 或动画 gif

没有 mp4 可能。

  • 今天仍然如此吗?感谢分享! (2认同)