我想创建一个带有ffmpeg的thubnail,里面有一个游戏(如上面的图片;从Dan Meyer网站获取),以显示它是视频而不是图像。
答案 0 :(得分:2)
如果您的用例也适用于网站,则可以分两步完成:首先创建缩略图,然后使用HTML5 / CSS为结果图像添加播放按钮的叠加层。
以下内容将在视频中创建缩略图10秒(作为示例):
ffmpeg -i video.mp4 -ss 00:00:10.0 -vframes 1 thumb1.png
你可以通过CSS添加一个播放按钮,参考你的视频元素:
.video a {
position: absolute;
background: url("path.../playButton.png");
height: 20px;
width: 20px;
top: 20px;
left: 20px;
}
让它具有响应性,因此定位正确值得一些思考 - 这里有一篇帖子更详细:http://douglasgreen.com/demo/responsive-video-play-button/
这种方法的优点是允许您将PlayButton外观与缩略图生成分开,并且它也可能比通过FFMPEG执行两者的处理更少(尽管要确保这必须进行测试和定时,并且它是创建图像与浏览器处理的处理之间的权衡。)
如果您的用例不适用于网站,或者您想要一次性完成所有操作,则以下内容(来自此答案:https://stackoverflow.com/a/25499933/334402)应指向正确的方向:
ffmpeg -ss 30 -i movie.mp4 -i play.png -filter_complex \
"[0:v][1:v]overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2" \
-vframes 1 output.png