GStreamer rtp stream à vlc
j'ai du mal à trouver comment créer un simple flux rtp avec gstreamer et l'afficher sur vlc.
j'ai installé GStreamer 0.10.30 et VLC 1.1.3. Ma seule exigence est D'utiliser les codecs MPEG4 ou H. 264.
maintenant, je peux diffuser le GStreamer videotestsrc par ce simple pipeline:
gst-launch videotestsrc ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5000
qui affiche les "caps" nécessaires au client pour recevoir le flux:
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)365697461, clock-base=(uint)390754204, seqnum-base=(uint)10399
je suis aussi capable de afficher le flux à l'aide de la suite de pipeline:
gst-launch udpsrc uri=udp://127.0.0.1:5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d88007d0a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)298758266, clock-base=(uint)3097828288, seqnum-base=(uint)63478" ! rtpmp4vdepay ! ffdec_mpeg4 ! autovideosink
mais quand j'essaie de recevoir le flux avec vlc:
vlc -vvv rtp://127.0.0.1:5000
Je n'obtiens rien...
2 réponses
j'ai résolu le problème, il a juste besoin d'un fichier sdp comme ceci:
v=0
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 MP4V-ES/90000
et l'option "send-config=true" pour l'élément rtpmp4vpay:
gst-launch videotestsrc ! ffenc_mpeg4 ! rtpmp4vpay send-config=true ! udpsink host=127.0.0.1 port=5000
et que, il peut être joué avec
vlc <filename>.sdp
Comment faire pour H264 et New gstreamer (windows)
gst-launch-1.0 videotestsrc ! openh264enc ! rtph264pay config-interval=10 pt=96 ! udpsink host=127.0.0.1 port=5000
fichier sdp:
v=0
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 H264/90000
pour les autres codec voir https://en.wikipedia.org/wiki/RTP_audio_video_profile et correspondant SDP exemple dans la RFC lien