如何通过youtube API更改YouTube视频的内容?

时间:2016-12-06 23:05:50

标签: video youtube youtube-api youtube-data-api

我有一个网站,允许用户链接YouTube视频。我们检查他们所有的家庭友好。但是,youtube视频创作者可以修剪视频,这意味着更改开始和放大视频的结束时间,改变显示的内容。这种类型的更改可以缩小视频,或者可以恢复为延长视频或两者的组合,这可能会导致完全不同的视频内容集。

如果实际显示的帧已更改,我们希望能够检测到这些类型的更改并重新检查视频。我们不能简单地查看更改的持续时间,因为用户可以撤消修剪然后重新修剪到完全相同的长度,我们不会注意到。修剪也不会改变视频的发布日期。

我们正在使用youtube api,例如:

https://www.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails%2CrecordingDetails%2Cstatus&id=[videoId]&key=[apiKey]

这为我们提供了大量数据,包括:

Duration - this doesn't always change when a video is trimmed (undo trim, trim again)
Title
Etag - this changes all the time
Thumbnails - These don't change when you trim
PublishedAt - this doesn't change when you trim

Etag的变化确实表明了一种变化,但它经常变化 - 任何时候标题改变,以及许多其他类型的变化。因此,我们会错误地提醒我们不需要适度的变更。

我们还考虑过抓取随机帧并随着时间的推移进行比较,但是没有公共API。

那么,我们如何使用API​​来检测视频内容是否已更改?

我在这里问,因为youtube建议在这里询问我在此问题中包含的标签:https://developers.google.com/youtube/v3/support

另请注意,如果使用现有API无法解决此问题,则表示向网站提交youtube链接的用户可以随意更改视频内容,而网站无法告知其更改内容合理的方式。即Youtube并没有给消费者一种验证框架和方式的方法。给定videoId中的声音不会改变。

1 个答案:

答案 0 :(得分:0)

你看看是否设置了fileDetails.creationTime属性?根据{{​​3}},这代表:

  

创建上传视频文件的日期和时间。

recordingDetails.recordingDate属性也可能是有意义的。如果指定了这些,则每次进行新上载时它们都可能会更改...