LINUX.ORG.RU
решено ФорумAdmin

Какие есть решения позволяющие смотреть видео онлайн, но затрудняющие скачивание?

 , ,


0

2

Приветствую! Есть веб сайт на платформе moodle (apache+php+mariadb) с образовательным контентом, в т.ч. видео (видео файлы mp4 располагаются на самом сервере). Заказчик хочет, по возможности, защитить видео от скачивания. Я знаю правило - if you can watch it, you can capture it, но в тоже время, если есть возможность затруднить/усложнить копирование файлов с сервера, то хотелось бы реализовать. Подскажите, какие есть готовые решения? Рассматриваю в т.ч. платные. Коллеги, может кто-то уже решал такую задачу, подскажите.



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

Ок, значит данные на цифровом порту edp будут нешифрованные, остаётся только подобрать достаточно производительную ПЛИС для захвата потока.

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

если я вотермарку замылю

Это если вотермарка на виду. Есть методы, похожие на стеганографические, когда вотермарка кодируется в пикселях, которые ты на глаз просто не увидишь.

Две проблемы:

  1. при наличии видео от 2 и более участников все несовпадающие пиксели могут быть замененны на среднее значение окружающих пикселей.
  2. нижние биты цвета могут быть отброшены без существеной потери качества.

Твоя стенография точно переживёт такое издевательство?

  1. Ну подаст твой работодатель в суд на люмпмена живущего в единственной квартире студии площадью 20м² и что толку?
    Фильмы то утекли, а денег у человека просто нет, или твой работодатель отберёт его единственное жильё, а самого выложившего распродаст на органы.
torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 3)
Ответ на: комментарий от Legioner

Для большинства пользователей хватит отключить контекстное меню.

Вы не поняли? Это продаваны сами такое запилили в своем интерфейсе. Позаботились о пользователях которые захотят смотреть оффлайн.

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

Вроде слышал про умельцев, что расковыривают монитор и цепляются прямо к lvds матрицы, где сигнал ещё не искажён и цифровой, но уже не шифрованный

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

Ищи на хабре от 2007 до 1013 года. Где-то в этом интервале начали обмазывать зомбоящики drm-ом, и его вполне себе поломали MITM коробкой, которая выдавала себя за телик, т.к. в конечном счёте сигнал обязательно декодируется, чтобы пикселями моргать. Да, сейчас всякого говна побольше навешали, производство такой коробки может быть дороже контента, но принципиальной невозможности сломать абсолютно любое DRM нет, в отличии от взлома шифра вернама, который нельзя ломантуь теоретически обладая любыми вычислительными мощностями, но у него слишком серьёзные недостатки для массового использования, если квантовую связь сделают, тогда другое дело.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)

Вот до чего дошло. Копирасты уже даже до лора добрались!

gtk3 ★★★
()

Рассматриваю в т.ч. платные

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

А если контент ни о чём, то можно и не стараться его огораживать.

anonymous
()

Хочу поделиться информацией, что удалось узнать по поводу внедрения DRM.

1. Как я понял на этом рынке несколько крупных поставщиков систем защиты контента - Microsoft, Google, Adobe и Apple. Каждый из которых покрывает свой сегмент устройств и ПО, которые могут воспроизводить видео. Разные браузеры, смартфоны и другие устройства имеют встроенную поддержку того или иного решения. https://castlabs.com/resources/drm-comparison/

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

2. Соответственно, если есть необходимость предоставлять возможность просматривать видео на разных устройствах и в разных браузерах, то нужно взаимодействовать со всеми крупными поставщиками по отдельности или делать это через какую-то платформу, которая позволяет их всех объединить.

3. Сама технология DRM по сути выглядит, как хранение закриптованного контента, доставка и расшифровка его по запросу пользователя у него на устройстве при выполнении определенных условий. Техническая реализация системы выглядит достаточно сложно для понимания, не говоря уже про развертывание ее на коленке.

Сейчас собираю информацию по стоимости такого решения и вообще актуальности его использования малым бизнесом.

samson_b
() автор топика
Последнее исправление: samson_b (всего исправлений: 2)
Ответ на: комментарий от anonymous

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

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

samson_b
() автор топика
Ответ на: комментарий от pihter

«какие ваши доказательства?»

Твой пост выше.

Сам понимаешь: С позволения вашего величества, я этого письма не писал. Там нет моей подписи. — Тем хуже. Значит, ты что-то худое задумал.

ya-betmen ★★★★★
()

Тебе нужен шифрованный стриминг. HLS AES, MPEG-DASH вот это всё. Совсем готовые решения есть, но по подписке. Можешь свой велосипед напилить через ffmpeg, или как вариант использовать промежуточный подход - кодировать и стримить с облака (нужно будет напилить сервер ключей и поддержку плеером самому).

