我有一個網站,允許用戶鏈接YouTube視頻。我們檢查他們所有的家庭友善。但是,YouTube視頻創作者可以修剪視頻,這意味着更改視頻的開始結束時間,更改顯示的內容。這種類型的變化可以縮小視頻,或者可以恢復爲延長視頻或兩者的組合,這可能導致完全不同的視頻內容集合。如何知道youtube視頻的內容何時隨youtube API發生變化?
我們希望能夠檢測到這些類型的變化,並在實際顯示的幀發生變化時重新檢查視頻。我們不能簡單地查看更改的持續時間,因爲用戶可以撤消修剪,然後重新修剪到完全相同的長度,並且我們不會注意到。修剪也不會更改視頻的發佈日期。
我們使用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內的幀的聲音不會改變。
「Youtube不會爲消費者提供驗證給定videoId中的幀和聲音不會更改的方法。」我無法想象他們(谷歌)真的非常關心。這是一個非常具體的利基邊緣案例。 – ceejayoz