After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 725867 - h264parse: rtph264pay udpsink timestamps
h264parse: rtph264pay udpsink timestamps
Status: RESOLVED DUPLICATE of bug 709756
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.x
Other All
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-03-07 01:16 UTC by troy
Modified: 2014-11-24 17:14 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description troy 2014-03-07 01:16:00 UTC
Hi all: 
I am using gstreamer to transmit h.264 video stream,My pipeline is: 

filesrc(test.264) --> rh264parse --> rtph264pay --> udpsink 

the Python code is as follow.I use an player to accept the video,But about 1-3S after PLAYING,it stopped.I catch the packet by wireshark, It show that after 1-3S,it stop send packets,What is the problem????? Please help me!!! 

PYTHON CODE: 


class exchange_stream(threading.Thread): 
    def __init__(self,port_v): 
        threading.Thread.__init__(self) 

        self.pipeline = Gst.Pipeline() 

        self.filesrc =  Gst.ElementFactory.make('filesrc', 'filesrc') 
        self.pipeline.add(self.filesrc) 
        self.filesrc.set_property('location','es.264') 

        self.queue = Gst.ElementFactory.make('queue','queue') 
        self.pipeline.add(self.queue) 

        self.h264parse  = Gst.ElementFactory.make('h264parse','h264parse') 
        self.pipeline.add(self.h264parse) 

        self.rtph264pay  = Gst.ElementFactory.make('rtph264pay','rtph264pay') 
        self.rtph264pay.set_property('pt',111) 
        self.pipeline.add(self.rtph264pay) 

        self.udpsink = Gst.ElementFactory.make('udpsink','appsink') 
        self.pipeline.add(self.udpsink) 
        self.udpsink.set_property('host','10.10.1.151') 
        self.udpsink.set_property('port',port_v) 
        self.udpsink.set_property('sync',False) 
        self.filesrc.link(self.queue) 
        self.queue.link(self.h264parse) 
        self.h264parse.link(self.rtph264pay) 
        self.rtph264pay.link(self.udpsink) 

        self.pipeline.set_state(Gst.State.PLAYING) 
        self.mainloop = GObject.MainLoop() 
        self.mainloop.run() 
And i capture the packages by wireshak,I find that 'timestamps' is all the same.
Comment 1 troy 2014-03-07 01:17:12 UTC
I set self.udpsink.set_property('sync',True),it is invalid.
Comment 2 Tim-Philipp Müller 2014-03-07 01:23:38 UTC
What version is this with exactly?

I think the problem is (was?) that h264parse doesn't timestamp the ES stream from file properly. Might be fixed already.
Comment 3 troy 2014-03-07 01:29:55 UTC
I test 1.1.4 and 1.2.0,the result is the same.
Comment 4 Tim-Philipp Müller 2014-03-07 09:16:57 UTC
It would make more sense to test 1.2.3 (or the head of the 1.2 branch) and git master (1.3.x) rather than random old versions :)
Comment 5 Tim-Philipp Müller 2014-11-24 17:14:57 UTC
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find.

*** This bug has been marked as a duplicate of bug 709756 ***