Mediarecorder不会产生有效的WebM文件
MediaRecorder.isTypeSupported()返回true用于'视频/webm','video/webm; codecs = avc1'和'video/webm; codecs = vp9'. 但是,只有mimetype ='video/webm; codecs = vp9'在有效的webm文件('video/webm; codecs; codecs = vp9,opus')中. 将MimeType设置为"视频/WebM"和" Video/WebM; codecs = avc1''in Video/x-Matroska; codecs = avc1,opus'文件,这不是有效的WebM视频. 这是Mediarecorder错误,Chrome Bug还是我缺少某些内容?\ 软件:Chrome 85,MacOS 10.15.我没有在Windows或Linux上尝试过. 解决方案 复制: const wantMimeType = 'vide
14 2023-11-18
编程技术问答社区
iPhone:mkv/mka解析库
这听起来可能是一个新手问题,但是我是iOS开发人员的新手. 是否有iOS的MKV解析器库,请建议一些链接. 我也想知道他们的许可是否与苹果的应用程序商店条款不冲突? 预先感谢! 解决方案 必须回答我自己的问题,我的研究结果是.以下项目可用于实现上述功能libvlc,libvlccore和libvlc更多信息.在此处
66 2023-05-07
编程技术问答社区
如何单独播放由MediaRecorder创建的WEBM文件?
为了录制音频和视频,我在 MediaRecorder API.我必须单独播放每个创建的 webm 文件. Mediarecorder api 仅将标头信息插入到第一个块(webm 文件)中,因此其余块在没有标头信息的情况下不会单独播放. 如建议 链接 1 和 link 2,我已经从第一个块中提取了头信息, // for the most regular webm files, the header information exists // between 0 to 189 Uint8 array elements const headerIinformation = arrayBufferFirstChunk.slice(0, 189); 并将此标头信息附加到第二个块中,第二个块仍然无法播放,但这次浏览器显示视频的海报(单帧)和两个块总和的持续时间,例如:10秒;每个块的持续时间为 5 秒. 我用十六进制编辑器做的同样的标题信息.我在编辑器中打开了 webm
152 2022-08-18
编程技术问答社区
如何将不同帧分辨率的VP8轨道转换为h264
我有一个带有 VP8 轨道的 .webm 文件,由外部服务(TokBox 归档)从 WebRTC 流中记录.流是自适应的,因此轨道中的每一帧都可以有不同的分辨率.大多数播放器(在 webkit 浏览器中)使用轨道描述中的视频分辨率(始终为 640x480)并将帧缩放到此分辨率.Firefox 和 VLC 播放器使用真实帧分辨率,分别改变视频分辨率. 我想实现 2 个目标: 无需额外安装插件即可在 Internet Explorer 9+ 中播放此视频. 将帧分辨率更改为一种固定分辨率,因此视频在不同浏览器中的显示效果相同. 所以,我的计划是: 从源 webm 文件中提取帧到具有真实帧分辨率(例如 PNG 或 BMP)的图像(我该怎么做?) 查找图片的最大宽度和最大高度 为图像添加黑色填充,因此较小的帧将位于新帧的中心(大小为 MAX_WIDHTxMAX_HEIGHT) 使用 ffmpeg 将图像组合到 h264 轨道 一切都正确吗?我怎样才能做到这一
1342 2022-07-19
编程技术问答社区