2012-10-24 4 views
1

J'utilise le pipeline suivant (Simplified) à Gstreamer OSS Construire 0.10.7 sur Win 7 x64:Gstreamer MUX, casquettes refusé

udpsrc ! application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264,  payload=(int)96 ! 
gstrtpjitterbuffer latency=200 ! rtph264depay ! tee name=h264Tee 

h264Tee. ! queue ! h264parse ! mux. 

matroskamux name=mux ! filesink location=rec.mkv sync=false // same for avimux/mp4/qt 

h264Tee. ! queue ! ffdec_h264 ! tee name=videoTee 

//.videoTee ! queue ! dx9videosink 
//.videoTee ! queue ! appsink 

//udpsrc ! queue ! directsoundsink 

audiotestsrc ! mux. //only for testing, should be connected to udpsrc 

Le pipeline est lancé par Gstreamer-Sharp. est ici la sortie de la console du pipeline:

WARN default xoverlay.c:354:gst_x_overlay_set_xwindow_id:<videoSink> Using deprecated gst_x_overlay_set_xwindow_id() 
ERROR d3dvideosink d3dvideosink.c:2204:gst_d3dvideosink_release_swap_chain: Direct3D device has not been initialized 
WARN bin gstbin.c:2378:gst_bin_do_latency_func:<pipeline0> failed to query latency 
WARN matroskamux matroska-mux.c:970:gst_matroska_mux_video_pad_setcaps:<mux> pad video_0 refused caps 05370C40 

vidéo et audio jouent très bien aussi longtemps que je laisse le muxer. Lorsque vous incluez le multiplexeur dans le pipeline, la vidéo se fige immédiatement et aucun son ne peut être entendu. Quel est le problème pourquoi le muxer refuse les casquettes?

Répondre

0

Ok, je l'ai résolu: Les captures vidéo ci-dessus ne contiennent pas d'ensembles de paramètres de sprop qui ne sont pas nécessaires pour la lecture. Pour le codage, cependant, ils sont nécessaires car les diverses propriétés du flux sont codées à l'intérieur de ceux-ci:

udpsrc ! 
application/x-rtp, media=(string)video, clock-rate=(int)90000, 
encoding-name=(string)H264, 
sprop-parameter-sets= (string)\"Z0LADdkBQfsBEAAAAwAQAAADAyjxQqSA\\,aMuMTIA\\=\", 
payload=(int)96, 
ssrc (uint)2332354585, 
clock-base=(uint)1158355497, 
seqnum-base=(uint)10049 ! 
gstrtpjitterbuffer latency=200 ! rtph264depay ! tee name=h264Tee 

...