Suggestion seeked for h265 codec appsink-appsrc pipeline

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

Suggestion seeked for h265 codec appsink-appsrc pipeline

jeyp4
This post was updated on .
Hi

In my C++ applications, I am trying to obtain below pipelines.

 v4l2src ( I420, fps=25) ! omxh265enc ( iframeinterval=25, preset-level=1) ! appsink (video/x-h265, stream-format=byte-stream, alignment=au)


appsrc (video/x-h265, stream-format=byte-stream, alignment=au, fps=25, do-timestamp=TRUE, is-live=TRUE) ! nvh265dec ! autovideosink


Finally, autovideosink shows the stream, but I see ghosting effect in presence of movements.


I suspect it is because of non-uniformly placed in time h265 packets.(referring below figure){Because I notice better quality in wired communication}. The wireless network carrier is ROS+VPN+4G.
Non uniform h265packets in time 

I find big latency in RTPH server pipelines, that's why I choose ROS method. Also, I am thinking to avoid using any queue in receiver pipeline so that I can achieve minimum latency target.

Can someone provide any suggestion to improve my results? Note: With every packet from transmitter, I also carry extra info. E.g. fps, dts, pts, duration, height and width. (Just in case if it can be used to improve results)

{h265parse doesn't change anything, but on the contrary it adds latency of 1 frame.}



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

Re: Suggestion required for h265 codec appsink-appsrc pipeline

Nicolas Dufresne-5
Le jeudi 27 août 2020 à 11:40 -0500, jeyp4 a écrit :

> Hi
>
> In my C++ applications, I am trying to obtain below pipelines.
>  v4l2src ( I420, fps=25) ! omxh265enc ( iframeinterval=25) ! appsink
> (video/x-h265, stream-format=byte-stream, alignment=au)
>
> appsrc (video/x-h265, stream-format=byte-stream, alignment=au, fps=25,
> do-timestamp=TRUE, is-live=TRUE) ! nvh265dec ! autovideosink
>
> Finally, autovideosink shows the stream, but I see ghosting effect in
> presence of movements.
>
>
> I suspect it is because of non-uniformly placed in time h265
> packets.(referring below figure). The network carrier is ROS+VPN+4G.
> <http://gstreamer-devel.966125.n4.nabble.com/file/t379085/nabbleAsk.jpg>

You should avoid using do_timestamp=TRUE on the appsrc and reuse the TS
coming out of appsink. Be aware you might need to push a segment event
to align the first TS to time 0 do playback is immediate.

>
> I find big latency in RTPH server pipelines, that's why I choose ROS method.

Can you define your acronyms ?

> Also, I am thinking to avoid using any queue in receiver pipeline so that I
> can achieve minimum latency target.

Queues don't add significant latency (few micro seconds perhaps).
Queues are only there to buffer ahead of time data and to seperate the
pipeline in more threads.

>
> Can someone provide any suggestion to improve my results? Note: With every
> packet from transmitter, I also carry extra info. E.g. fps, dts, pts,
> duration, height and width. (Just in case if it can be used to improve
> results)

If you re-implement everything from RTP in term of timing, that would
be ideal. You may just use RTP streaming. You can achieve low latency
with it, though you haven't define the level of latency you are
targetting.

>
>
>
> --
> 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