如何检测YouTube视频是否没有缩略图并仅使用默认图像?

时间:2013-07-18 19:29:05

标签: youtube-api

我正在使用YouTube API检索视频,但我想排除使用默认(灰色)图像作为缩略图的结果。因为上传者没有选择缩略图吗?

这样做的最佳方法是什么?因为我认为数据中没有标志来反映这一点。

我正在使用youtube api的v3。

感谢。

2 个答案:

答案 0 :(得分:0)

在最近的一个项目中,我发现了一种hacky但有用的方法,可以从YouTube API获取每个视频的相关缩略图。

在每个视频记录返回的缩略图中,看起来JSON中的第四个缩略图可靠地是视频的识别帧。

下面,在我的fetch_movie_history方法中,我将第四个电影缩略图的网址保存到我的电影记录中,以便我以后可以显示它。

def fetch_movie_history

  watch_history = self.youtube_client.watch_history
    watch_history.videos.each do |video|
      movie = Movie.find_or_create_by(unique_id: video.unique_id)
      movie.title = video.title
      movie.description = video.description
      movie.url = video.player_url
      movie.thumbnail = video.thumbnails[3].url
      movie.save
      self.movies << movie
    end
end

这是我在页面上使用的缩略图的示例截图(在样式化之前):

example of thumbnail from fourth record in YouTube API JSON

底部的描述来自API返回的视频记录,因此您可以看到它与缩略图很好地匹配。

希望这有帮助!祝你好运。

答案 1 :(得分:0)

我找到了另一个解决方案。我实现了一个节点服务来读取图像标题并将大小与“无图像”图像的大小进行比较,从而在从我的数据库中找到时删除记录。

相关问题