使用 ffmpeg 创建一个带有播放图标的缩略图
Create a thumbnail with play icon inside with ffmpeg
我想用 ffmpeg 创建一个缩略图,里面有一个播放(如上图;取自 Dan Meyer 网站)以显示它是视频而不是图像。
如果您的用例也适用于网站,则可以分两步完成此操作 - 首先创建缩略图,然后使用 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;
}
使其响应迅速,因此它的位置正确值得考虑 - 这里有一个 post,其中包含更多详细信息:http://douglasgreen.com/demo/responsive-video-play-button/
这种方法的优点是允许您将 PlayButton 的外观和感觉与缩略图生成分开,而且与通过 FFMPEG 进行这两种操作相比,它的处理量可能更少(尽管要确保这必须经过测试和计时,这是创建图像的处理与浏览器处理之间的权衡)。
如果您的用例不是用于网站,或者您想要一次完成所有操作,则以下内容(来自此答案:)应该为您指明正确的方向:
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
我想用 ffmpeg 创建一个缩略图,里面有一个播放(如上图;取自 Dan Meyer 网站)以显示它是视频而不是图像。
如果您的用例也适用于网站,则可以分两步完成此操作 - 首先创建缩略图,然后使用 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;
}
使其响应迅速,因此它的位置正确值得考虑 - 这里有一个 post,其中包含更多详细信息:http://douglasgreen.com/demo/responsive-video-play-button/
这种方法的优点是允许您将 PlayButton 的外观和感觉与缩略图生成分开,而且与通过 FFMPEG 进行这两种操作相比,它的处理量可能更少(尽管要确保这必须经过测试和计时,这是创建图像的处理与浏览器处理之间的权衡)。
如果您的用例不是用于网站,或者您想要一次完成所有操作,则以下内容(来自此答案:)应该为您指明正确的方向:
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