拍摄 Youtube 视频的快照以编程方式创建预览 GIF

问题描述 投票:0回答:2

我使用 Youtube API 将内容集成到我的网站中。但是,它没有提供任何好的视频快照。它提供了一些几乎无法使用的非常低质量的快照。

https://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
https://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg

例如:

https://img.youtube.com/vi/XdwaASKJGxo/1.jpg
创建以下内容:

这张快照质量太差,无法使用。所以我需要自己做!

我的目标是为每个视频制作一个独特的缩略图/预览。我想以编程方式在视频中间拍摄 3 个视频快照,以避免介绍/结尾。然后我想拍摄这些快照并生成 GIF。

我知道如何使用 PHP 生成 GIF,但我找不到拍摄视频快照的方法。

是否可以使用 PHP 或 Python 来实现?或与此相关的任何其他代码。

例子:

python php gif
2个回答
0
投票

我终于找到了解决办法。最好的方法是使用 PageSpeed Insights API

方法如下:

  1. 使用 API 密钥启用 PageSpeed Insights API
  2. 将其定向到嵌入式 youtube 视频,例如 https://www.youtube.com/embed/VIDEOID?start=100 其中
    VIDEOID
    是视频 ID,
    start
    是以秒为单位的时间戳
  3. 从结果中提取
    final-screenshot

这里有一个很好的tutorial.


-1
投票

因为您还没有添加任何您使用过的代码或方法,所以我将给您一个概述(使用 python)。

由于 YouTube API 提供的快照质量不够好,您可能需要考虑使用不同的方法从视频中提取帧。您可以使用 FFmpeg 之类的工具定期从视频中提取多个帧,并根据需要调整帧的时间和帧速率。这也会让您更好地控制帧的时间和质量。有了框架后,您可以使用 ImageMagick 或 Pillow 等图形库将它们组合成单个 GIF 图像。

告诉我你过得怎么样!

© www.soinside.com 2019 - 2024. All rights reserved.