Video Quality/Resolution Problem in Gstreamer

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

Video Quality/Resolution Problem in Gstreamer

budakf
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
Reply | Threaded
Open this post in threaded view
|

Re: Video Quality/Resolution Problem in Gstreamer

Nicolas Dufresne-5
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>
Which version of GStreamer is this ? It seems like it's decoding
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
Reply | Threaded
Open this post in threaded view
|

Re: Video Quality/Resolution Problem in Gstreamer

budakf
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
Reply | Threaded
Open this post in threaded view
|

Re: Video Quality/Resolution Problem in Gstreamer

Ian Davidson
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
Reply | Threaded
Open this post in threaded view
|

Re: Video Quality/Resolution Problem in Gstreamer

budakf
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
Reply | Threaded
Open this post in threaded view
|

Re: Video Quality/Resolution Problem in Gstreamer

pisymbol .
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?"

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

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
Reply | Threaded
Open this post in threaded view
|

Re: Video Quality/Resolution Problem in Gstreamer

Ian Davidson

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:


On Tue, Aug 6, 2019 at 4:51 AM Ian Davidson <[hidden email]> wrote:
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'.

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


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

Re: Video Quality/Resolution Problem in Gstreamer

Nicolas Dufresne-5
Le mardi 06 août 2019 à 21:08 +0100, Ian Davidson a écrit :

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.


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


On 06/08/19 20:47, pisymbol . wrote:


On Tue, Aug 6, 2019 at 4:51 AM Ian Davidson <[hidden email]> wrote:
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'.


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

_______________________________________________
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