如何判断youtube视频的内容何时因youtube API而发生变化?

fas*_*ion 7 youtube video 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]
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

小智 -1

您是否查看了 fileDetails.creationTime 属性是否已设置?根据文档,这代表:

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

RecordingDetails.recordingDate 属性可能也很有趣。如果指定了这些,它们可能会在每次新上传时发生变化......