Изменение разрешения во время записи с помощью GDCL MP4 Muxer - PullRequest
1 голос
/ 10 февраля 2012

Я просто беру потоки RTSP с моим фильтром источника RTSP и записываю их в файл с помощью MDCer MP4 GDCL. [ www.gdcl.co.uk ]

Фильтр источника RTSP [H264] -> GDCL MP4 Muxer -> FileWriter

Когда я меняю разрешение, методы GDCL MP4 Muxer MuxInput :: Receive больше не вызываются.

Что я могу сделать не так?

Обновление 1:

Я изменяю GDCL Muxer, чтобы он сам записывал файл. Так что, исходя из моих критериев [время или длина], он закрывает старый файл и записывает в новый файл, не останавливая весь график

Фильтр источника RTSP [H264] -> GDCL MP4 Muxer -> NullRenderer [Do ничего]

1 Ответ

0 голосов
/ 11 февраля 2012

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

Один из способов, которым вы можете реализовать это, - проверить разрешение видео, проверяя / анализируя блоки NAL в исходном фильтре, и в случае изменения разрешенияВы бы отправили сообщение владельцу графа с просьбой перестроить граф.Новый график уже будет использовать обновленный тип мультимедиа, о котором ваш исходный фильтр уже знает.График перезапуска также сможет запустить новый файл MP4.

...