Поток получения с gst-rtsp-сервером - PullRequest
0 голосов
/ 27 октября 2011

У меня вопрос по поводу gstreamer.я сделал потоковый сервер, используя gst-rtsp-сервер.Я пытаюсь отправить снимок с камеры на другую машину (в локальной сети) и разобрать его в файл .ogv.

Передача потоковой передачи работает нормально, и я могу проанализировать информациюв файл;но я не могу прочитать это или использовать его с любым приложением после этого анализа.Кажется, что некоторая информация отсутствует (вероятно, в связи с техникой кодирования, я не очень много знаю об этом)

Команда на стороне сервера (внутри кода c ++):

....
gst_rtsp_media_factory_set_launch (factory, "( v4l2src device=/dev/video0 ! videorate !         
video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale ! ffmpegcolorspace !
theoraenc ! rtptheorapay name=pay0 pt=96 )");

gst_rtsp_media_factory_set_shared (factory, TRUE);

/* attach the test factory to the /test url */
gst_rtsp_media_mapping_add_factory (mapping, "/stream", factory);
....

Команда на стороне клиента (команда терминала):

gst-launch -v rtspsrc location=rtsp://192.168.0.115:8554/stream ! 
rtptheoradepay name=pay0 ! oggmux ! filesink location=/home/jean/Desktop/stream.ogv

Любая помощь, любая помощь приветствуется!

Жан

1 Ответ

0 голосов
/ 10 марта 2013

Я могу декодировать конвейер следующим образом, чтобы просмотреть его gst-launch -v rtspsrc location="rtsp://localhost:8554/test" name=demux demux. ! queue ! rtptheoradepay ! theoradec ! ffmpegcolorspace ! autovideosink

Чтобы декодировать его

gst-launch -v rtspsrc location="rtsp://localhost:8554/test" ! application/x-rtp, payload=96 ! rtptheoradepay ! theoradec ! videorate ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=GIBBERISH.ogg

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

...