Воспроизведение потока H264 из локального сокета с помощью gstreamer - PullRequest
1 голос
/ 06 февраля 2011

Я сталкиваюсь с проблемой воспроизведения потока H.264 с использованием gstreamer (этот поток поступает из пакетов RTP без RTSP). Мое приложение отправляет данные в локальный сокет, и я хотел бы, чтобы gstreamer воспроизводил этот поток. Есть ли у вас какие-либо идеи, как я могу сделать это или любую ссылку, где я могу начать читать об этом? Я полагаю, что мне нужно также предоставить некоторую информацию об этом потоке. Я действительно не знаю, что предоставить. Любая ссылка для этого, а? Могу ли я сделать все это с помощью конвейера командной строки или мне нужно написать небольшое приложение, используя gstreamer для выполнения этой задачи? Спасибо за любую информацию!

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Попробуйте этот скрипт

#! /bin/bash
gst-launch -v                 \
  udpsrc                      \
    multicast-group=127.0.0.1 \
    port=${PORT}              \
    caps="application/x-rtp   \
         ,media=video         \
         ,clock-rate=90000    \
         ,encoding-name=H264" \
  ! gstrtpjitterbuffer        \
  ! rtph264depay              \
  ! ffdec_h264                \
  ! xvimagesink
  • udpsrc прослушивает UDP-пакеты на $ {PORT}
  • rtph264depay получает данные H.264 из пакета RTP
  • ffdec_h264 декодирует поток H.264
0 голосов
/ 19 сентября 2011

Попробуйте это

gst-launch -v rtspsrc location="rtsp://<user>:<password>@localhost/folder/media.amp" debug=1 ! rtpmp4vdepay ! mpeg4videoparse ! ffdec_mpeg4 ! ffmpegcolorspace! autovideosink

Измените свойство местоположения в соответствии с вашими требованиями.

...