filesink with 60 fps

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

filesink with 60 fps

Ilya Aleshkov
Hi,

I'm capturing 720p 60 fps streams with my Logitech C922 Pro Stream Webcam:

gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! filesink location=video.h264 


But resulting files play two times faster than needed. I have no idea why.
There are no any problems when rendering on the screen:

gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! autovideosink

Have you ever seen something like this?

Thanks,
Ilya  

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

Re: filesink with 60 fps

Nicolas Dufresne-5
Le mercredi 23 janvier 2019 à 17:17 +0300, Ilya Aleshkov a écrit :

> Hi,
>
> I'm capturing 720p 60 fps streams with my Logitech C922 Pro Stream Webcam:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! filesink location=video.h264
>
> But resulting files play two times faster than needed. I have no idea why.
> There are no any problems when rendering on the screen:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! autovideosink
>
> Have you ever seen something like this?
Bare H264 bytestream have no time information. Use a container like
MP4, MKV, FLV, TS, etc in order to store you videostream with
appropriate time information. As an example:

gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! matroskamux ! filesink location=video.mkv

>
> Thanks,
> Ilya  
> _______________________________________________
> 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: filesink with 60 fps

Ilya Aleshkov
Nicolas,

Thank you so much! Now I'm able to encode and play streams with any desired framerate.
But I've noticed one strange thing. When I open the generated .mkv-files with VLC (or any other player) it can't recognize its duration.
In opposite to this behavior, when I encode .mkv from bare H264 bytestream with x264:
x264 --crf 18 -o output.mkv video.h264
I'm able to see proper duration and progress in any media player.
I have already tried all parameters of the x264enc and matroskamux elements. But nothing changed )

Thanks,
Ilya

On Wed, Jan 23, 2019 at 10:27 PM Nicolas Dufresne <[hidden email]> wrote:
Le mercredi 23 janvier 2019 à 17:17 +0300, Ilya Aleshkov a écrit :
> Hi,
>
> I'm capturing 720p 60 fps streams with my Logitech C922 Pro Stream Webcam:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! filesink location=video.h264
>
> But resulting files play two times faster than needed. I have no idea why.
> There are no any problems when rendering on the screen:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! autovideosink
>
> Have you ever seen something like this?

Bare H264 bytestream have no time information. Use a container like
MP4, MKV, FLV, TS, etc in order to store you videostream with
appropriate time information. As an example:

gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! matroskamux ! filesink location=video.mkv

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

AW: filesink with 60 fps

BGraaf

Try to use ‚gst-launch-1.0 –e’ to send the eos-signal to the pipeline. Then the timing information should save to the file.

 

Bernhard

 


Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Ilya Aleshkov
Gesendet: Freitag, 25. Januar 2019 17:33
An: Discussion of the development of and with GStreamer
Betreff: Re: filesink with 60 fps

 

Nicolas,

 

Thank you so much! Now I'm able to encode and play streams with any desired framerate.

But I've noticed one strange thing. When I open the generated .mkv-files with VLC (or any other player) it can't recognize its duration.

In opposite to this behavior, when I encode .mkv from bare H264 bytestream with x264:

x264 --crf 18 -o output.mkv video.h264

I'm able to see proper duration and progress in any media player.

I have already tried all parameters of the x264enc and matroskamux elements. But nothing changed )

 

Thanks,

Ilya

 

On Wed, Jan 23, 2019 at 10:27 PM Nicolas Dufresne <[hidden email]> wrote:

Le mercredi 23 janvier 2019 à 17:17 +0300, Ilya Aleshkov a écrit :
> Hi,
>
> I'm capturing 720p 60 fps streams with my Logitech C922 Pro Stream Webcam:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! filesink location=video.h264
>
> But resulting files play two times faster than needed. I have no idea why.
> There are no any problems when rendering on the screen:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! autovideosink
>
> Have you ever seen something like this?

Bare H264 bytestream have no time information. Use a container like
MP4, MKV, FLV, TS, etc in order to store you videostream with
appropriate time information. As an example:

gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! matroskamux ! filesink location=video.mkv

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

Re: filesink with 60 fps

Ilya Aleshkov
Oh, yes. Thank you! Sorry for such a dumb question )

I've checked everything. Now timeline works pretty good in built-in Windows media players but not in VLC. VLC's timiline stops and jumps sometimes.
It seems x264 still produces more accurate files. It's not my goal, but it would be great to generate files in most proper way. I just would like to be sure that I can read these files (again by GStreamer) without any issues.
Now I'm able to go forward.

Thanks again! I know why GStreamer is so powerful - just because of community!

On Fri, Jan 25, 2019 at 7:57 PM Bernhard Graaf <[hidden email]> wrote:

