如何使用ffmpeg使html5 webm视频平滑滚动

如何使用ffmpeg使html5 webm视频平滑滚动,html,video,Html,Video,我使用的示例代码在用户滚动页面时显示(背景)视频的帧 示例中使用的webm视频在我的代码中播放得非常流畅,但是我的视频有点口吃,所以我假设问题出在视频本身 我用ffprobe来看看我是否能在没有运气的情况下分辨出这两个视频之间的区别。两者的比特率和长度相似,都是30fps 是否有一种推荐的方法来创建能够平滑“滚动”的html5视频文件,即快速响应window.requestAnimationFrame()调用?正确编码的ffmpeg命令会更好 window.requestAnimationFra

我使用的示例代码在用户滚动页面时显示(背景)视频的帧

示例中使用的webm视频在我的代码中播放得非常流畅,但是我的视频有点口吃,所以我假设问题出在视频本身

我用ffprobe来看看我是否能在没有运气的情况下分辨出这两个视频之间的区别。两者的比特率和长度相似,都是30fps

是否有一种推荐的方法来创建能够平滑“滚动”的html5视频文件,即快速响应window.requestAnimationFrame()调用?正确编码的ffmpeg命令会更好

window.requestAnimationFrame(scrollPlay);

谢谢

对于任何其他需要快速响应window.requestAnimationFrame()的html5视频的人来说,关键在于有足够多的关键帧,这将使“随机访问”更快。(我在videohelp.com论坛上得到了一些帮助。)

下面是一个示例ffmpeg命令,用于对.mp4视频进行编码,对于30fps的视频,每1/2秒使用关键帧进行一次编码。(见附件。)

下面是一个示例ffmpeg命令,用于对VP8.webm视频进行编码,对于30fps的视频,每1/2秒使用一个关键帧。(见附件。)


注意:不能简单地将关键帧“插入”到现有视频中。视频必须重新编码。

您有关于此问题的视频样本吗?比较一下这个webm文件是用:ffmpeg-i pencils.MOV-vcodec libvpx-acodec libvorbis输出创建的,这会很有趣。webm@Offbeatmammal,下面的视频是一个很好的示例,使用上面的ffmpeg命令针对iPhone MOV视频创建:下面是“好的”从滚动平滑的同一服务器托管的视频:我注意到的最大区别是帧大小(“好”版本为640x360),因此帧的加载速度更快、更平滑,“好”版本为30+s vs 4s,因此在源代码中滚动的帧要少得多(版本之间的质量也非常明显)。我尝试了一个大兔子夹的快速样品,它似乎玩得更好
ffmpeg -i inputVideo -c:v libx264 -preset slow -crf 22 -x264-params keyint=15 outputVideo.mp4
ffmpeg -i inputVideo -c:v libvpx -crf 4 -b:v 1200K -keyint_min 15 -g 15 -f webm -dash 0 outputVideo.webm