no-such-file ★★★★★
()
Ответ на: комментарий от samson_b

Сейчас собираю информацию по стоимости такого решения и вообще актуальности его использования малым бизнесом

Я велосипедил такое. Неспешно в одну каску из состояния «что это и с чем это едят» заняло 40 часов.

Сама технология DRM по сути выглядит, как хранение закриптованного контента, доставка и расшифровка его по запросу пользователя у него на устройстве при выполнении определенных условий

Именно. Там всё просто на самом деле. Исходник шифруется, пользователю даётся одноразовая ссылка (токен) по которой плеер получает ключ. Всё.

no-such-file ★★★★★
()
Ответ на: комментарий от zgen

https://artistscope.com/copysafe_video_protection_moodle_plugin.asp

Я посмотрел данный плагин.

When CopySafe Video is used on a web page, if a visitor does not have the browser DLL or ArtisBrowser installed, they are redirected for download and install instructions. This Moodle plugin includes everything needed for this task including download and error pages.

Он требует просмотра видео в их ArtisBrowser, который только под windows. В итоге на мобильных устройствах работать не будет и на маках тоже. Плюс, необходимость пользователю весь этот софт накатывать, тоже не понравится.

samson_b
() автор топика
Ответ на: комментарий от no-such-file

Я велосипедил такое. Неспешно в одну каску из состояния «что это и с чем это едят» заняло 40 часов.

Расскажите, что в итоге у вас получилось? Как обеспечили совместимость с многообразием браузеров и устройств? Требовалось ли пользователю что-то доустанавливать, чтобы смотреть видео контент?

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

Можете назвать

Первое что приходит в голову Wowza, AWS Elemental.

Расскажите, что в итоге у вас получилось

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

В одном случае использовался AWS с их транскодером, ключами, бакетами и т.д. В другом случае свой сервер транскодирования на ffmpeg в GKE.

Требовалось ли пользователю что-то доустанавливать, чтобы смотреть видео контент?

Нет. Варианта два, либо браузер поддерживает html5 по-человечески и можно прикрутить любой желаемый плеер, который умеет в нужный тип стриминга с шифрованием, либо устройство перехватывает и впихует свой нативный плеер и тогда нужно на стороне сервера трахаться чтобы намутить авторизацию и передачу ему токена как он хочет и может.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Обрати ещё внимание на вот это https://github.com/kaltura/nginx-vod-module

Вау! Спасибо. Вы несколькими сообщениями внесли больше информации, чем весь топик вместе взятый.

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

Что плохого в том, что он хочет его защитить от нелегального распространения?

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

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

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

А распространять он его имеет право? Ну там выкладывать в общий доступ, перепродавать? Следуя вашей логике - да, ведь он его «купил», теперь оно «принадлежит» ему, что хочет с ним то и делает, так ведь?

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

Вообще, да. Если человеку понравилось видео, что плохого в том, что бы он его скачал себе на комп, а потом прислал файл другу?

Упущенная прибыль? Далеко не факт, что друг бы стал за это платить в любом случае. И кроме того, таким образом можно было бы скидываться на двоих если кому-то одному не хватает денег. Что даже увеличивает число потенциальных покупателей. А даже если нет, с чего бы это запрещать?

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

Вообще, да. Если человеку понравилось видео, что плохого в том, что бы он его скачал себе на комп, а потом прислал файл другу?

нихачу и всё тут

anonymous
()
Ответ на: комментарий от no-such-file

Обрати ещё внимание на вот это https://github.com/kaltura/nginx-vod-module Если хочешь стримить со своего сервера

Сейчас разбираюсь с этой штукой. Там принцип следующий, mp4 файл просто находится локально на сервере. Также на сервере есть nginx этим vob модулем. При получении веб запроса к этому файлу, nginx начинает его выдавать конвертируя на лету в стандарты HLS или MPEG DASH в зависимости от потребителя. Я до конце не понял, как происходит шифрование, откуда будут браться сертификаты? Это должны быть сертификаты полученные от Google/Apple или можно какие-то другие? Второе, делая конвертацию на лету мы грузим проц, не получится, что на нескольких потоках мы упремся в производительность cpu?

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

Вообще, да. Если человеку понравилось видео, что плохого в том, что бы он его скачал себе на комп, а потом прислал файл другу?

А почему только другу, зачем такие ограничения? Надо для всех выкладывать, в общий доступ, кто хочет покупает, кто не хочет пользуется бесплатно. А то, что продажи упадут и бизнес не покроет вложений на создание контента, так это фигня, правильно? И то что в итоге такой подход приведет к тому, что предприниматели не будут делать контент вообще, ну и что с того, правильно я вашу мысль развил?

samson_b
() автор топика
Последнее исправление: samson_b (всего исправлений: 1)

Заказчик хочет, по возможности, защитить видео от скачивания.

