2016-12-06 21 views
6

Mam stronę, która pozwala użytkownikom na łączenie filmów z youtube. Sprawdzamy je wszystkie dla przyjazności dla rodziny. Twórcy filmów youtube mogą jednak przycinać wideo, co oznacza zmianę czasu zakończenia filmu na &, zmieniając to, co zostało wyświetlone. Ten rodzaj zmiany może zmniejszyć film lub można go cofnąć, aby wydłużyć film lub połączenie tych dwóch elementów, co może skutkować zupełnie innym zestawem treści wideo.Jak mogę sprawdzić, kiedy zawartość wideo youtube zmienia się za pomocą interfejsu API youtube?

Chcemy być w stanie wykryć tego rodzaju zmiany i ponownie sprawdzić wideo, czy rzeczywiście pokazane ramki uległy zmianie. Nie możemy po prostu spojrzeć na zmienione czasy trwania, ponieważ użytkownik może cofnąć wykończenie, a następnie ponownie przyciąć do dokładnie tej samej długości, a my nie zauważylibyśmy. Przycinanie nie zmienia również daty publikacji filmu.

używamy youtube api np

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

co daje nam wiele danych, w tym:

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 

Przewijak wytycznych nie wskazują na zmiany, ale zmienia się zbyt często - za każdym razem, gdy zmienia się tytuł i wiele innych zmian. To by ostrzegało nas fałszywie za zmianami, które nie wymagają umiaru.

Zastanawialiśmy się również, czy nie można pobrać losowych ramek i porównywać je z czasem, ale nie ma tam publicznego interfejsu API.

W jaki sposób możemy wykorzystać interfejs API do wykrycia zmiany treści wideo?

Pytam tutaj bo youtube zaleca prosząc tutaj o znaczniki mam włączone w tej kwestii: https://developers.google.com/youtube/v3/support

Należy również pamiętać, że jeśli ten problem nie może być rozwiązany z istniejącym API, oznacza to, że ludzie, którzy przesyłaj odnośniki do serwisu YouTube, które mogą dowolnie zmieniać treść filmu, ale witryna nie może stwierdzić, że została zmieniona w rozsądny sposób. np. YouTube nie daje konsumentom sposobu sprawdzenia, czy klatki & brzmią w obrębie danego videoID nie zmieniają się.

+0

"Youtube nie daje konsumentom sposobu sprawdzenia, czy klatki i dźwięk w obrębie danego videoide nie ulegają zmianie." Nie mogę sobie wyobrazić, że oni (Google) naprawdę bardzo się tym przejmują. Jest to dość specyficzny przypadek krawędzi niszowej. – ceejayoz

Odpowiedz

0

Czy sprawdziłeś, czy ustawiono właściwość fileDetails.creationTime? Zgodnie z documentation oznacza to:

Data i godzina utworzenia przesłanego pliku wideo.

Właściwość recordingDetails.recordingDate może być również interesująca. Jeśli są określone, prawdopodobnie będą się zmieniać za każdym razem, gdy nowe przesyłanie zostanie wykonane ...

Powiązane problemy