amnuts/jwplayer-thumbnail-preview-generator

一个简单而有效的命令行工具,用于生成视频缩略图以及相应的VTT文件,用于JW Player内部以实现工具栏视频预览功能。

v1.1.3 2016-02-12 12:41 UTC

This package is auto-updated.

Last update: 2024-09-09 20:22:06 UTC


README

一个简单而有效的命令行工具,用于生成视频缩略图以及相应的VTT文件,用于JW Player内部以生成工具栏缩略图预览。

Flattr this git repo

需求

需要FFmpeg来生成缩略图。如果你已安装libav-tools并且二进制文件名不是ffmpeg(或者即使你有ffmpeg但安装在不同的位置),则可以修改$params信息以指向你的特定ffmpeg安装。

需要PHP 5.4+,因为代码使用了短数组语法和CallbackFilterIterator。

入门指南

使用此脚本有两种入门方式

  1. 简单地复制/粘贴或将thumbnails.php下载到你的服务器
  2. 通过运行以下命令使用composer安装
composer require amnuts/jwplayer-thumbnail-preview-generator

如何使用生成器

最简单的示例

典型使用方法可能如下所示

php thumbnails.php -i "/input/video.mp4"

这将生成视频的缩略图,合并成一个文件(精灵图),并生成所需的VTT文件,该文件指定要显示的缩略图以及在精灵图中的位置。

详细输出

如果你不想生成精灵图,则包含-v选项以生成详细输出,即所有缩略图都是单独的文件,VTT文件指向每个文件。

php thumbnails.php -i "/input/video.mp4" -v

建议使用默认合并文件,因为它在加载时比单个图像更优。

更改输出目录

你可以使用-o选项更改输出目录

php thumbnails.php -i "/input/video.mp4" -o "/output/directory"

这将把图像和VTT文件写入提供的目录(默认是在生成器脚本相同的目录中写入)。

更改缩略图之间的时间

要更改默认缩略图之间的时间,请使用-t选项并指定每两个缩略图之间的秒数

php thumbnails.php -i "/input/video.mp4" -t 30

这将每30秒视频生成一个缩略图。

更改缩略图宽度

要更改缩略图的宽度,请使用-w选项并指定像素大小

php thumbnails.php -i "/input/video.mp4" -w 75

这将生成宽度为75像素的缩略图。高度是自动的,与视频大小成比例。

生成海报图像

该工具还提供了在生成缩略图的同时从视频的随机帧生成海报文件的能力。为此,请使用-p选项

php thumbnails.php -i "/input/video.mp4" -p

如何在JW Player中包含

用于JW Player的代码可能如下所示

<div id="video">video loading...</div>
<script>
    jwplayer("video").setup({
        playlist: [{
            file: "/input/video.mp4",
            image: "poster.jpg",
            tracks: [{
                file: "thumbnails.vtt",
                kind: "thumbnails"
            }]
        }]
    });
</script>

许可证

MIT: http://acollington.mit-license.org/