Nano Hash - криптовалюты, майнинг, программирование

Кодирование необработанных данных h.264 в браузер через Dash

У меня есть прямой поток необработанного h264 (без контейнера), поступающий с удаленной веб-камеры. Я хочу транслировать его в прямом эфире в браузере, используя DASH. DASH требует создания файла mpd (и сегментации). Я нашел инструменты (например, mp4box), которые делают это в статических файлах, но я изо всех сил пытаюсь найти решение для прямых трансляций. есть предложения - предпочтительно использовать модули node.js?

Темы, которые я проверил:

  1. mp4box - с одной стороны я видел этот комментарий, в котором говорится " Вы не можете передавать MP4Box какое-либо живое содержимое. Вам необходимо передавать MP4Box -live предварительно сегментированные фрагменты." С другой стороны, многие люди указывают на это учебник bitmovin, в котором реализовано решение с использованием mp4box. В туриале они используют mp4box (который имеет реализацию API-интерфейса node.js) и < href="http://www.videolan.org/developers/x264.html" rel="nofollow noreferrer">x264 (который не имеет модуля node.js? или содержится в ffmpeg/mp4box ?)
  2. ngnix — в ngnix есть модуль, который поддерживает потоковую передачу в DASH. используя ртмп. например, в этом toturial. Я предпочитаю не идти по этому пути - как уже упоминалось, я пытаюсь сделать все это в node.js.

Хотя я прочитал пару сообщений с похожей проблемой, я не смог найти подходящего решения. Помощь будет высоко оценена!


  • Я также был бы признателен за объяснение. Из моего базового понимания видео, закодированное в формате h264, для передачи требуется контейнер (например, mp4). инкапсулирует ли DASH необработанный поток h264 без контейнера? 03.04.2017

Ответы:


1

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

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

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

Типичная структура представляет собой закодированный поток (например, видео h.264), упакованный в контейнер (например, фрагментированный mp4) и доставляемый через протокол потоковой передачи, такой как HLS или DASH.

03.04.2017
  • У меня есть сервер узла, который принимает потоковую передачу с веб-камеры. Что вы имеете в виду, когда говорите о потоковом сервере? сервер rtsp..? Я не могу инкапсулировать свой закодированный h264 в mp4, потому что это прямой эфир (см. мой предыдущий вопрос - stackoverflow.com/questions/43113805/). Я был бы очень признателен за разработку, большое спасибо за ваше время! 03.04.2017
  • Под потоковым сервером я подразумеваю выделенный сервер для стримеров, такой как gstreamer.freedesktop.org или wowza.com. Инкапсуляция в mp4 и DASH может происходить на сервере потоковой передачи. 04.04.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..