<div dir="ltr"><b>If I use below pipeline then I can broadcast to youtube  successfully: </b><br><br>gst-launch-1.0 filesrc location=Recorded_live_streaming_on__2018_01_20___13_56_33.219076__-0800.flv ! decodebin name=demux ! queue ! videorate ! video/x-raw,framerate=30/1 ! glupload ! glcolorconvert ! gldownload ! video/x-raw ! vaapih264enc dct8x8=true cabac=true rate-control=cbr bitrate=8192 keyframe-period=60 max-bframes=0 ! flvmux name=mux ! rtmpsink sync=true async=true location="rtmp://<a href="http://x.rtmp.youtube.com/XXXXX">x.rtmp.youtube.com/XXXXX</a> live=1" demux. ! queue ! progressreport ! audioconvert ! audiorate ! audioresample ! faac bitrate=128000 ! audio/mpeg,mpegversion=4,stream-format=raw ! mux.<br><br>error: XDG_RUNTIME_DIR not set in the environment.<br>libva info: VA-API version 0.39.0<br>libva info: va_getDriverName() returns 0<br>libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>libva info: Found init function __vaDriverInit_0_39<br>libva info: va_openDriver() returns 0<br>Setting pipeline to PAUSED ...<br>error: XDG_RUNTIME_DIR not set in the environment.<br>libva info: VA-API version 0.39.0<br>libva info: va_getDriverName() returns 0<br>libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>libva info: Found init function __vaDriverInit_0_39<br>libva info: va_openDriver() returns 0<br>Pipeline is PREROLLING ...<br>Got context from element 'vaapiencodeh264-0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";<br>Got context from element 'gldownloadelement0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";<br>Redistribute latency...<br>Pipeline is PREROLLED ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>progressreport0 (00:00:05): 4 / 1984 seconds ( 0.2 %)<br>progressreport0 (00:00:10): 9 / 1984 seconds ( 0.5 %)<br>progressreport0 (00:00:15): 14 / 1984 seconds ( 0.7 %)<br>progressreport0 (00:00:20): 19 / 1984 seconds ( 1.0 %)<br><br><br><b>However, if I use glcolorbalance in this pipeline then it gives me following error and I cannot stream to youtube any more: </b><br><br>gst-launch-1.0 filesrc location=Recorded_live_streaming_on__2018_01_20___13_56_33.219076__-0800.flv ! decodebin name=demux ! queue ! videorate ! video/x-raw,framerate=30/1 ! glupload ! glcolorbalance ! glcolorconvert ! gldownload ! video/x-raw ! vaapih264enc dct8x8=true cabac=true rate-control=cbr bitrate=8192 keyframe-period=60 max-bframes=0 ! flvmux name=mux ! rtmpsink sync=true async=true location="rtmp://<a href="http://x.rtmp.youtube.com/XXXXX">x.rtmp.youtube.com/XXXXX</a> live=1" demux. ! queue ! progressreport ! audioconvert ! audiorate ! audioresample ! faac bitrate=128000 ! audio/mpeg,mpegversion=4,stream-format=raw ! mux.<br><br>error: XDG_RUNTIME_DIR not set in the environment.<br>libva info: VA-API version 0.39.0<br>libva info: va_getDriverName() returns 0<br>libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>libva info: Found init function __vaDriverInit_0_39<br>libva info: va_openDriver() returns 0<br>Setting pipeline to PAUSED ...<br>error: XDG_RUNTIME_DIR not set in the environment.<br>libva info: VA-API version 0.39.0<br>libva info: va_getDriverName() returns 0<br>libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so<br>libva info: Found init function __vaDriverInit_0_39<br>libva info: va_openDriver() returns 0<br>Pipeline is PREROLLING ...<br>Got context from element 'vaapiencodeh264-0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";<br>Got context from element 'gldownloadelement0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";<br>Redistribute latency...<br><b><i>WARNING: from element /GstPipeline:pipeline0/GstDecodeBin:demux: Delayed linking failed.<br>Additional debug info:<br>./grammar.y(510): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstDecodeBin:demux:<br>failed delayed linking some pad of GstDecodeBin named demux to some pad of GstQueue named queue0</i></b><br>^Chandling interrupt.<br>Interrupt: Stopping pipeline ...<br>ERROR: pipeline doesn't want to preroll.<br>Setting pipeline to NULL ...<br>Freeing pipeline ...<br><br><b>It seems like glcolorbalanc is causing decodebin not to link with vaapih264enc since it is the only difference between above pipeline.<br><br>I am new to gstreamer and Can any one tell me what is wrong with 2nd pipeline and why linking is failing ? </b><br><br></div>