【问题标题】:ffmpeg - converting webm videos generated by Chrome is slowffmpeg - 转换 Chrome 生成的 webm 视频很慢
【发布时间】:2020-07-11 08:17:37
【问题描述】:

我以两种不同的方式生成 webm 文件。一种使用 Chrome WebRTC MediaRecorder,另一种使用 js 库逐帧生成 webm 视频 (webm-writer-js)。生成的视频文件大小差别不大,快的是慢的60%,但速度相差1000%

使用基本的 ffmpeg 语法-i input.webm output.mp4,使用 Chrome 的媒体记录器创建的文件实际上需要将近 10 倍的时间来转换。转换日志略有不同,但总体看起来与我的新手眼睛非常相似。左边是快速转换,右边是慢速。

快速的会抛出一点错误,但转换似乎成功。在慢速转换中,您可以看到处理了许多帧,在快速转换中好像只有一个(非常快)。使用-preset veryfast 可以将两者的速度时间缩短一半,但质量损失是显而易见的。

知道如何在不影响质量的情况下加快 Chrome 生成的视频的转换速度吗?非常感谢!

【问题讨论】:

    标签: ffmpeg webrtc


    【解决方案1】:

    Chrome 的文件被检测为具有 1000/s 的帧速率。应该是 30 fps。

    两种解决方法 - 强制视频同步到可变帧速率

    -i input.webm -vsync vfr output.mp4
    

    或强制输出速率

    -i input.webm -r 30 output.mp4
    

    【讨论】:

    • 更改了标题,以便其他人更容易发现您的解决方案。
    • 注意:Chrome 生成的文件没有设置 WebM 的 DefaultDuration(参见 CL 发生的地方),这可能会导致 1000fps 的错误检测。
    猜你喜欢
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2016-09-27
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多