javascript - Safari 录制的 Angular 8 中的视频加速问题
问题描述
我已经在我的 Angular 项目中实现了 WebRTC 来录制视频。保存后我们可以将其发送到附件。这在 Windows 操作系统中正常工作,但在 mac safari 中,视频加速,30 秒视频仅变为 3 秒。这只发生在野生动物园中。
在这里开始视频。
mediaDevices.getUserMedia({ video: true, audio: true })
.then(webcamStream => {
this.webcamStream = webcamStream;
})
MediaRecorder 代码:
this.recorder = new MediaRecorder(this.webcamStream, {mimeType: 'video/mp4'});
this.recorder.onstart = () =>
this.zone.run(() => {
this.behaviorService.isRecording(true);
});
this.recorder.onstop = this.onRecorderStopped;
this.recorder.ondataavailable = (event) =>
this.zone.run(() => {
this.data = [...this.data, event.data];
});
this.recorder.start();
当视频停止时,它会保存在video/webm;codecs=h264这个 mimeType 中。我也尝试过使用视频/mp4,但它也无法正常工作
我可以获得适用于两种操作系统的任何解决方案吗?
解决方案
Safari.getUserMedia()
在 MediaRecorder 类方面是出了名的坏。
我可以获得适用于两种操作系统的任何解决方案吗?
还没有。纠缠苹果。同时在 MacOS 上使用 Chrome:它可以工作。
可能有一些技巧可以推荐以使其变得更好。但是您没有向我们展示您的MediaRecorder
代码:那是流被压缩的地方。
推荐阅读
- java - 找不到 ApacheJmeter_core.jar
- django - pip 找不到 django 3.x - 错误:没有找到 django==3.0.4 的匹配分布
- python - 使用 selenium 在当前页面上运行脚本
- neo4j - 如何优化三个具有相似特征的查询?(暗号)
- python-3.x - 为什么 python 列表发生了变化。我没有编码
- android - 创建 Pixel 4 虚拟设备
- regex - Ansible 剧本字符串搜索
- java - Tomcat 找不到 Java servlet 的开发版本
- asp.net - 如何通过服务器端向paypal发送参数
- unity3d - 在 Unity3D 中将纬度/经度/高度转换为 XYZ 坐标