<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Hi,</div><div><br></div><div>I'm working on Ubuntu 20.04, shipped with:</div><div> - gstreamer 1.16.2</div><div> - ffmpeg 4.2.2</div><div> - nginx 1.17.10</div><div> - libnginx-mod-rtmp 1.17.10</div><div>(all from Ubuntu official repo)</div><div><br></div><div>The nginx configuration is:</div><div><div>> rtmp {</div><div>>        server {</div><div>>                listen 1935;</div><div>>                application tv {</div><div>>                        live on;</div><div>>                }</div><div>>        }</div><div>> }</div></div><div>so that it acts as a media server.</div><div><br></div><div>With this command, I can push a test video stream to nginx:</div><div>> gst-launch-1.0 videotestsrc ! x264enc ! flvmux ! rtmpsink location='rtmp://127.0.0.1/tv live=1'</div><div><br></div><div>I can open the video stream with ffmpeg:</div><div>> ffplay rtmp://127.0.0.1/tv</div><div><br></div><div>However when I tried several gstreamer commands, all of them failed:</div><div><br></div><div><div>> $ gst-launch-1.0 playbin uri=rtmp://127.0.0.1/tv</div><div>> Setting pipeline to PAUSED ...</div><div>> ERROR: Pipeline doesn't want to pause.</div><div>> ERROR: from element /GstURIDecodeBin:uridecodebin0: Could not parse RTMP URI</div><div>> Additional debug info:</div><div>> gsturidecodebin.c(1413): gen_source_element (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0:</div><div>> No element accepted URI 'rtmp://127.0.0.1/tv'</div><div>> Setting pipeline to NULL ...</div><div>> Freeing pipeline ...</div></div><div><br></div><div><div>> $ gst-launch-1.0 rtmpsrc location='rtmp://127.0.0.1/tv live=1' ! decodebin ! autovideosink</div><div>> Setting pipeline to PAUSED ...</div><div>> ERROR: Pipeline doesn't want to pause.</div><div>> ERROR: from element /GstPipeline:pipeline0/GstRTMPSrc:rtmpsrc0: Could not open resource for reading.</div><div>> Additional debug info:</div><div>> gstrtmpsrc.c(626): gst_rtmp_src_start (): /GstPipeline:pipeline0/GstRTMPSrc:rtmpsrc0:</div><div>> No filename given</div><div>> Setting pipeline to NULL ...</div><div>> Freeing pipeline ...</div></div><div><br></div><div><div>> $ gst-launch-1.0 rtmpsrc location='rtmp://127.0.0.1/tv live=1' ! flvdemux ! decodebin ! autovideosink</div><div>> Setting pipeline to PAUSED ...</div><div>> ERROR: Pipeline doesn't want to pause.</div><div>> ERROR: from element /GstPipeline:pipeline0/GstRTMPSrc:rtmpsrc0: Could not open resource for reading.</div><div>> Additional debug info:</div><div>> gstrtmpsrc.c(626): gst_rtmp_src_start (): /GstPipeline:pipeline0/GstRTMPSrc:rtmpsrc0:</div><div>> No filename given</div><div>> Setting pipeline to NULL ...</div><div>> Freeing pipeline ...</div></div><div><br></div><div><div>I also tried encoding with avenc_flv, but there's no difference.</div><div><br></div></div><div>I'd like to know what is the cause of the failure, and what is the correct way of playing rtmp stream with gstreamer.</div><div><br></div><div>Regards</div><div>Windy<br></div><div><br></div></div><br><br><span title="neteasefooter"><p> </p></span>