首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将视频编解码器转换为vp9到mp4?

将视频编解码器转换为vp9到mp4?
EN

Stack Overflow用户
提问于 2020-10-14 07:03:38
回答 1查看 1.4K关注 0票数 2

我正在用js和选项录制getUserMedia函数的视频。

代码语言:javascript
复制
let options = {mimeType: 'video/webm;codecs=vp9'};
// here mediaStreamObj is stream returning from the getUserMedia
let mediaRecorder = new MediaRecorder(mediaStreamObj, options);

我希望编解码器是h264,我也尝试了视频/webm;codecs =h 264,在这里它将mime类型作为视频/x-matroska。

视频/MP4;编解码器=H 264-不支持抛出错误

我需要mimeType作为mp4和编解码器h264。

因为我正在做一个视频分析(亚马逊识别)。我希望在php中使用startLabelDetection来检测视频中的标签,而亚马逊只接受h264格式的视频。

https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-rekognition-2016-06-27.html#startlabeldetection

有谁可以用js(首选)或php将视频mime类型转换为mp4,这样我就可以将它与一起用于视频分析了吗?

预期mimetype:

您可以在这里检查mime类型,https://www.metadata2go.com/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-22 11:54:07

博士您不能从浏览器的MediaRecorder API中获取MP4。我相信,你可以让亚马逊的弹性代码转换器将webm转换成mp4。如果您还没有这样做,您还应该尝试将webm / h.264文件提供给Rekognition。

正如您已经意识到的,您的需求有两个部分,装箱和视频。我们需要一点词汇来详细回答你的问题。

拳击

首先是所谓的“装箱”或容器格式。https://www.webmproject.org/about/是一种基于马特罗斯卡的格式,反过来基于可扩展二进制标记语言 (EBML)。EBML是为Matroska开发的。它类似于XML,但占用的RAM和磁盘空间更少,因为它几乎没有那么冗长。https://www.webmproject.org/about/本身是一个开放的、免费的媒体文件标准。

另一种装箱格式是MPEG-4的,它几乎与苹果的mov电影文件格式相同,被称为mp4格式。

WebRTC有适合于数据报(而不是数据流)通信的装箱方案。不在你的问题范围之内。

编解码器

这些webm或mp4的盒子里有什么?音频和视频数据。(它们还可以根据需要包含其他时间同步数据流,如标题。)

后两个较新的编解码器需要更多的计算周期来压缩。而h.265仍然面临着巨大的专利负担。因此浏览器和其他通用软件通常使用前两种,即h.265和vp8。

浏览器能处理什么?

铬浏览器(Google,Edge)和火狐都有MediaRecorder API。它们可以生成包含音频和/或视频的webm盒装数据流。它们不能生成MP4盒式数据流。

这些浏览器的数据流(截至2020年10月)可以包含VP8或H.264编码的视频。对于视频数据,可用MIME类型

  • video/webm; codecs="vp8" (用于vp8)
  • x-matroska/webm; codecs="avc1.42E01E"video/webm; codecs="avc1.42E01E"用于H.264。

从形式上讲,您应该使用x-matroska/video而不是webm/video作为使用H.264的视频流的MIME类型,尽管这两种MIME类型都可以在浏览器中工作。webm标准要求其视频编解码器要么是vp8,要么是vp9,因此从形式上讲,video/webm; codecs="avc1.42E01E"不符合该标准。

Javascript模块

  • npm ebml可以将数据解压缩和装箱到webm流中。我在大规模生产中使用了它的解装箱功能。它起作用了。
  • NPMMP4-盒编码可以将数据装箱到mp4流中。我没用过这个。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64348180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档