Скажи ему, что как линуксоид ты не можешь пойти на поводу у DRM-щика и открываешь доступ всем на все видео с выкладыванием их в торренты и заливом на S3 с публикацией ссылок автоматически. С этой секунды.

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

А то, что продажи упадут и бизнес не покроет вложений на создание контента, так это фигня, правильно?

Продажи чего, бизнесмен недоделанный? Если работа для того, кто выкладывает – то он и башляет, типа Vimeo. Если выложить можно бесплатно – то впариваешь рекламу. Всё. Единственное, что ты можешь сделать – это ограничить скорость загрузки скоростью воспроизведения с учётом буфферизации. Для остального есть DVD и кинотеатры и регистрации на сайтах и прочее.

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

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

продажи упадут

Не факт. Если какашку вынуть из фантика, то да, несомненно упадут. Но она и даром-то никому не нужна. Хотя бывают, конечно, отклонения у некоторых.

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

Надо для всех выкладывать, в общий доступ, кто хочет покупает, кто не хочет пользуется бесплатно.

Ну выкладывай, если хочешь.

И то что в итоге такой подход приведет к тому, что предприниматели не будут делать контент вообще, ну и что с того, правильно я вашу мысль развил?

Не перестанут. Полный ютуб видео всяких разных и как-то без DRM обходятся, вполне себе всё скачивается простейшей утилитой на питоне.

А DRM — это так же мерзко как плевать на улице под ноги прохожим. Может законом это и не запрещено, но делать бизнес на этом...

Xenius ★★★★★
()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от samson_b

конвертацию на лету мы грузим проц, не получится, что на нескольких потоках мы упремся в производительность cpu

Так ты кэширующий прокси перед этим всем поставь. Стрим отдаётся по http(s) т.е. кэшируется как обычно, блоками. Т.к. он зашифрован, то можно использовать в т.ч. сторонние кэши или CDN.

Это должны быть сертификаты полученные от Google/Apple или можно какие-то другие?

Смотря какой режим ты хочешь. Если именно готовый DRM, типа PlayReady, то да, нужно у поставщика регаться и пользоваться его протоколом доставки ключа (а также подтвердить права на контент и т.п.) Но тебе это не надо, просто используй шифрование и сделай свою доставку ключа. В этом заключается велосипедостроительная часть. Самое простое - давать ключ по одноразовому url. Вот тебе мурзилка https://hlsbook.net/how-to-encrypt-hls-video-with-ffmpeg/ Там жирным в манифесте выделена строчка с ключом. Так вот, если на пальцах, тебе нужно не голый url ключа давать, а одноразовый, т.е. Сервер проверяет, что токен ключа в url выдан этом клиенту и тогда отдаёт ключ и токен считается использованным. Как конкретно проверяет зависит от того что тебе надо. Вероятно нужно проверить, что этот пользователь купил это видео и что токен был выдан ему и, например, что прошло не более 1 минуты (если больше, то вероятно плеер не запустился, что-то пошло не так, токен скомпрометирован).

PS: да, ключи должны быть у каждого видоса свои и меняться периодически.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от Legioner

вот буквально месяц назад хотел посмотреть ведьмака в 4K HDR,

Я тебе сочувствую. Лучше книги почитай, там даже иллюстрации есть!

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от no-such-file

Но тебе это не надо, просто используй шифрование и сделай свою доставку ключа.

Спасибо за столь развёрнутый ответ. Я правильно понимаю, что основное отличие true DRM от простой схемы шифрования - это способ доставки ключа. В true DRM ключ доставляется зашифрованным в закрытый CDM браузера и там уже происходит расшифровка видео. Т.е. пользователь посмотреть видео в браузере может, а сам ключ ему недоступен. В простой системе шифрования ключ передается в открытом виде и клиенту доступен. Соответственно, что помешает клиенту получить доступ к ключу, скачать и расшифровать видео? Я понимаю, что система авторизации и токены помогут отделить легального пользователя от нелегального, но вот позволит ли такая система затруднить скачивание видео легальным пользователям? Есть же всякие плагины для браузеров,которые позволяют скачивать данные прямо в текущей сессии, из открытого окна. Вы когда свою систему делали, вы проверяли ее на защищённость от скачивания видео всякими даунлоадерами?

samson_b
() автор топика
Последнее исправление: samson_b (всего исправлений: 2)
Ответ на: комментарий от anc

Вово. Ну ничего скоро скоро.

В результате публикаторы произведений, уже перешедших в общественное достояние, оказываются под угрозой бесконечного шантажа со стороны наследников и неких «заинтересованных лиц», которым даже не требуется доказывать нарушение репутации автора. За лишь сам факт наличия, например, иллюстрации к тексту можно требовать отзыва тиража. Например, любые издания А. С. Пушкина, Ф. М. Достоевского, Л. Н. Толстого, если они снабжены иллюстрациями и комментариями, оказываются вне закона, если издатель не получал согласие всех многочисленных наследников и «заинтересованных лиц».

