GStreamer flux rtp pour vlc
J'ai un peu de mal à trouver comment créer un simple flux rtp avec gstreamer et de l'afficher sur vlc.
J'ai installé GStreamer 0.10.30 et VLC 1.1.3. Ma seule exigence est d'utiliser MPEG4 ou H. 264 codecs.
Maintenant, je peux diffuser le GStreamer videotestsrc à travers ce simple pipeline:
gst-launch videotestsrc ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5000
les sorties qui le "caps" requis par le 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 également en mesure d'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 lorsque je tente de recevoir le flux avec vlc:
vlc -vvv rtp://127.0.0.1:5000
Je ne reçois rien...
- Question: Où est le chemin d'accès à ce fichier, nom de fichier et un fichier de configuration que vous venez de modifier dans gstreamer?
- Quelle est la charge utile=(int)96 moyenne?
- Comment puis-je savoir votre commande de streaming est à l'aide de ce paramètre/caps "/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:évier: (...)". D'où tenez-vous cette information?
Vous devez vous connecter pour publier un commentaire.
J'ai résolu le problème, il a juste besoin d'un fichier sdp comme ceci:
et l'option "envoyez-config=true" pour le rtpmp4vpay élément:
et puis, il peut être joué avec
gst-launch videotestsrc ! ffenc_mpeg4 ! rtpmp4vpay config-interval=3 ! udpsink host=127.0.0.1 port=5000
Oùconfig-interval=3
est l'intervalle de temps en secondes de l'envoi de la configuration de données.send-config
est maintenant obsolète.rtpjpegpay
n'avez pas l'option commesend-config
.Comment pour le H264 et le nouveau gstreamer (windows)
fichier sdp:
pour d'autres codec voir https://en.wikipedia.org/wiki/RTP_audio_video_profile et correspondant SDP exemple dans la RFC lien
gst-launch-1.0 videotestsrc ! vtenc_h264 ! rtph264pay config-interval=10 pt=96 ! udpsink host=127.0.0.1 port=5000
(au lieu deopenh264enc
)