Javascript 媒体录制器API生成的webm编码错误?

Javascript 媒体录制器API生成的webm编码错误?,javascript,google-chrome,html5-video,webm,mediarecorder-api,Javascript,Google Chrome,Html5 Video,Webm,Mediarecorder Api,当我用媒体录制器API录制视频并用VLC下载和打开它时,视频的长度是未知的 此外,在Chrome mobile(52.0.2743.98)上,如果我在视频标签中读取,则不会显示长度,currentTime将始终为0,并且ontimeupdate仅在视频结束时启动 在Chrome桌面(52.0.2743.116)上,虽然不显示长度,但ontimeupdate和currentTime似乎工作正常 我已经从网上录制并下载了视频。 视频是webm,因为它似乎是唯一的类型 有什么想法吗 来自ffpmeg的

当我用媒体录制器API录制视频并用VLC下载和打开它时,视频的长度是未知的

此外,在Chrome mobile(52.0.2743.98)上,如果我在视频标签中读取,则不会显示长度,currentTime将始终为0,并且ontimeupdate仅在视频结束时启动

在Chrome桌面(52.0.2743.116)上,虽然不显示长度,但ontimeupdate和currentTime似乎工作正常

我已经从网上录制并下载了视频。 视频是webm,因为它似乎是唯一的类型

有什么想法吗

来自ffpmeg的元数据:


libavutil 54。31.100 / 54. 31.100
libavcodec56。60.100 / 56. 60.100
libav56格式。40.101 / 56. 40.101
libav56设备。4.100 / 56.  4.100
libavfilter 5。40.101 /  5. 40.101
libswscale 3。1.101 /  3.  1.101
libswresample1。2.101 /  1.  2.101
Libroc 53。3.100 / 53.  3.100
输入#0,matroska,webm,来自“test.webm”:
元数据:
编码器:铬
持续时间:不适用,起始时间:0.000000,比特率:不适用
流#0:0(英语):音频:opus,48000 Hz,单声道,fltp(默认)
流#0:1(英文):视频:vp9(配置文件0),yuv420p(电视),480x640,SAR 1:1 DAR
3:4,30 fps,30 tbr,1k tbn,1k tbc(默认)
文件“metadata.txt”已存在。覆盖?[y/N]y
将#0,ffmetadata输出到“metadata.txt”:
元数据:
编码器:Lavf56.40.101
流映射:
大小=0kB时间=--577014:-32:-22.-77比特率=N/A
视频:0kB音频:0kB字幕:0kB其他流:0kB全局头:0kB muxing开销:未知

第二次在chrome桌面上播放时,我注意到它似乎工作得更好。我第一次得到了一个长度,但是进度条不稳定或者根本不起作用。视频很难处理,令人惊讶的是,它居然能工作。您可以使用ffmpeg对文件进行后期处理,为其提供更多的元数据,以实现更快的盲搜索、获得总播放时间等。您还可以跳到剪辑的结尾并返回到前面,这可能会让视频控件在第一次实时播放时顺畅工作。您好!这是Chrome中一个众所周知的bug;录制媒体的持续时间不会添加到最终文件的标题中。不幸的是,Chromium团队目前将此bug标记为WontFix。但是,有两种解决方法:-在后端,使用ffmpeg修复头文件:ffmpeg-i old.webm output.webm-在前端,解决方法是使用可能重复的包,您需要将此webm文件转换为其他格式,这样可以正常工作