Получается, что для «общественного достояния» запрещено создание производных и составных работ.

Уже рычаг, и они могут сделать так что разрешено печатать будет только нужным изданиям. Хотя наверное уже собственно. Да и кники на электронных библиотекаю дают эмм в аренду =)

https://ru.wikimedia.org/wiki/Общественное_достояние_2016

LINUX-ORG-RU ★★★★★
()

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

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

Лучше уж поиграть в богомерзкой винде в него. Книги то убоги слишком, как писатель Сапковский не сильно лучше некоторых любителей, которых torvn77 читает.

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

Это так же не оригинал. Оригинал был в фидо.

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

Книги то убоги слишком

Мне вас искренне жаль. Раз вам доступен только визуальный ряд, а мозг отсутствует.

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

Я их лет 15 назад прочитал. Ничего выдающегося, кстати.

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

Есть же всякие плагины для браузеров,которые позволяют скачивать данные прямо в текущей сессии

Ссылка с токеном же одноразовая, её использует плеер, плагин обламывается. Чтобы дауноладер понял что есть видео, нужно чтобы сначала отработал скрипт который даст ссылку плееру и видео загрузиться. Второй раз загрузить уже не выйдет. Далее, код который запускает плеер и где лежит токен можно обфусцировать и тоже шифровать, причём завернуть в несколько проходов, варьируя их количество и алгоритмы (чтобы не было повторяемо). Кроме этого можно добавить ханипот (и не один). К тому же токен протухает за 1 минуту, что затрудняет анализ всего этого. Помимо этого можно добавить мониторинг на подозрительные действия, например если пользователь постоянно пробует протухшие токены, то можно его захелбанить - выдавать ему заведомо недействительные токены и нерабочие скрипты. Конечно, если конкретно заморочиться, то вытащить токен можно, но это далеко не так просто. Проще будет тупо переснять с экрана.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 2)
Ответ на: комментарий от no-such-file

Ссылка с токеном же одноразовая, её использует плеер, плагин обламывается.

Звучит круто. Я поставил nginx и nginx-vod-module, а также пересобрал ffmpeg добавив в него поддержку libfdk-aac.

Сейчас nginx раздает в двух форматах HLS и DASH MPEG, правда без шифрования. Разбираюсь как прикрутить это шифрование, мне бы какой-нибудь tutorial для чайников, чтобы на примере сделать все шаг за шагом, а потом на основе работающего навернуть уже остальные слои защиты.

Спасибо за советы и идеи, вы единственный, кто отвечает тут по делу и конкретику.

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

Чувствуется, уроки эти - такое УГ, что автор озадачен их защитой. Ведь если скачают их на торрентах, смогут заранее оценить качество и не будут платить прохиндею. Примерно, как школьник подписывающий Copyright на свой хелло-ворлд и вставляющий в него защиту. Но школьник повзрослеет, а автор убогих уроков - нет.

anonymous
()
Ответ на: комментарий от no-such-file

Ссылка с токеном же одноразовая, её использует плеер, плагин обламывается. К тому же токен протухает за 1 минуту, что затрудняет анализ всего этого.

Разобрался с ngx_http_secure_link_module и научился делать протухающие линки. Единственное, я не понял, а как делать одноразовые линки? Это тоже каким-то модулем nginx реализуется?

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

Мне вас искренне жаль. Раз вам доступен только визуальный ряд, а мозг отсутствует.

Лорчую. Книги шикарны, думаю вот даже перечитать как-нибудь более вдумчиво.

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

рекомендую еще спросить как подать патентный иск против ГПЛ программы :)

А, кстати, как? Охамели совсем со свой швабодностью! Сначала у них программы швободные, а потом обмажутся своей ГПЛ и я**тся в **пы!

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

Упущенная прибыль? Далеко не факт, что друг бы стал за это платить в любом случае.

Вообще не факт что друг его смотреть будет, а если таки посмотрит, то не фыркнет.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)
Ответ на: комментарий от samson_b

Чтобы отбить желание у тех, кто делает это из спортивного интереса.

вот как раз именно из спортивного интереса и будут качать и копиратить. Даже если оно им не нужно. Именно спортсменов стоит опасаться больше всего.

По себе знаю. Было дело из принципа некоторые вещи ломал. Просто потому что «ибо нефиг».

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

Примерно, как школьник подписывающий Copyright на свой хелло-ворлд и вставляющий в него защиту. Но школьник повзрослеет, а автор убогих уроков - нет.

Я бы рассматривал таких авторов как белых мошенников, которые мошенничают в рамках закона.

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

В видео вставляются водяные знаки.

а они разве выстоят против перекодирования? Или свертки?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.