Рубрики
Uncategorized

История о том, как я (вроде ‘) фиксировал продюсеров AWS Kinesis, помогла студенту и спас человечество сотни людей!

После инвестирования около 20 часов мне наконец -то удалось заставить продюсеров потокового видео AWS Kinesis в WOR … Tagged с Webdav, Open Source, AWS, DevOps.

После инвестирования около 20 часов мне наконец -то удалось заставить продюсеров потокового видео AWS Kinesis работать над моим Raspberry Pi, несмотря на запутанные инструкции, Github Repos, которые сильно отличались от официальных документов и слишком много альтернативных способов управления вещами — это История о том, как я это сделал.

👦🏽 Как это началось?

Все началось с невинного взгляда в WhatsApp, от студента, который пытался получить видеопотоки AWS Kinesis для работы для проекта колледжа. Он сказал, что видел мои коммиты в репо AWS Kinesis и отправил мне сообщение о помощи, чтобы поднять ее.

Я высокомерно подумал: «Ах, новички не могут даже правильно следовать за документами». В то время, мало что я знал, как глубоко прошла эта кроличья дыра, следовали за ним 3 целыми днями исследований, гуглирования и полного разума, и все это просто для того, чтобы получить простые работы «Отправить данные в облачный скрипт».

🖤 Вы смотрите на пропасть …

То, чего мы хотели достичь, было довольно просто, мы просто хотели, чтобы вымогать видео кадры в AWS Kinesis из /dev/video0 на Linux. Инстинктивно я посмотрел документы AWS, и вот Где начались проблемы

Проблемы.

GSTREAMER?!

Оказывается, есть в основном 2 способа, чтобы получить библиотеки производителей AWS Kinesis для работы. Один из них использует скомпилированный код C ++ из репо GitHub, а другой — это компиляция плагина GSTREAMER, но это еще не все. Команда GSTREAMER немного изменяется в зависимости от того, на какой платформе вы находитесь, это означает, что во всех 2 x 3 (Mac/Win/Linux) способах запустить это, что вас встречают правой, когда вы сначала загружаете их привет- мировой пример. Можно терпеливо попытаться прочитать все это, но у документам даже нет Предварительные условия Раздел , это делает начало работы еще сложнее.

Предлагаемые исправления — Добавление предварительных условий раздела будет легко исправить это.

Docker на помощь? … Нет

Следующий способ запустить и запустить видео -продюсера Kinesis, используя Docker, можно по себе, что это будет меньше из двух зол, и это будет работать одинаково на всех платформах, но вы все равно будете неправы. Документы кратко упоминают, что есть какой -то способ запустить продюсера, но к концу они оставляют вас с — Начните потоковой передачу с камеры, используя GST-LAUNCH-1.0 команда, которая подходит для вашего устройства.

Команды GSTREAMER, которые они хотели, чтобы я запустил здесь, продолжали жаловаться, что плагин GSTREAMER для поддержки Kinesis-Stuff не был установлен.

По сути, это означало, что даже собственные изображения Docker от Amazon не работают.

Предлагаемые исправления — Установка вещей с использованием Docker — это отдельный способ поднять производителя, он должен был быть с ** Complete Инструкции о том, что мы должны делать, не нужно бегать взад -вперед между несколькими страницами.

Неравенство среди платформ

Теперь, в Windows и Mac, вы не можете получить потоковую передачу веб -камеры с Docker, но на Linux вы можете. Там нет таблицы, которая говорит вам, какой путь позволяет вам делать то, что такое преимущества и каковы недостатки такого и так далее. Это делает все это действительно подходом к удару, решая, что делать.

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

Это было только начало, это были все явные проблемы, которые я мог видеть сразу же, когда я посмотрел на документацию AWS, Azure, с другой стороны, в одном из их учебников IoT Azure проводят нас через каждый сценарий полностью от начала до конца. У них также есть несколько видео, чтобы показать нам, как что -то сделать.

🌪 дым и зеркала

