LINUX.ORG.RU

Как проверить подлинность видео потока со стороннего сайта?

 , , , ,


0

2

Предположим есть сайт uber-video.com и у него есть множество под-доменов типа node45158.uber-video.com

Данные домены розданы автоматически и web сервера на них не контролируются напрямую администратором uber-video.com

Когда кто то заходит на uber-video.com смотреть какое либо видео, страница (возможно в фрейме) показывает видео с одного из поддоменов, например node58652.uber-video.com

Как средствами браузера проверить что партнёр отдаёт именно то самое видео которое должен отдавать? А не подсовывает вместо него какую нибудь рекламу увеличителя пениса/дохода/ЧСВ.

Естественно нужно проверять файл до его окончательной загрузки, так как видео может быть длинным. Наверно «слепок» надо какой нибудь делать?

Хеши от блоков данных фиксированного размера. Примерно как в торрентах. Проверяем первые 64 килобайта, вторые и тд, например.

Xenius ★★★★★ ()
Ответ на: комментарий от Xenius

Хеши от блоков данных фиксированного размера. Примерно как в торрентах. Проверяем первые 64 килобайта, вторые и тд, например.

Это возможно силами HTML5 (java-script) на не до конца загруженном потоке?

Изучаю принципиальную возможность такого.

rezedent12 ☆☆☆ ()
Последнее исправление: rezedent12 (всего исправлений: 1)
Ответ на: комментарий от MadDeer

Use-case какой?

Что это такое?

Что ты пытаешься сделать?

Не пытаюсь. Просто пробую понять возможно ли. Грубо говоря мета-видео-хостинг. Платформа и API которые соеденят хостеров и клиентов по всему миру предоставляющих дисковое пространство, в том числе хостеров уровня «сервер в чулане». Если клиент сам готов гарантировать сохранность своего контента, то контент будет доступен всегда, даже если и будет удалён из поискового каталога.

Поясню примерно как это я представляю. Множество серверов по всему миру. Сервера разделены на «надёжные» которые обеспечивают сохранность контента и на «ускоряющие», которые между собой распределяют нагрузку по принципу пиринговой сети. Возле видео при просмотре в обычном режиме есть небольшая область с ненавязчивой рекламой.

Если человек является обычным пользователем, то он размещает видео через партнёра-хостера и значительную часть доход от рекламы отдаёт ему. Если он покупает пространство у хостера, то вся рекламная область принадлежит ему. Сервера которые отдают контент получают часть рекламных доходов. Каждый кто поддерживает сеть храня и передавая чужой контент на постоянной основе, получает бонусы. Как в виде возможности свободной настройки показа рекламы, так и в виде части доходов от монетизации контента.

На случай «ой всё пропало», у каждого видео можно будет предусмотреть сценарий восстановления. Типа зайти по webdav, скачать по прямой http ссылке, зайти через IMAP и скачать письмо с вложением...

Каждый «ускоряющий узел» сообщает сети, какие видео хранит в своём кэше и какую пропускную способность готов обеспечить.

(Ой чую украдут идею)

rezedent12 ☆☆☆ ()

Теоретически можно после того как началась загрузка давать команду на свой сервер, который произведет проверку. Только это будет работать для небольшого количества видео

А так от партнеров надо имет возможность проверять контрольные суммы всех роликов

ism ()
Ответ на: комментарий от ism

Теоретически можно после того как началась загрузка давать команду на свой сервер, который произведет проверку. Только это будет работать для небольшого количества видео

То есть в самом браузере нельзя на стороне клиента это сделать?

rezedent12 ☆☆☆ ()
Ответ на: комментарий от rezedent12

Это зависит от того, может ли js перехватывать видеопоток Тут надо гуглить

Но все равно будет проблема скорости запуска видео, пока оно перехватит поток, пока проверит

Может для проверки использовать https сертификаты ? Типа ревизия сервера произведена вот тебо сертификат, можешь отдавать поток

ism ()
Ответ на: комментарий от ism

Да шо там делать то — при добавлении видоса в метахостинг, получать урл видоса и кусок данных с начала файла или из первого тс-сегмента, пилить сраный мд5 от этой хрени и все. И проверять это не на каждый чих из браузера, а по крону. Подумаешь, пару часов пораздает не тот видос — блокировочка (в том числе и автоматическая) воздаст по заслугам.

Другое дело — резидент припоздал с таким сервисом лет так на двадцать. Щас оно никому не нужно, так еще и чебурнет грядет.

deep-purple ★★★★ ()

Если видео в виде файла то можно аяксом забирать его кусок (man HTTP Range) считать его хеш и сравнивать с тем что на центральном сервере. Если там поток то наверное придется партнерам ставить свой софт возможно вместе с железом. Еще вариант плагин к браузеру.

redixin ★★★ ()
Ответ на: комментарий от deep-purple

И проверять это не на каждый чих из браузера, а по крону. Подумаешь, пару часов пораздает не тот видос — блокировочка (в том числе и автоматическая) воздаст по заслугам.

Тоже может дело. Но тогда понадобится по всему миру тайные сервера-ревизоры арендовать. Просто если бы браузер мог бы автоматически пожаловаться, на неправильное видео, процесс был бы гораздо проще. А то придётся по кругу лопатить видео с разных серверов...

rezedent12 ☆☆☆ ()
Ответ на: комментарий от StReLoK

Так ты же капиталист! И реклама тут, и боязнь кражи идеи (весьма сомнительной) и буржуазная терминология.

Я уже столкнулся с реакционной модерастией. Если я выражу идею по другому - меня забанят.

rezedent12 ☆☆☆ ()
Ответ на: комментарий от rezedent12

А ты уверен, что на том уровне решаешь задачу? Есть же IPFS. «Бонусов» и «рекламных доходов» там нет. Но есть технология, позволяющая раздавать контент любому, а произвольным нодам - выступать для «ускорения» раздачи. Как пример, сервис вокруг IPFS для хранения картинок: https://ipfs.pics/ Существует реализация IPFS на JS для браузера. Остаётся допилить логику показа рекламы, платных нод и создать приватную IPFS сеть.

MadDeer ()
Ответ на: комментарий от MadDeer

Если принципиальна федерация, то есть Subresource Integrity. Не знаю, правда, завезли ли её для video (наверное, нет). Для JS оно выглядит так:

<script src="https://example.com/example-framework.js"
        integrity="sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7"
        crossorigin="anonymous"></script>
Если hash сумма ресурса не совпадает с указанной, ресурс не будет выполнен и будет вызвана ошибка, которую можно поймать и обработать в JS.

Для видео придётся что-то похожее навелосипедить или подождать N лет, пока оно появится для тега video.

MadDeer ()