burmisov / rtsp-to-mp4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Подборка материала

Текущий прогресс тут

Материал для работы (RTSP -> mp4-фрагменты):

P.S. По предварительному изучению материала по диагонали: действительно, как Артём уже говорил, скорее всего создать “RTSP-мультиплексор” нет никаких проблем. Если клиенты не будут слать экзотические запросы типа PAUSE (0.0001% вероятности) или слать по RTCP отчёты, из которых теоретически сервер должен корректировать выдачу (0.001% вероятности), то траффик условно можно рассылать всем одинаковый.

Заявление Артёма, которое предстоит воспроизвести и подтвердить

Что уже можно, на чистом js

  1. Брать поток rtsp
  2. Из RTSP брать SDP
  3. Из SDP брать SPS и PPS
  4. Из RTP брать Sequence number, Synchronization Source identifier, Payload, Marker
  5. Из Payload брать NAL
  6. Из NAL брать NAL Type
  7. Из NAL Type брать Frame segmentation, NAL: I P B, восстанавливать NAL
  8. Получать Frame и опять все по кругу с п. 4

Итог: можно захватывать поток RTSP, резать нужной длины, резать правильно (I, P, B Frame), получать файл с которым можно работать дальше, на него не ругается ffmpeg, далее ffmpeg может спокойно передать этот файл в DASH сегмент или ISO-BMFF

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

About


Languages

Language:JavaScript 100.0%