Je suis novice avec gstreamer et j'essaye d'être utilisé avec elle. Mon premier objectif est de créer un flux rtp simple de vidéo h264 entre deux appareils. J'utilise ces deux pipelines:Flux vidéo H.264 sur rtp en utilisant gstreamer
Auteur: gst-launch-1.0 -v filesrc location=c:\\tmp\\sample_h264.mov ! x264enc ! rtph264pay ! udpsink host=127.0.0.1 port=5000
Récepteur: gst-launch-1.0 -v udpsrc port=5000 ! rtpmp2tdepay ! decodebin ! autovideosink
Mais avec le premier (l'expéditeur) Je suis l'erreur suivante:
Setting pipeline to PAUSED ...
Pipeline is PE*R*O L(LgIsNtG- l.a.u.n
h-1.0:5788): CRITICAL **: gst_adapter_map: assertion `size > 0' failed
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2812): gst_base_src_loop(): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
J'ai essayé beaucoup d'autres configurations, mais je ne pouvais pas trouver le bon pipeline.
d'autres informations: Version Gstreamer: 1.0.7 OS: Windows 7
Toute idée/suggestion? Thx,
Merci pour les données soupçon brutes/vidéo, mais je pense que cela résout juste une partie du problème. J'ai essayé le pipeline classique avec videotestsrc mais rien ne va à l'autre côté. Même avec le pipeline suivant, je ne peux rien recevoir de l'autre côté: 'gst-launch-1.0 -v videotestsrc! udpsink host = 192.128.52.128 port = 9001' J'ai le sentiment que l'udpsink n'envoie rien! PS: n'est pas un problème de pare-feu, je les désactiver tous – abir
Essayer avec: 'ffmpeg -i C: \ tmp \ sample_h264.mov -f mpegts udp: //192.168.52.128: 9001' ... et le flux est reçu de l'autre côté. Mais je veux le faire avec gstreamer – abir
'videotestsrc! udpsink' n'est * pas * un flux RTP. vous devez ajouter un payloader –