Чтение стрима из gstreamer с помощью ffmpeg

Заголовок раскрывает суть проблемы, но она более спецефичная

Я использую Brave для генерации стрима и OvenMediaEngine (далее OME) в качестве медиасервера

Проблема в том, что Brave построен на gstreamer а OME на ffmpeg

Gstreamer использует для измерения времени наносекунды, ffmpeg - милисекунды. Из за этого при стриме из Brave в OME я получаю следующие логи

ovenmediaengine_1  | [2021-09-22 11:45:34.832] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 1005022355050, cur.pts: 1009317322368, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.854] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 1009317322368, cur.pts: 1013612289685, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.856] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:0 last.pts: 1009317322359, cur.pts: 1013612289688, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.897] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 1013612289706, cur.pts: 1017907257024, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.897] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:0 last.pts: 1013612289688, cur.pts: 1017907257051, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.921] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:0 last.pts: 1017907257051, cur.pts: 1022202224313, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.939] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 1017907257045, cur.pts: 1022202224362, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.961] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 1022202224362, cur.pts: 1026497191680, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.963] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:0 last.pts: 1022202224313, cur.pts: 1026497191676, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:34.984] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:0 last.pts: 1026497191676, cur.pts: 1030792159005, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:35.003] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 1026497191701, cur.pts: 1030792159018, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:35.025] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:1 last.pts: 1030792159018, cur.pts: 1035087126336, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:35.026] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:0 last.pts: 1030792159005, cur.pts: 1035087126335, tb(1/1000), diff: 4294967ms
ovenmediaengine_1  | [2021-09-22 11:45:35.046] W [InboundWorker:17] MediaRouter | mediarouter_stream.cpp:1044 | Detected abnormal increased timestamp. track:0 last.pts: 1035087126335, cur.pts: 1039382093697, tb(1/1000), diff: 4294967ms

и поведение стрима типа:

  1. Открывваю стрим в VLC
  2. Вижу одну секунду видео
  3. Видео замирает и дальше открыть его я не могу

Кто нибудь сталкивался с подобное проблемой? Есть решение, или хотя бы направление решения.

Стоит так же сказать что раньше я использовал rtsp-simple-server и это работало нормально


Ответы (0 шт):