Try to use ‚gst-launch-1.0 –e’ to send the eos-signal to the pipeline. Then the timing information should save to the file.

 

Bernhard

 


Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Ilya Aleshkov
Gesendet: Freitag, 25. Januar 2019 17:33
An: Discussion of the development of and with GStreamer
Betreff: Re: filesink with 60 fps

 

Nicolas,

 

Thank you so much! Now I'm able to encode and play streams with any desired framerate.

But I've noticed one strange thing. When I open the generated .mkv-files with VLC (or any other player) it can't recognize its duration.

In opposite to this behavior, when I encode .mkv from bare H264 bytestream with x264:

x264 --crf 18 -o output.mkv video.h264

I'm able to see proper duration and progress in any media player.

I have already tried all parameters of the x264enc and matroskamux elements. But nothing changed )

 

Thanks,

Ilya

 

On Wed, Jan 23, 2019 at 10:27 PM Nicolas Dufresne <[hidden email]> wrote:

Le mercredi 23 janvier 2019 à 17:17 +0300, Ilya Aleshkov a écrit :
> Hi,
>
> I'm capturing 720p 60 fps streams with my Logitech C922 Pro Stream Webcam:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! filesink location=video.h264
>
> But resulting files play two times faster than needed. I have no idea why.
> There are no any problems when rendering on the screen:
>
> gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! autovideosink
>
> Have you ever seen something like this?

Bare H264 bytestream have no time information. Use a container like
MP4, MKV, FLV, TS, etc in order to store you videostream with
appropriate time information. As an example:

gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! matroskamux ! filesink location=video.mkv

>
> Thanks,
> Ilya 
> _______________________________________________
> 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

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

Re: filesink with 60 fps

Nicolas Dufresne-5
Le vendredi 25 janvier 2019 à 20:31 +0300, Ilya Aleshkov a écrit :
> Oh, yes. Thank you! Sorry for such a dumb question )
>
> I've checked everything. Now timeline works pretty good in built-in Windows media players but not in VLC. VLC's timiline stops and jumps sometimes.
> It seems x264 still produces more accurate files. It's not my goal, but it would be great to generate files in most proper way. I just would like to be sure that I can read these files (again by GStreamer) without any issues.
> Now I'm able to go forward.

Disable b-frames, the GStreamer matroskamux element lacks support for
that. Arguably, this was added to Matroska after our muxer was written.

>
> Thanks again! I know why GStreamer is so powerful - just because of community!
>
> On Fri, Jan 25, 2019 at 7:57 PM Bernhard Graaf <[hidden email]> wrote:
> > Try to use ‚gst-launch-1.0 –e’ to send the eos-signal to the pipeline. Then the timing information should save to the file.
> >  
> > Bernhard
> >  
> > Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Ilya Aleshkov
> > Gesendet: Freitag, 25. Januar 2019 17:33
> > An: Discussion of the development of and with GStreamer
> > Betreff: Re: filesink with 60 fps
> >  
> > Nicolas,
> >  
> > Thank you so much! Now I'm able to encode and play streams with any desired framerate.
> > But I've noticed one strange thing. When I open the generated .mkv-files with VLC (or any other player) it can't recognize its duration.
> > In opposite to this behavior, when I encode .mkv from bare H264 bytestream with x264:
> > x264 --crf 18 -o output.mkv video.h264
> > I'm able to see proper duration and progress in any media player.
> > I have already tried all parameters of the x264enc and matroskamux elements. But nothing changed )
> >  
> > Thanks,
> > Ilya
> >  
> > On Wed, Jan 23, 2019 at 10:27 PM Nicolas Dufresne <[hidden email]> wrote:
> > > Le mercredi 23 janvier 2019 à 17:17 +0300, Ilya Aleshkov a écrit :
> > > > Hi,
> > > >
> > > > I'm capturing 720p 60 fps streams with my Logitech C922 Pro Stream Webcam:
> > > >
> > > > gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! filesink location=video.h264
> > > >
> > > > But resulting files play two times faster than needed. I have no idea why.
> > > > There are no any problems when rendering on the screen:
> > > >
> > > > gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! autovideosink
> > > >
> > > > Have you ever seen something like this?
> > >
> > > Bare H264 bytestream have no time information. Use a container like
> > > MP4, MKV, FLV, TS, etc in order to store you videostream with
> > > appropriate time information. As an example:
> > >
> > > gst-launch-1.0 ksvideosrc ! image/jpeg,width=1280,height=720,framerate=60/1 ! jpegdec ! videoconvert ! x264enc ! matroskamux ! filesink location=video.mkv
> > >
> > > >
> > > > Thanks,
> > > > Ilya  
> > > > _______________________________________________
> > > > 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
>
> _______________________________________________
> 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