Hello.
I'm writting a python software to record audio+video and only audio separatedly from a single stream. When I try the recording audio+video pipeline in CMD, it works just fine: gst-launch-1.0 -e \ queue name=queuevid ! videoconvert ! x264enc ! mkv. \ queue name=queueaud ! audioconvert ! opusenc ! mkv. matroskamux name=mkv \ ! filesink location=test.mkv sync=false However, if I manually create it (or make a pipeline and add the proper ghostpads) via gst-parselaunch it just starts thew video and freezes in the first frame. It doesnt record anything, and block the debug view (autoaudiosink+autovideosink) and the "voice-only" record. Voice-only record at the same time than debugging works fine. My main setup is a uridecodebin with appsrc + audio and video tees connected to it. Those tees are connected to the needed bins (debug + record(audio) + record(audio/video) I started by manually creating a bin containing everything the pipeline has and putting it into my own pipeline, with same proplem, so I went for a more noobish solution: def _bin_record_v3(path, nombrebin="bin-grabacion", formato="mkv", intervalo=600): bin_record = Gst.Bin.new(nombrebin) pipeline_def = "queue name=queuevid ! videoconvert ! x264enc ! h264parse ! mkv. \ queue name=queueaud ! audioconvert ! opusenc ! opusparse ! mkv. matroskamux name=mkv \ ! filesink location=test.mkv sync=false" pipeline = Gst.parse_launch(pipeline_def) colavid = pipeline.get_child_by_name("queuevid") ghostpad = Gst.GhostPad.new("video-sink", colavid.get_static_pad("sink")) pipeline.add_pad(ghostpad) colaaud = pipeline.get_child_by_name("queueaud") ghostpad_aud = Gst.GhostPad.new("audio-sink", colaaud.get_static_pad("sink")) pipeline.add_pad(ghostpad_aud) bin_record.add(pipeline) ghostpad_vid2 = Gst.GhostPad.new("video-sink", pipeline.get_static_pad("video-sink")) ghostpad_aud2 = Gst.GhostPad.new("audio-sink", pipeline.get_static_pad("audio-sink")) bin_record.add_pad(ghostpad_vid2) bin_record.add_pad(ghostpad_aud2) return bin_record PS: My original goal is to use splitmuxsink, but as I had problems too, I switched to a simpler solution (filesink) in the meantime. Those are the level 4 debug logs AFTER pausing play. (building of pipe is at level 3 and gives NO warnings) I can see nothing wrong here, it pauses the pipe but I dunno why: 0:00:14.412661291 13388 0x7f1628056320 INFO GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw, format=(string)I420, width=(int)640, height=(int)360, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt601, framerate=(fraction)25/1 0:00:14.412702285 13388 0x7f1628056320 INFO GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<decodebin0> adding pad 'src_0' 0:00:14.412746372 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2315:gst_pad_link_prepare: trying to link decodebin0:src_0 and src_0:proxypad13 0:00:14.412753845 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2523:gst_pad_link_full: linked decodebin0:src_0 and src_0:proxypad13, successful 0:00:14.412759216 13388 0x7f1628056320 INFO GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event 0:00:14.412787723 13388 0x7f1628056320 INFO GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<uridecodebin0> adding pad 'src_0' 0:00:14.413066791 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2315:gst_pad_link_prepare: trying to link uridecodebin0:src_0 and video-tee:sink 0:00:14.413120882 13388 0x7f1628056320 INFO x264enc gstx264enc.c:561:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth 0:00:14.413173308 13388 0x7f1628056320 INFO x264enc gstx264enc.c:561:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth 0:00:14.413293294 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2523:gst_pad_link_full: linked uridecodebin0:src_0 and video-tee:sink, successful 0:00:14.413299523 13388 0x7f1628056320 INFO GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event 0:00:14.413332214 13388 0x7f1628056320 INFO decodebin gstdecodebin2.c:4691:gst_decode_bin_expose:<decodebin0:src_0> added new decoded pad 0:00:14.413339993 13388 0x7f1628056320 INFO GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<decodebin0> adding pad 'src_1' 0:00:14.413364851 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2315:gst_pad_link_prepare: trying to link decodebin0:src_1 and src_1:proxypad14 0:00:14.413370484 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2523:gst_pad_link_full: linked decodebin0:src_1 and src_1:proxypad14, successful 0:00:14.413374776 13388 0x7f1628056320 INFO GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event 0:00:14.413395829 13388 0x7f1628056320 INFO GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<uridecodebin0> adding pad 'src_1' 0:00:14.413428350 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2315:gst_pad_link_prepare: trying to link uridecodebin0:src_1 and audio-tee:sink 0:00:14.475106553 13388 0x7f1628056320 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)48000, channels=(int)1; 0:00:14.475127318 13388 0x7f1628056320 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int){ 8000, 12000, 16000, 24000 }, channels=(int)1; 0:00:14.475473811 13388 0x7f1628056320 INFO structure gststructure.c:3051:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 655350 ], channels=(int)1; 0:00:14.476062646 13388 0x7f1628056320 INFO GST_PADS gstpad.c:2523:gst_pad_link_full: linked uridecodebin0:src_1 and audio-tee:sink, successful 0:00:14.476071103 13388 0x7f1628056320 INFO GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event 0:00:14.476123703 13388 0x7f1628056320 INFO decodebin gstdecodebin2.c:4691:gst_decode_bin_expose:<decodebin0:src_1> added new decoded pad 0:00:14.476154301 13388 0x7f1628056320 INFO GST_STATES gstbin.c:3441:bin_handle_async_done:<decodebin0> committing state from READY to PAUSED, old pending PAUSED 0:00:14.476160143 13388 0x7f1628056320 INFO GST_STATES gstbin.c:3461:bin_handle_async_done:<decodebin0> completed state change, pending VOID 0:00:14.476163142 13388 0x7f1628056320 INFO GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<decodebin0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:14.476173099 13388 0x7f1628056320 INFO GST_STATES gstbin.c:3441:bin_handle_async_done:<uridecodebin0> committing state from READY to PAUSED, old pending PAUSED 0:00:14.476177031 13388 0x7f1628056320 INFO GST_STATES gstbin.c:3461:bin_handle_async_done:<uridecodebin0> completed state change, pending VOID 0:00:14.476179669 13388 0x7f1628056320 INFO GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<uridecodebin0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:14.476662925 13388 0x7f167046f0a0 INFO x264enc gstx264enc.c:561:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth 0:00:14.476713635 13388 0x7f167046f0a0 INFO x264enc gstx264enc.c:561:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth 0:00:14.476795599 13388 0x7f167046f0a0 INFO x264enc gstx264enc.c:561:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth 0:00:14.476869378 13388 0x7f167046f0a0 INFO basetransform gstbasetransform.c:1370:gst_base_transform_setcaps:<videoconvert0> reuse caps 0:00:14.476911799 13388 0x7f167046f0a0 INFO GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event video/x-raw, format=(string)I420, width=(int)640, height=(int)360, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt601, framerate=(fraction)25/1 0:00:14.476941307 13388 0x7f167046f0a0 INFO x264enc gstx264enc.c:561:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth 0:00:14.477077513 13388 0x7f167046f0a0 INFO x264enc :0::<x264enc0> using SAR=1/1 0:00:14.477290236 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:941:gst_audio_converter_new: unitsizes: 8 -> 4 0:00:14.477299922 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:599:chain_unpack: unpack format F32LE to F64LE 0:00:14.477315776 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:656:chain_mix: mix format F64LE, passthrough 1, in_channels 2, out_channels 2 0:00:14.477320680 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:717:chain_convert_out: convert F64 to S32 0:00:14.477324949 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:743:chain_quantize: depth in 32, out 16 0:00:14.477328080 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:757:chain_quantize: using dither 2 and noise shaping 0 0:00:14.477331339 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:767:chain_quantize: quantize to 16 bits, dither 2, ns 0 0:00:14.477334873 13388 0x7f167046f0f0 INFO audio-converter audio-converter.c:790:chain_pack: pack format S32LE to S16LE 0:00:14.477338824 13388 0x7f167046f0f0 INFO GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event audio/x-raw, rate=(int)48000, channels=(int)2, format=(string)S16LE, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003 0:00:14.477556104 13388 0x7f167046f0f0 INFO audioencoder gstaudioencoder.c:1662:gst_audio_encoder_sink_event_default:<opusenc0> upstream stream tags: taglist; 0:00:14.477589875 13388 0x7f167046f0f0 INFO audioencoder gstaudioencoder.c:1662:gst_audio_encoder_sink_event_default:<opusenc0> upstream stream tags: taglist; 0:00:14.477638385 13388 0x7f167046f0f0 INFO audioconvert gstaudioconvert.c:224:gst_audio_convert_get_unit_size:<audioconvert0> unit_size = 8 0:00:14.477644778 13388 0x7f167046f0f0 INFO audioconvert gstaudioconvert.c:224:gst_audio_convert_get_unit_size:<audioconvert0> unit_size = 4 0:00:14.477697031 13388 0x7f167046f0a0 INFO x264enc :0::<x264enc0> using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 0:00:14.477706266 13388 0x7f167043a320 INFO audio-converter audio-converter.c:941:gst_audio_converter_new: unitsizes: 8 -> 6 0:00:14.477716155 13388 0x7f167043a320 INFO audio-converter audio-converter.c:599:chain_unpack: unpack format F32LE to F64LE 0:00:14.477728334 13388 0x7f167043a320 INFO audio-converter audio-converter.c:656:chain_mix: mix format F64LE, passthrough 1, in_channels 2, out_channels 2 0:00:14.477732816 13388 0x7f167043a320 INFO audio-converter audio-converter.c:717:chain_convert_out: convert F64 to S32 0:00:14.477736926 13388 0x7f167043a320 INFO audio-converter audio-converter.c:743:chain_quantize: depth in 32, out 24 0:00:14.477740185 13388 0x7f167043a320 INFO audio-converter audio-converter.c:755:chain_quantize: using no dither and noise shaping 0:00:14.477742630 13388 0x7f167043a320 INFO audio-converter audio-converter.c:767:chain_quantize: quantize to 24 bits, dither 0, ns 0 0:00:14.477746144 13388 0x7f167043a320 INFO audio-converter audio-converter.c:790:chain_pack: pack format S32LE to S24LE 0:00:14.477749844 13388 0x7f167043a320 INFO GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event audio/x-raw, rate=(int)48000, channels=(int)2, format=(string)S24LE, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003 0:00:14.477789236 13388 0x7f167043a320 INFO audioencoder gstaudioencoder.c:1662:gst_audio_encoder_sink_event_default:<flacenc0> upstream stream tags: taglist; 0:00:14.477799254 13388 0x7f167043a320 INFO audioencoder gstaudioencoder.c:1662:gst_audio_encoder_sink_event_default:<flacenc0> upstream stream tags: taglist; 0:00:14.478147331 13388 0x7f1628056320 INFO basetransform gstbasetransform.c:1370:gst_base_transform_setcaps:<capsfilter0> reuse caps 0:00:14.478260482 13388 0x7f167043a320 INFO audioconvert gstaudioconvert.c:224:gst_audio_convert_get_unit_size:<converter-audio-transcripcion> unit_size = 8 0:00:14.478267839 13388 0x7f167043a320 INFO audioconvert gstaudioconvert.c:224:gst_audio_convert_get_unit_size:<converter-audio-transcripcion> unit_size = 6 0:00:14.478744921 13388 0x7f167046f0f0 INFO opusenc gstopusenc.c:529:gst_opus_enc_setup_channel_mappings:<opusenc0> Stereo, trivial RTP mapping 0:00:14.478751378 13388 0x7f167046f0f0 INFO opusenc gstopusenc.c:702:gst_opus_enc_setup:<opusenc0> Mapping tables built: 2 channels, 1 stereo streams 0:00:14.478757482 13388 0x7f167046f0f0 INFO opusenc gstopuscommon.c:109:gst_opus_common_log_channel_mapping_table:<opusenc0> Encoding mapping table: [ 0 1 ] 0:00:14.478761862 13388 0x7f167046f0f0 INFO opusenc gstopuscommon.c:109:gst_opus_common_log_channel_mapping_table:<opusenc0> Decoding mapping table: [ 0 1 ] 0:00:14.478849834 13388 0x7f167046f0f0 INFO GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event audio/x-opus, rate=(int)48000, channels=(int)2, channel-mapping-family=(int)0, stream-count=(int)1, coupled-count=(int)1, streamheader=(buffer)< 4f707573486561640102380180bb0000000000, 4f707573546167731e000000456e636f6465642077697468204753747265616d6572206f707573656e630000000001 > 0:00:14.479034855 13388 0x7f167043a320 WARN flacenc gstflacenc.c:694:gst_flac_enc_set_metadata:<flacenc0> total time unknown; can not add seekpoints 0:00:14.479162149 13388 0x7f167046f0f0 INFO baseparse gstbaseparse.c:4767:gst_base_parse_set_upstream_tags:<opusparse0> upstream tags: taglist, bitrate=(uint)64000; 0:00:14.479260902 13388 0x7f167046f0f0 INFO GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event audio/x-opus, rate=(int)48000, channels=(int)2, channel-mapping-family=(int)0, stream-count=(int)1, coupled-count=(int)1, streamheader=(buffer)< 4f707573486561640102380180bb0000000000, 4f707573546167731f0000004753747265616d657220656e636f64656420766f72626973636f6d6d656e740000000001 > 0:00:14.479805244 13388 0x7f167046f140 INFO pulse pulsesink.c:968:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> tlength: 76800 0:00:14.480503465 13388 0x7f167046f140 INFO pulse pulsesink.c:969:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> maxlength: -1 0:00:14.480510113 13388 0x7f167046f140 INFO pulse pulsesink.c:970:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> prebuf: 0 0:00:14.480513186 13388 0x7f167046f140 INFO pulse pulsesink.c:971:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> minreq: 3840 0:00:14.480922733 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)60375, maximum-bitrate=(uint)60375, bitrate=(uint)61650; 0:00:14.481231545 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)58500, maximum-bitrate=(uint)60375, bitrate=(uint)61363; 0:00:14.481338568 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)57000, maximum-bitrate=(uint)60375, bitrate=(uint)61000; 0:00:14.481887230 13388 0x7f167043a320 INFO flacenc gstflacenc.c:1147:gst_flac_enc_write_callback:<flacenc0> Non-header packet, we have all headers now 0:00:14.481913160 13388 0x7f167043a320 INFO GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event audio/x-flac, channels=(int)2, rate=(int)48000, streamheader=(buffer)< 7f464c414301000002664c614300000022120012000000000000000bb803700000000000000000000000000000000000000000, 84000028200000007265666572656e6365206c6962464c414320312e332e3220323031373031303100000000 > 0:00:14.481941079 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)57000, maximum-bitrate=(uint)61500, bitrate=(uint)61038; 0:00:14.481985699 13388 0x7f167043a320 INFO GST_STATES gstbin.c:3441:bin_handle_async_done:<bin-transcrpcion> committing state from READY to PAUSED, old pending PAUSED 0:00:14.481992628 13388 0x7f167043a320 INFO GST_STATES gstbin.c:3461:bin_handle_async_done:<bin-transcrpcion> completed state change, pending VOID 0:00:14.481996372 13388 0x7f167043a320 INFO GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<bin-transcrpcion> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:14.482178570 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)57000, maximum-bitrate=(uint)62250, bitrate=(uint)61125; 0:00:14.482424340 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)54375, maximum-bitrate=(uint)62250, bitrate=(uint)60675; 0:00:14.482631728 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)62250, bitrate=(uint)60044; 0:00:14.482783698 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)64875, bitrate=(uint)60276; 0:00:14.483799546 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)65250, bitrate=(uint)60323; 0:00:14.483921548 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)67125, bitrate=(uint)60437; 0:00:14.484028463 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)71250, bitrate=(uint)60865; 0:00:14.484380255 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)71625, bitrate=(uint)61263; 0:00:14.484457452 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)86250, bitrate=(uint)62156; 0:00:14.484521115 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)92250, bitrate=(uint)63193; 0:00:14.485454237 13388 0x7f162805bcf0 INFO audiodecoder gstaudiodecoder.c:2320:gst_audio_decoder_sink_eventfunc:<avdec_aac0> upstream stream tags: taglist, audio-codec=(string)"MPEG-4\ AAC", minimum-bitrate=(uint)53250, maximum-bitrate=(uint)92250, bitrate=(uint)64605; 0:00:14.486422067 13388 0x7f167046f0a0 INFO x264enc :0::<x264enc0> profile High, level 3.0 0:00:14.486419701 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)116800, maximum-bitrate=(uint)116800, bitrate=(uint)352180; 0:00:14.486648101 13388 0x7f167046f0a0 INFO x264enc gstx264enc.c:1992:gst_x264_enc_set_latency:<x264enc0> Updating latency to 0:00:01.960000000 (49 frames) 0:00:14.486716629 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.486729122 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.487702656 13388 0x7f167046f050 INFO GST_STATES gstbin.c:3441:bin_handle_async_done:<autovideosink0> committing state from READY to PAUSED, old pending PAUSED 0:00:14.487722544 13388 0x7f167046f050 INFO GST_STATES gstbin.c:3461:bin_handle_async_done:<autovideosink0> completed state change, pending VOID 0:00:14.487728766 13388 0x7f167046f050 INFO GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<autovideosink0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:14.488667979 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)116800, maximum-bitrate=(uint)119600, bitrate=(uint)331036; 0:00:14.489393272 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)119600, bitrate=(uint)312616; 0:00:14.491801960 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)135000, bitrate=(uint)298953; 0:00:14.492428903 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)176400, bitrate=(uint)290200; 0:00:14.492858833 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)184000, bitrate=(uint)283120; 0:00:14.493019177 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.493277554 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)218400, bitrate=(uint)279075; 0:00:14.493679994 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.494335504 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)267200, bitrate=(uint)278376; 0:00:14.494360598 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.494803732 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)271200, bitrate=(uint)277977; 0:00:14.494997341 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.495723435 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.496042177 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)292800, bitrate=(uint)277910; 0:00:14.496344349 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)308400, bitrate=(uint)279361; 0:00:14.496360127 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.496940153 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.497936868 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.498510701 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.499751807 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.504633387 13388 0x7f167046f0a0 INFO videoencoder gstvideoencoder.c:1089:gst_video_encoder_sink_event_default:<x264enc0> upstream tags: taglist; 0:00:14.506299352 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)308400, bitrate=(uint)273214; 0:00:14.507271685 13388 0x7f1628056320 INFO videodecoder gstvideodecoder.c:1342:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ \(Constrained\ Baseline\ Profile\)", minimum-bitrate=(uint)110000, maximum-bitrate=(uint)308400, bitrate=(uint)266520; 0:00:14.538627875 13388 0x7f167046f140 INFO pulse pulsesink.c:1021:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> negotiated to: pcm, format.sample_format = "\"float32le\"" format.channels = "2" format.rate = "48000" format.channel_map = "\"front-left,front-right\"" 0:00:14.538644673 13388 0x7f167046f140 INFO pulse pulsesink.c:1034:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> tlength: 42240 (wanted: 76800) 0:00:14.538649277 13388 0x7f167046f140 INFO pulse pulsesink.c:1035:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> maxlength: 4194304 0:00:14.538652787 13388 0x7f167046f140 INFO pulse pulsesink.c:1036:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> prebuf: 0 0:00:14.538655681 13388 0x7f167046f140 INFO pulse pulsesink.c:1038:gst_pulseringbuffer_acquire:<autoaudiosink0-actual-sink-pulse> minreq: 3840 (wanted 3840) 0:00:14.538675242 13388 0x7f167046f140 INFO ringbuffer gstaudioringbuffer.c:581:gst_audio_ring_buffer_acquire:<pulseringbuffer0> Allocating an array for 11 timestamps 0:00:14.538930187 13388 0x7f167046f140 INFO GST_STATES gstbin.c:3441:bin_handle_async_done:<autoaudiosink0> committing state from READY to PAUSED, old pending PAUSED 0:00:14.538938728 13388 0x7f167046f140 INFO GST_STATES gstbin.c:3461:bin_handle_async_done:<autoaudiosink0> completed state change, pending VOID 0:00:14.538942212 13388 0x7f167046f140 INFO GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<autoaudiosink0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:14.538951777 13388 0x7f167046f140 INFO GST_STATES gstbin.c:3441:bin_handle_async_done:<bin-stdout> committing state from READY to PAUSED, old pending PAUSED 0:00:14.538956026 13388 0x7f167046f140 INFO GST_STATES gstbin.c:3461:bin_handle_async_done:<bin-stdout> completed state change, pending VOID 0:00:14.538958909 13388 0x7f167046f140 INFO GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<bin-stdout> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:24.037819445 13388 0x7f167043a280 WARN xvimagesink xvimagesink.c:555:gst_xv_image_sink_handle_xevents:<autovideosink0-actual-sink-xvimage> error: Output window was closed 0:00:24.037856363 13388 0x7f167043a280 INFO GST_ERROR_SYSTEM gstelement.c:1890:gst_element_message_full_with_details:<autovideosink0-actual-sink-xvimage> posting message: Output window was closed 0:00:24.037880572 13388 0x7f167043a280 INFO GST_ERROR_SYSTEM gstelement.c:1917:gst_element_message_full_with_details:<autovideosink0-actual-sink-xvimage> posted error message: Output window was closed -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
This is the bin that actually works to display video/audio on screen for
debugging purposes: def _bin_stdout(nombrebin="bin-stdout", ignorar_video=False): bin_autosink = Gst.Bin.new(nombrebin) if not ignorar_video: cola = Gst.ElementFactory.make("queue", "cola-video-debug") bin_autosink.add(cola) ghostpad_video = Gst.GhostPad.new("video-sink", cola.get_static_pad("sink")) bin_autosink.add_pad(ghostpad_video) videosink = Gst.ElementFactory.make("autovideosink") bin_autosink.add(videosink) cola.link(videosink) cola2 = Gst.ElementFactory.make("queue", "cola-audio-debug") bin_autosink.add(cola2) ghostpad_audio = Gst.GhostPad.new("audio-sink", cola2.get_static_pad("sink")) bin_autosink.add_pad(ghostpad_audio) audiosink = Gst.ElementFactory.make("autoaudiosink") bin_autosink.add(audiosink) cola2.link(audiosink) return bin_autosink It's made in the same way than the others, so I guess the problem is within BIN creation, and not with the envelope. It's very similar to the playbin python tutorial:https://brettviren.github.io/pygst-tutorial-org/pygst-tutorial.pdf, just using uridecodebin (pads are added properly!) THIS manually created bin doesnt work either: def _bin_record_v2(path, nombrebin="bin-grabacion", formato="mkv", intervalo=600): bin_record = Gst.Bin.new(nombrebin) nanosegundos = intervalo * 1000000000 # Convertir los segundos en nanosegs # Creamos y preparamos el splitmuxsink. # TODO: Lo ideal seria streamearlo direco a otro Gstreamer con recepción, y que este lo grabe con tranquilidad en el disco duro. #splitmuxsink = Gst.ElementFactory.make("splitmuxsink", "splitmuxsink-grabacion") splitmuxsink = Gst.ElementFactory.make("filesink", "splitmuxsink-grabacion") #splitmuxsink.set_property('max-size-time', nanosegundos) extension_file = "mkv" encoder_video = Gst.ElementFactory.make("x264enc") encoder_audio = Gst.ElementFactory.make("opusenc") muxer = Gst.ElementFactory.make("matroskamux") splitmuxsink.set_property('location', path + "." + extension_file) # Añadir el encoder al bin if encoder_video is not None: cola_video = Gst.ElementFactory.make("queue", "cola-video-grabacion") bin_record.add(cola_video) ghostpad_video = Gst.GhostPad.new("video-sink", cola_video.get_static_pad("sink")) bin_record.add_pad(ghostpad_video) videoconvert = Gst.ElementFactory.make("videoconvert", "converter-video-grabacion") bin_record.add(videoconvert) cola_video.link(videoconvert) bin_record.add(encoder_video) videoconvert.link(encoder_video) if encoder_audio is not None: cola_audio = Gst.ElementFactory.make("queue", "cola-audio-grabacion") bin_record.add(cola_audio) ghostpad_audio = Gst.GhostPad.new("audio-sink", cola_audio.get_static_pad("sink")) bin_record.add_pad(ghostpad_audio) audioconvert = Gst.ElementFactory.make("audioconvert", "converter-audio-grabacion") bin_record.add(audioconvert) cola_audio.link(audioconvert) bin_record.add(encoder_audio) audioconvert.link(encoder_audio) -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |