Фильтр источника RTSP с несовместимостью GDCL MP4 Muxer - PullRequest
0 голосов
/ 20 октября 2011

Я пытаюсь использовать GDCL MP4 Muxer с моим исходным фильтром RTSP.Они отлично работают вместе, за исключением того, что после остановки графа muxer не завершает файл и записывает требуемые таблицы в конец файла с помощью средства записи файлов (некоторые части пишутся, начиная с moov, но не с значений таблицы времени).Когда я пытаюсь использовать другой фильтр источников RTSP (у меня нет его исходных кодов), значения таблиц создаются с помощью MDCer MP4 GDCL.

Но когда я пытаюсь использовать MP4 Muxer от Elecard, он отлично работает с моим фильтром источников RTSP,Итак, есть несовместимость.Я изучил исходные коды GDCL, но не смог найти то, что он ожидал от меня.Я уже вычисляю и устанавливаю значения меток времени для выборок, используя метод SetTime.Но GDCL все еще не завершает файл.Это вызвано отсутствием информации или отсутствием сигнала при остановке графика?В чем может быть проблема, есть идеи?

1 Ответ

2 голосов
/ 21 октября 2011

Одна вещь, которую вы должны знать о MP4 Mux от Geraint, это то, что он проверяет входящие сэмплы медиа, чтобы иметь время начала и окончания. Возможно, у вас есть только .tStart / AM_SAMPLE_TIMEVALID, что по-прежнему имеет смысл для видео, но это будет проблемой.

Так что сэмплы должны иметь время остановки, или вам нужно исправить это в коде мультиплексора.

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

...