Similar as udpsrc but to pass RTP packets directly to gstreamer

surprised 1028554060 at qq.com
Thu Nov 7 11:55:19 UTC 2019


Hi,Tim.

I saw a post you answered in 2017 about timestamp,and I have some similar
problem about timestamps.So can you help me?

I just want to achieve this: 

At sender, First,I obtain YUV data via appsrc. I want to write an ID into 
each frame of YUV(before encoding), and then I encode,and then I transmit 
them into Local Area Network via rtph265pay and udpsink. 

At receiver, I receive them via udpsrc and rtph265depay,then I decode and 
get YUV data via appsink. 

My main purpose is: At receiver,I can get the ID of each YUV data so that I 
can have the knowledge that if there exists a phenomenon of lossing data 
when transmitting by checking the continuous ID numbers. 

Then I thought of  a method: Using timestamp maybe can achieve my purpose.So 
I tried. 

Now, I set "do-timestamp" as FALSE in appsrc, and I found that udpsrc also 
has the "do-timestamp" property,so I also set "do-timestamp" as FALSE in 
udpsrc. The rest of operations is as same as I set in the previous 
posts(In appsrc, I set timestamp like this: GST_BUFFER_PTS(buffer)=100;
g_signal_emit_by_name(appsrc,"push_buffer",buffer,&ret);
In appsink,I get the timestamp like this: timestamp=GST_BUFFER_PTS(buffer);
). 
Then I output the timestamp in appsink,but it doesn't equal to 100 which I 
set in appsrc. 

Is there something else I don't realize? Please help me find the problem. 
Or if I set the timestamp in GstRtpBuffer(in this way,I can set timestamp as 
frame ID and I can get this timestamp before decoding.),how can I do? 





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list