Плагин Raspberry Pi, управляемый FPGA, позволяет накладывать на зашифрованное видео

Alphamax занимается созданием дополнительной платы для разработки видео с открытым исходным кодом «NeTV2» для Raspberry Pi с FPGA Artix-7, 4-мя дорожками PCIe, 2-мя входами HDMI, 2-мя выходами HDMI и программами Python для наложения контента на зашифрованные видеосигналы.

Еще в 2016 году хакер аппаратных средств Банни Хуанг (Bunnie Huang) присоединился к Фонду электронных границ (EFF), чтобы подать в суд на правительство США за отмену «обременительных положений» статьи 1201 Закона о защите авторских прав в цифровую эпоху (DMCA) 1998 года.
Согласно EFF, эти положения ограничивают доступ к защищенным авторским правом материалам «даже там, где люди хотят добросовестно использовать материалы, к которым они получают доступ».

Теперь Хуанг и его компания Alphamax разработали провокационный проект с открытым исходным кодом NeTV2, который нарушает закон.
NeTV2 - это дополнительная плата Raspberry Pi на основе FPGA для наложения контента на зашифрованные видеосигналы, а также для шифрования незашифрованного видео, такого как потоки DVI.


Плата NeTV2 с RPi 3 (слева) и в корпусе

(нажмите на картинку, чтобы увеличить)

Проект близок к достижению своей скромной цели в 15 000 долларов США по Crowd Supply.
Плата NeTV2 доступна за 200 долларов или 225 долларов в специально разработанном корпусе.
Есть также полный набор за 320 долларов, который добавляет новую Raspberry Pi 3 Model B + с тактовой частотой 1,4 ГГц, предустановленную карту microSD емкостью 8 ГБ и специальную перемычку HDMI Flex, которую можно приобрести отдельно за 15 долларов.

И плата, и полный комплект доступны с опцией стоимостью $ 100, которая повышает плату Xilinx Artix-7 на плате от XC7A35T с логическими ячейками 32K до топового XC7A50T с ячейками 52K.
Кампания открыта до 29 июня, но доска не будет доставлена ​​до 31 мая 2019 года.


Комплект NeTV2 с RPi3 и чехлом

(щелкните изображение, чтобы увеличить)

NeTV2 следует за автономной платой NeTV от 150 долл. США от 2011 года, которая работает под управлением Angstrom Linux на Marvell PXA168 в сочетании с FPGA Spartan-6.
Как и NeTV, NeTV2 поддерживает «Классический режим NeTV», предоставляя вам возможность добавлять зашифрованные пиксели в поток зашифрованного видео.

На NeTV2 этот режим по умолчанию позволяет вам делать такие вещи, как добавление непрозрачного наложения текста в поток живого видео.
Как отмечает Liliputing , он позволяет разработчикам «добавлять субтитры в потоки фильмов, переводить текст на экране в режиме реального времени или блокировать рекламу».

Классический режим NeTV позволяет добавлять наложения в зашифрованный поток, «наблюдая за первоначальным криптографическим подтверждением связи между источником видео и приемником видео», - говорит Хуан.
Специальные аппаратные схемы позволяют плате «вести себя как встроенный видеофильтр, динамически перехватывая и изменяя согласования возможностей дисплея», продолжает он.
«Это дает NeTV2 возможность динамически исправлять« испорченные »дескрипторы дисплея, пытаться форсировать известное разрешение экрана и шифровать видео для улучшения совместимости с широким спектром целевых систем».


Классический режим NeTV (слева) и режим Libre

(нажмите на картинку, чтобы увеличить)

В отличие от оригинального NeTV, NeTV2 также поддерживает новый режим Libre, который «работает только с незашифрованными видеопотоками, но имеет полный доступ ко всему видеопотоку», говорит Хуан.
В режиме Libre вы можете «произвольно манипулировать пикселями в режиме реального времени» либо локально в сочетании с Raspberry Pi, либо подключив его к главному компьютеру через интерфейс PCIe.
В последней конфигурации вы можете перенести вычислительные функции в сопутствующий графический процессор или облачный сервис.

Ни один из режимов не расшифровывает видеопотоки, что делает NeTV2 легальным в соответствии с разделом 1201, говорит Хуан.
В любом случае, Хуанг и EFF утверждают, что некоторые ограничения в Разделе 1201 являются избыточными из-за других разделов DMCA и приводят к ненужному препятствованию НИОКР в области цифрового видео.
Кампания NeTV2 призвана доказать суду, что в ожидании находится значительное сообщество хакеров цифрового видео.

Режим Libre в настоящее время предлагает ограниченную функциональность из-за невозможности работы с зашифрованным видео.
Тем не менее, здесь есть возможность не только дать небольшому количеству исследователей цифрового видео новый классный инструмент для игры, но и надеяться, что в будущем в Раздел 1201 будет внесено изменение, открывающее больше приложений.

Неясно, смогут ли разработчики преобразовать плату в платформу для видео пиратства.
В разделе «Риск» в нижней части страницы «Crowd Supply» Хуанг допускает возможность предъявления ему иска за устройство, и в этом случае он говорит, что некоторые доходы от кампании могут быть использованы для правовой защиты.
«Вы не только получите отличную плату для разработки ПЛИС, но и поможете обосновать, что существует реальный спрос на свободы для инноваций и выражения в цифровом видео», - говорит Хуан.

Внутри NeTV2

Плата NeTV2 поставляется с 512 МБ памяти DDR3-800 и слотом microSD.
Он предлагает два входных порта HDMI и два выхода HDMI, один из которых является портом типа D.
Одна из двух пар ввода / вывода HDMI, поддерживающих видео 1920 x 1080 @ 60 Гц, используется для фильтрации видео в режиме NeTV.


Корпус NeTV2, закрытый и открытый

(нажмите на картинку, чтобы увеличить)

NeTV2 предоставляет интерфейс PCIe 2.0 x4 с «hax» расширениями GPIO на дополнительных / неиспользуемых выводах.
Вы также получаете порты 10/100 Ethernet и micro-USB, а также интерфейсы JTAG и UART.
Плата может потреблять 12 В постоянного тока через разъем для бочек или PCIe и работает на максимальной мощности 10 Вт.

Raspberry Pi указан как необязательный, что позволяет использовать плату с другими хакерскими платами или настольными компьютерами.
Как сконфигурировано, RPi SBC обеспечивает «бесшовную конфигурацию JTAG и генерацию оверлейного видео». В частности, «незашифрованный видеовыход HDMI» RPi подается в NeTV2 и дискретизируется в буфер кадров, который «синхронизируется» (например, синхронизируется по времени) для видео канал, который просто проходит через FPGA через другую пару входов / выходов HDMI », - говорит Хуан.

По словам Хуанга, дополнительный корпус 160 x 120 x 51 мм с аналогичным открытым исходным кодом «оптимизирован для применения встроенной фильтрации видео, но не ограничен другими возможностями».
Корпус содержит пустое пространство и массив монтажных выступов M2.5 на чередующейся 30-миллиметровой сетке для добавления новых функций.
Лицевая панель оставлена ​​пустой и предназначена для создания собственной панели с настраиваемыми вырезами портов с помощью 3D-принтера.

NeTV2 разработан для использования с открытым исходным кодом LiteX , языком описания аппаратного обеспечения на основе Python, основанным на Migen .
LiteX можно использовать в качестве внешнего интерфейса к проприетарному набору инструментов Vivado от Xilinx для синтеза, размещения, маршрутизации и генерации битового потока FPGA.

Дальнейшая информация

Плата NeTV2 доступна для Crowd Supply до 29 июня, начиная с 200 долларов США, поставки должны быть произведены 31 мая 2019 года. Доставка бесплатна в США и стоит 30 долларов в другом месте.
Дополнительную информацию можно найти на странице «Crowd Supply NeTV2» , а также в этом объявлении в блоге от 12 мая .