Open aidanbarrett opened 2 years ago
I have met similar problem, maybe you also need set "interpipesink async=false" for the live source. You can have a try.
i also ran into this problem today. one strange thing i've noticed. when i run the pipeline immediatly after the stream started publishing ( via nginx-rtmp) it works also through interpipes but if i wait for a couple of seconds i just get a frozen image.
fyi: when setting qos=false on the final sink rtmp is working through interpipes i still need to find out if there are other implications in my application if turning off quality of service.
GST_DEBUG=1,*interpipe*:5 gst-launch-1.0 -v rtmp2src location=$RTMP_SRC ! flvdemux name=demux ! h264parse ! avdec_h264 ! queue ! identity name=id ! interpipesink sync=true name=rtmp drop=false interpipesrc listen-to=rtmp format=time stream-sync=restart-ts is-live=true ! videoconvert ! queue ! xvimagesink qos=false
i saw that centricular did it that way in their rtmp-slate-fallback example https://github.com/centricular/rtmp-slate-fallback
Using decodebin or uridecodebin with an rtmp source and interpipe results in a frozen frame on output.
This works fine:
But using a live rtmp source like in this example:
results in the first frame being launched and and then lots of the following warnings:
I've experimented with different options mentioned in this issue(https://github.com/RidgeRun/gst-interpipe/issues/109) like setting
is-live=true
as well as usingstream-sync
in interpipesrc.Setting
restart-ts
seems to almost work but then uridecodebin and decodebin allow 1 frame through, freeze for 1s, buffer, repeat...I've roughly recreated the uridecodebin pipeline and this seems to work fine: