2016-02-09 3 views
0

Я пытаюсь прочитать видеопоток, закодированный в формате h263, который я получаю через rtsp, с gstreamer, на окнах. В конце я должен получить формат BGR или RGB (использовать Qimage/Qt).Как смотреть видео h263 через rtsp с gstreamer

я могу наблюдать поток с VLCrtsp://172.22.1.2:8554/test

Я могу смотреть потока с CMD: gst-launch-1.0 rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! autovideosink

Я не могу сделать это в моей программе. Я пробовал m_pipeline = gst_parse_launch("rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! appsink name=sink caps=video/x-raw, format=BGR", &error);

Я пробовал uridecodebin uri=.. в состоянии rtspsrc location=...

Я попытался video/x-h263 и video/x-raw, format=RGB

Wether У меня есть сообщение об ошибке колпачками, или аварийное завершение работы программы.

Я не знаю, не использую ли я правильные элементы или если конец моей команды неправильный или что-то еще ..?

ответ

0

Вероятно, вы получаете сообщение об ошибке, поскольку кол-во src avdec_h263 не соответствует ограничениям, которые вы указали для appsinks. Запустив cmd gst-inspect-1.0 avdec_h264, вы можете увидеть, что шаблон шапки прошивки src поддерживает только video/x-raw format = I420, а ваш appsink - video/x-raw format=BGR.

Try добавляя videoconvert элемент к вашему трубопроводу между декодером и appsink: m_pipeline = gst_parse_launch("rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! videoconvert ! appsink name=sink caps=video/x-raw, format=BGR", &error);

+0

Я уже пытался это без Succes, но я нашел другие ошибки, так как, так что я буду повторять это. К сожалению, я не могу попробовать до вторника =/ –

+0

Наконец, я не использую gstreamer, только opencv с cv :: VideoCapture ("rtsp: // ..."). Спасибо! –

Смежные вопросы