Вернемся к проблеме, которую мы пытались решить — «Как получить продюсера AWS Kinesis, работающего на Linux»

Первоначально я просто предположил, что документы было трудно понять, но правильно, мне просто нужно было точно следовать за ними. Но, мальчик! был ли я неправ. Вскоре я пришел к осознанию того, что документы были бездельными. Да, позвольте мне объяснить.

Лживые документы № 1

В Использование производителя C ++ SDK на Raspberry Pi Документы говорят вам запустить УСТАНОВКА-SCRIPT , но я осмотрел вокруг, и если бы кто -то следовал за документами до такой степени, и у меня есть, вы не сможете найти такой файл. Самая близкая вещь, которую вы можете найти к чему -то подобному в предыдущей версии Github Repo в одном из Старые коммиты Анкет

Да. Вы видите проблему? Мало того, это не то, где это заканчивается.

Единственная причина, по которой я смог выяснить это, заключалась в том, что документы, упомянутые с использованием git клон -рекурсивный ,  Я скептически относился к тому, что это значит Но я думал, что это потому, что репо, когда -то раньше встроила репо. Теперь документы все еще говорят, что это так, но на самом деле это не так.

Лживые документы №2

В Шаг 3: Запустите и проверьте код Документы говорят о компакт-дисках в Amazon-Kinesis-Video-Streams-Producer-C Но это невозможно, потому что один из коммитов удалил этот встроенный репозиторий GitHub ( Читать дальше )

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

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

Предлагаемые исправления — Checkout Commit 824DE900C2D4B42A403319ACE5DE9D68EC88B171

🔥 Мое решение

Я знал, что с этим нужно что -то сделать. Я не мог позволить всем тратить столько же времени, сколько я потратил впустую, поэтому я написал очень короткий технический блог об этом. Как транслировать видео с помощью потоковой передачи видео AWS Kinesis — Docker на Linux? — Это дает вам достаточно информации, чтобы заставить это работать, и ничего больше.

Но, надеюсь, кто -то один день найдет в нем большую ценность.

Наконец, как я заставил потоковую передачу работать, как вы можете?

Docker-Compose Up-Build

Я написал этот блог, обобщающий мой подход — как транслировать видео с помощью потоковой передачи видео AWS Kinesis — Docker на Linux?

Это все, что вам нужно сделать. 😎

Это отправит видеопоток из /dev/video0 Прямо на ваш видеопоток AWS Kinesis

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

👩 🏽‍🚀 Заключение

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

AWS Kinesis на самом деле великолепен

Лично я думаю, что этот огромный уровень сложности для того, чтобы работать с AWS Kinesis, делает весь трубопровод очень трудным в использовании, и потому что я использовал AWS Kinesis, прежде чем я узнаю, что это не так, AWS Kinesis — это Довольно круто и в сочетании с SageMaker, он способен делать действительно впечатляющие вещи. (дорого, да, но впечатляющие вещи)

Пространственное время континуум

Я также уверен, что Рохан с 2 лет назад, безусловно, отказался бы от попыток заставить эту работу, и потому что все способы получить и бег продюсера AWS Kinesis значительно сложны на большом куче нового. Пользователи, которые в противном случае использовали бы сервис, но теперь не смогли этого сделать.

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

В настоящее время нет возможности встать

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

Так что это было так. Вот как я смог получить потоковую передачу AWS на работу.

Amz, Встать на DMS

Amazon, вы смотрите и хотите, чтобы я создал изображения Docker, чтобы добавить поддержку потоковой передачи RTSP, не стесняйтесь. Мой DMS открыт для вас. Если бы я был слишком тяжело с тобой, это только потому, что ты заставил меня тратить время на неделю на тебя, ничто против тебя, чувак. Ты в порядке. 🤝🏽

Оригинал: «https://dev.to/rohansawant/the-story-of-how-i-kinda-fixed-aws-kinesis-producers-helped-a-student-and-saved-humanity-hundreds-of-man-hours-17e8»