Javascript 将视频编解码器转换为vp9到mp4?
我正在用js中的getUserMedia函数录制视频,带有选项Javascript 将视频编解码器转换为vp9到mp4?,javascript,video,getusermedia,amazon-rekognition,web-mediarecorder,Javascript,Video,Getusermedia,Amazon Rekognition,Web Mediarecorder,我正在用js中的getUserMedia函数录制视频,带有选项 let options = {mimeType: 'video/webm;codecs=vp9'}; // here mediaStreamObj is stream returning from the getUserMedia let mediaRecorder = new MediaRecorder(mediaStreamObj, options); 我希望编解码器是h264我也尝试过 视频/网络媒体;编解码器=h264 在
let options = {mimeType: 'video/webm;codecs=vp9'};
// here mediaStreamObj is stream returning from the getUserMedia
let mediaRecorder = new MediaRecorder(mediaStreamObj, options);
我希望编解码器是h264我也尝试过
视频/网络媒体;编解码器=h264
在这里,它将mime类型设置为video/x-matroska
视频/mp4;编解码器=h264-不支持引发错误
我需要模拟类型为mp4和编解码器h264
我正在做视频分析(亚马逊识别)。我想在php中使用StartAbelDetection来检测视频中的标签,amazon只接受h264格式的视频
有没有人可以用js(preferrable)或php将视频mime类型转换为mp4,以便我可以将其与amazon Rekognion一起用于视频分析
预期mimetype:
您可以在此处检查mime类型tl;dr您无法从浏览器中获取MP4。我相信,您可以使用亚马逊的弹性转码器将webm转换为mp4。如果您还没有这样做,您还应该尝试将您的webm/h.264文件提供给Rekognition 正如您所意识到的,您的需求分为两部分:拳击和视频。我们需要一些词汇来详细回答你的问题 拳击 首先是所谓的“装箱”或容器格式。是一种基于,依次基于(EBML)的格式。EBML是为Matroska开发的。它与XML类似,但占用更少的RAM和磁盘空间,因为它几乎没有XML那么详细。它本身是媒体文件的开放和免版税标准 另一种装箱格式是’s。它几乎与苹果的mov电影文件格式相同,被称为mp4格式 WebRTC有自己的适合于数据报(而不是数据流)通信的装箱方案。超出了你的问题范围 编解码器 那些webm或mp4盒子里装的是什么?音频和视频数据。(根据需要,它们还可以包含其他时间同步的数据流,如字幕。)
- 也称为高级视频编码、MPEG-4第10部分或AVC
- ,这是由On2开发的开源、无专利的编解码器,被谷歌收购
- 也称为高效视频编码或HEVC
- ,这是谷歌最新开发的开源、无专利的编解码器
(适用于vp8)video/webm;codecs=“vp8”
或x-matroska/webm;codecs=“avc1.42E01E”
用于H.264视频/webm;编解码器=“avc1.42E01E”
x-matroska/video
而不是webm/video
作为使用H.264的视频流的MIME类型,即使这两种MIME类型在浏览器中都可以工作。webm标准要求其视频编解码器为vp8或vp9,因此video/webm;codecs=“avc1.42E01E”
,从形式上讲,不符合该标准
Javascript模块
- 可以将数据取消装箱并装箱到webm流中。我已经在大规模生产中使用了它的拆箱功能。它起作用了
- 可以将数据放入mp4流中。我没用过这个
后面应该放什么,有很好的解释。chrome(js)不支持它,您可以通过MediaRecorder.isTypeSupported('video/mp4;codecs=“avc1.4d002a')检查它
它的值为false。我的主要目标是使用h264编解码器获取视频,以便将其用于aws识别。我花了太多时间试图通过反复试验来找出所有这些MIME类型的情况。MediaRecorder API确实需要EnumeratedTypes()
call。我希望这封信能为其他人节省我所花的时间。