Video frame identification over stream

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Video frame identification over stream

tlpl
Hi everyone,

First of all - I am sorry for the layman nomenclature I am using here. I
would like to ask for some guidance regarding identification of each video
frame both on sender and receiver end. Here is the full setup:

Sender is a custom code, with pipeline like so: videotestsrc -> x264enc ->
rtph264pay -> udpsink. This udpsink sends packets to udpsrc on
GstRTSPServer, which ten streams it to receiver.

Receiver is a custom code (on the other machine) with pipeline like so:
rtpsrc -> rtph264depay -> avdec_h264 -> xvimage_sink.

RTSP streaming done like so works without problems - I've tested it many
different times with many different pipelines both on sender and receiver
end. I can modify sender and receiver in any way I like. The problem that I
am facing tho is as follows: I would like to set some unique ID on each
single video frame processed by sender before it is send, pack this unique
ID somewhere and obtain it on receiver end. Packets timestamps and seqnum
are no good since those refer to packets not each single video frame.

At this point (over 2 weeks working on this problem) I do not care about
particular solution - any method will do. Any suggestions will help greatly.
Seriously.

Best,
Tom



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Video frame identification over stream

Mathieu Duponchelle
Hey,

If you were using VP8, you could make use of its picture ID feature.

Otherwise you'll want to implement an element that you'd place after
the payloader, and that makes use of eg:

https://gstreamer.freedesktop.org/documentation/rtplib/gstrtpbuffer.html?gi-language=c#gst_rtp_buffer_add_extension_twobytes_header

You'll need an equivalent element on the receiver side.

As for how to transmit your picture ID through the payloader, you
should be able to use a custom meta, assuming it does get forwarded
by the payloader.

On 11/18/20 10:36 AM, tlpl wrote:

> Hi everyone,
>
> First of all - I am sorry for the layman nomenclature I am using here. I
> would like to ask for some guidance regarding identification of each video
> frame both on sender and receiver end. Here is the full setup:
>
> Sender is a custom code, with pipeline like so: videotestsrc -> x264enc ->
> rtph264pay -> udpsink. This udpsink sends packets to udpsrc on
> GstRTSPServer, which ten streams it to receiver.
>
> Receiver is a custom code (on the other machine) with pipeline like so:
> rtpsrc -> rtph264depay -> avdec_h264 -> xvimage_sink.
>
> RTSP streaming done like so works without problems - I've tested it many
> different times with many different pipelines both on sender and receiver
> end. I can modify sender and receiver in any way I like. The problem that I
> am facing tho is as follows: I would like to set some unique ID on each
> single video frame processed by sender before it is send, pack this unique
> ID somewhere and obtain it on receiver end. Packets timestamps and seqnum
> are no good since those refer to packets not each single video frame.
>
> At this point (over 2 weeks working on this problem) I do not care about
> particular solution - any method will do. Any suggestions will help greatly.
> Seriously.
>
> Best,
> Tom
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel