Hi,
I try to stream video via vlc and take this stream via gstreamer. I have one problem during these operations: at the first 5 seconds of streaming, I get bad video quality like following first image. After that I get normal video quality like following second image. Why does this situation occur? and How to handle that ? Note: I have used gst-parse-launch function and *gst-launch-1.0 rtspsrc \ location=rtsp://127.0.0.1:8554/test latency=0 ! \ rtph264depay ! decodebin ! videoconvert ! ximagesink name=sink* Thanks in advance <http://gstreamer-devel.966125.n4.nabble.com/file/t378859/f%C4%B1rstScreen.png> <http://gstreamer-devel.966125.n4.nabble.com/file/t378859/secondScreen.png> Fatih -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le lundi 05 août 2019 à 08:03 -0500, budakf a écrit :
> Hi, > > I try to stream video via vlc and take this stream via gstreamer. > I have one problem during these operations: > > at the first 5 seconds of streaming, I get bad video quality like following > first image. After that I get normal video quality like following second > image. Why does this situation occur? and How to handle that ? > > Note: I have used gst-parse-launch function and *gst-launch-1.0 rtspsrc \ > location=rtsp://127.0.0.1:8554/test latency=0 ! \ > rtph264depay ! decodebin ! videoconvert ! ximagesink name=sink* > > Thanks in advance > > > <http://gstreamer-devel.966125.n4.nabble.com/file/t378859/f%C4%B1rstScreen.png> > > <http://gstreamer-devel.966125.n4.nabble.com/file/t378859/secondScreen.png> without a key frame, but normally decoding should only start when first header + key frame arrives. Which CODEC is this ? One thing you can try is to add: ... ! decodebin ! identity drop-buffer-flags=corrupted ! ... > > > Fatih > > > > -- > 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 signature.asc (201 bytes) Download Attachment |
Hi
I tried to add *... ! decodebin ! identity drop-buffer-flags=corrupted ! ... *. However, there is no difference. I use gstreamer-1.4.5 and H264 as codec. Also, What is key frame ? Thanks -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
You asked "What is a Key Frame?"
If you think of a typical TV picture, much of the image stays the same from one frame to another. You could create your video file by storing each frame in its entirety - but in order to reduce the overall file size we use 'Key Frames' and 'Delta Frames'. The Key Frame has all the pixels required to make up the picture - just like a still photo. That key frame will then be followed by a series of Delta Frames which simply note the differences from the previous frame. If your video is of a news reader reading the news, the delta frames would detail the mouth moving and not much more. If you were to try to pick up your video in the middle, you would have the detail of the mouth moving - but you would know nothing about the news reader's face. Therefore, you need to include Key Frames from time to time to enable starting 'part-way through'. I hope that helps. Ian On 06/08/19 06:31, budakf wrote: > Hi > > I tried to add *... ! decodebin ! identity drop-buffer-flags=corrupted ! > ... *. However, there is no difference. > > I use gstreamer-1.4.5 and H264 as codec. Also, What is key frame ? > > > Thanks > > > > -- > 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 |
I get it
Thanks for great explanation -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Ian Davidson
On Tue, Aug 6, 2019 at 4:51 AM Ian Davidson <[hidden email]> wrote: You asked "What is a Key Frame?" Ian, isn't the Key Frame also the start of what is known as a Group of Pictures (which is a complete set of Key and Delta frames)? -aps _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Yes - although once you have seen a Key Frame, you can watch as many (or as few) Deltas as you want. But you can't start midway through. If you want to be able to go backwards, you want to have lots of
key frames. If you have a Key Frame followed by 100 Deltas, you
cannot view the last Delta frame without finding the Key frame and
then constructing all the intermediate deltas. On 06/08/19 20:47, pisymbol . wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mardi 06 août 2019 à 21:08 +0100, Ian Davidson a écrit :
Also, strictly speaking, the key frame is not self sufficient. You also need in many format sufficient headers, which are stream information. That why you often have option on pay-loaders and other peace of code to configure the "config-interval".
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |