GNOME Bugzilla – Bug 729008
videorate: inconsistent behavior
Last modified: 2018-11-03 11:29:38 UTC
I am using gstreamer-1.2.2 version. Currently I am doing decklinksink testing. These are the two pipelines I am using for testing. Each pipeline is run on different machine. Pipeline1: File input and UDP output. gst-launch-1.0 filesrc location=<file path> ! decodebin name=demux ! deinterlace mode=0 fields=1 method=4 tff=0 ! videoconvert ! videoscale ! x264enc ! mpegtsmux name=mux ! rndbuffersize min=1316 max=1316 ! udpsink host=192.168.2.150 port=7766 demux.! tee ! queue ! audioconvert ! audioresample ! volume ! rsenc_aac ! mux. Pipeline2: UDP input and SDI output. gst-launch-1.0 udpsrc port=7766 ! tee ! queue ! decodebin name=demux ! deinterlace mode=0 fields=1 method=4 tff=0 ! videoconvert ! tee ! queue ! videorate ! avvideoscale ! decklinksink device-number=1 mode=10 name=sink demux.! tee ! queue ! audioconvert ! audioresample ! volume ! sink. The output of decklinksink is seen on standard SDI Monitor. Issues facing: 1. I will start pipeline1 first and after 1 min I will start the pipeline2. In this case video freezes on the output but audio plays. 2. If I start the pipeline1 first and pipeline2 after 1 min then video plays very fast and there will be no AVsync. Is anybody else facing this issue?? Is this bug exist in the latest version also. Please help me in understanding this decklinksink behavior. Many thanks in advance.
Please ignore the above problem description, there are few mistakes. Here is the detailed description about the issue. I am using gstreamer-1.2.2 version. Currently I am doing decklinksink testing. I am sending UDP output from one machine using Pipeline_1 and receiving it on another machine using Pipeline_X. Pipeline_1: File input and UDP output. gst-launch-1.0 filesrc location=<file path> ! decodebin name=demux ! tee ! queue ! deinterlace mode=0 fields=1 method=4 tff=0 ! videoscale ! videoconvert ! videorate ! x264enc ! mpegtsmux name=mux ! rndbuffersize min=1316 max=1316 ! udpsink host=192.168.2.150 port=7766 demux.! tee ! queue ! audioconvert ! audioresample ! volume ! voaacenc ! mux. Pipeline_2: UDP input and SDI output. gst-launch-1.0 udpsrc port=7766 ! tee ! queue ! decodebin name=demux ! tee ! queue ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! videoconvert ! videorate ! decklinksink device-number=1 mode=10 name=sink demux.! tee ! queue ! audioconvert ! audioresample ! volume ! sink. The output of decklinksink is seen on standard SDI Monitor. Observatins_1: 1. I will start Pipeline_2 first and after 1 min I will start Pipeline_1. In this case video freezes on the output but audio plays. 2. If I start the Pipeline_1 first and Pipeline_2 after 1 min then video plays very fast and there will be no AVsync. Initially I was of the opinion that decklinksink has the issue. Then I further debugged and found that the issue is in videorate plugin. This can be reproduced using below mentioned pipelines: Pipeline_3: UDP input and yuv out. gst-launch-1.0 udpsrc port=9999 ! tee ! queue ! decodebin ! videoconvert ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! videoconvert ! videorate ! filesink location=out_videorate.yuv Pipeline_4: UDP input and mpegts output. gst-launch-1.0 udpsrc port=9999 ! tee ! queue ! decodebin name=demux ! tee ! queue ! videoconvert ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! videoconvert ! videorate ! x264enc ! mpegtsmux name=mux ! filesink location=videorate_issue.ts demux.! tee ! queue ! audioconvert ! audioresample ! volume ! voaacenc ! sink. Observatins_2: 1. I will start Pipeline_3 first and after 1 min I will start Pipeline_1. In this case video freezes on the output for 1 min then later plays fine till end. 2. I will start Pipeline_4 first and after 1 min I will start Pipeline_1. In this case output will be blank for 1 min then later plays fine till end. Need quick help in understanding this behaviour. Is anybody else facing this issue?? Many thanks in advance.
I could see the similar behaviour in 1.4.4. also. Here is the simple pipeline to reproduce it. gst-launch-1.0 udpsrc port=9999 ! tsdemux ! h264parse ! avdec_h264 ! videoconvert ! deinterlace mode=0 fields=1 method=4 tff=0 ! tee ! queue ! videoscale ! video/x-raw,width=176,height=144 ! videorate ! filesink location=~/videorate_issue.yuv -v start this above pipeline and wait for 30 sec. Then start the UDP input. You can frame repetition in the output yuv file. Many thanks in advance.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/117.