什么是生成与".VTT"文件和附带的jpg精灵图最佳方法,用于Jwplayer的Tooltip Thumbnails(http://www.jwplayer.com/blog/building-tooltip-thumbnails-with-encodingcom/-)?
我知道如何使用php制作图像精灵,但我不知道如何在每个视频的时间点截取屏幕截图。我认为必须有一个服务器工具来完成所有任务,但我找不到它。
谢谢
什么是生成与".VTT"文件和附带的jpg精灵图最佳方法,用于Jwplayer的Tooltip Thumbnails(http://www.jwplayer.com/blog/building-tooltip-thumbnails-with-encodingcom/-)?
我知道如何使用php制作图像精灵,但我不知道如何在每个视频的时间点截取屏幕截图。我认为必须有一个服务器工具来完成所有任务,但我找不到它。
谢谢
ffmpeg -i ../archive/myvideofile.mp4 -f image2 -bt 20M -vf fps=1/45 thumbs/myvideofile/tv%03d.png
将这些缩略图调整为小尺寸,例如宽度为100像素
sips --resampleWidth 100 thumbs/myvideofile/tv001.png thumbs/myvideofile/tv002.png thumbs/myvideofile/tv003.png
如果没有Sips,则可以使用ImageMagick实用程序:
mogrify -geometry 100x thumbs/myvideofile/tv001.png thumbs/myvideofile/tv002.png thumbs/myvideofile/tv003.png
使用ImageMagick实用程序获取其中一个缩略图的高度和宽度尺寸,作为网格坐标的基础
identify -format "%g - %f" thumbs/myvideofile/tv001.png
输出结果如下: 100x55+0+0 - tv001.png
我们从中解析出100和55作为宽度和高度,以及每个缩略图的基本几何信息(W,H,X,Y)
然后我们从单个缩略图生成单个精灵贴图。我们根据为该视频生成的缩略图数量确定目标网格大小(例如2x2,8x8),并使用ImageMagick实用程序传递精灵图形参数。
montage thumbs/myvideofile/tv*.png -tile 2x2 -geometry 100x55+0+0 thumbs/myvideofile/myvideofile_sprite.png
可选择在此处执行额外的压缩步骤以使精灵图更小
optipng thumbs/myvideofile/myvideofile_sprite.png
我们会根据创建的缩略图数量生成VTT文件,使用我们用来分隔缩略图的间隔来标记每个时间段,并利用我们所知道的与每个连续图像对应的部分映射到关联段的坐标。
which sips
确认您已经安装了它。如果您看到它,我建议手动运行 sips --resampleWidth 100 yourfilewhatever.png
来查看返回结果(当然要将文件名替换为合法的文件名)。 - randalvmovie = Jwthumbs::Movie.new("YOUR_VIDEO.mp4")
Jwthumbs::Movie.new
接受第二个参数作为 options
哈希。您可以像这样在实例化视频时同时配置多个内容:
movie = Jwthumbs::Movie.new("YOUR_VIDEO.mp4", seconds_between: 60, sprite_name: "my_sprite_name.jpg")
在实例化视频之后,您可以使用Jwthumbs::Movie
文件来配置相关事项:
movie = Jwthumbs::Movie.new("YOUR_VIDEO.mp4")
movie.seconds_between = 60
movie.sprite_name = "my_sprite_name.jpg"
然后创建缩略图和 .VTT 文件,只需运行此命令。
movie.create_thumbs!
只需运行mt并提供任何视频文件作为参数:
mt video.avi
一些设置可以通过直接提供给mt的运行时标志进行更改,有关更多信息,请运行
mt --help
您可以使用encoding.com的API,并告诉他们同时导出vtt文件
我建议阅读encoding.com知识库中的“如何为JW播放器创建时间同步缩略图?”解释。
使用电影缩略图生成器(mtn),这是一个在UNIX、Windows系统上运行的命令行工具。但是您将需要编写自定义脚本来生成相应的VTT文件