问题描述
已解决
更新:
--------------------------------------
如果你不喜欢我的问题,或者我在下面的回答,请告诉我为什么。我哪里出错了?
---------------------------------------
请帮帮我。我使用 MediaRecorder 用 JavaScript 录制视频,然后将其存储在我的服务器上。
VLC 播放器可以很好地播放视频,但是浏览器很难播放。在 IOS 上录制的视频在浏览器开始播放前最多加载 2 分钟(看起来浏览器在播放之前完全加载了视频)。来自 android 的视频不包含时间轴,但启动速度要快得多。
我通过快速重新编码修复的来自 android 的视频 ffmpeg -i without_timeline.webm -c copy fixed.webm
效果很好。
我尝试使用类似的命令 ffmpeg -i long_started.mp4 -c copy fixed.mp4
修复来自 IOS 的视频,但结果更糟。
有很多错误
输出流 0:0 中的非单调 DTS;
输出流 0:1 中的非单调 DTS;
新视频旋转、冻结、重复和错误时间。
我花了一个星期,但没有成功。
解决方法
我已经设法修复它。我使用了 repo 中的 ffmpeg,它是 4.2 版。尝试从官网下载最新版本(4.4),终于成功了,这个版本修复了DTS,增加了元数据,视频播放效果很好。