2011-02-06 3 views
1

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

ответ

1

Попробуйте этот сценарий

#! /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

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

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

Изменить местоположение объекта согласно вашим требованиям.

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