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 ! autovideosinkFinally, 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. 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 |
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 |
Free forum by Nabble | Edit this page |