webcam & mpegps

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

webcam & mpegps

Andrés González
Hi,

The following pipeline is not working.

gst-launch -v v4l2src device=/dev/video0 ! ffenc_mpeg2video ! mpegpsmux
! filesink location=test.mpg

It says:
[...]
gstbasesrc.c(2574): gst_base_src_loop ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 1004544165 ns.
[...]

Could anybody explain why, please?

Regards,

--
Andrés González

T: 91 458 51 19 (ext:165)
HI-IBERIA INGENIERIA Y PROYECTOS
C/ Bolivia 5 - Madrid - 28016


------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webcam & mpegps

Tim-Philipp Müller-2
On Fri, 2011-02-04 at 09:54 +0100, Andres Gonzalez wrote:

> The following pipeline is not working.
>
> gst-launch -v v4l2src device=/dev/video0 ! ffenc_mpeg2video ! mpegpsmux
> ! filesink location=test.mpg
>
> It says:
> [...]
> gstbasesrc.c(2574): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming task paused, reason not-negotiated (-4)
> Execution ended after 1004544165 ns.
> [...]
>
> Could anybody explain why, please?

Most likely this is because your video camera/driver doesn't support the
format(s) that ffenc_mpeg2video accepts as input. You could try adding
an ffmpegcolorspace element between v4l2src and ffenc_mpeg2video.

Cheers
 -Tim



------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webcam & mpegps

Andrey Nechypurenko-2
In reply to this post by Andrés González
> gst-launch -v v4l2src device=/dev/video0 ! ffenc_mpeg2video ! mpegpsmux
> ! filesink location=test.mpg

Just a quick guess - most probably you need ffmpegcolorspace filter
after v4l2src.

HTH,
Andrey.

------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webcam & mpegps

Andrés González
Many thanks for the replies, but still no luck.

$ gst-launch -v v4l2src device=/dev/video0 ! ffmpegcolorspace !
ffenc_mpeg2video ! mpegpsmux ! filesink location=test.mpg

I also copy&paste the traces:

Estableciendo el conducto a PAUSA … (Setting pipeline to PAUSE)
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
interlaced=(boolean)false, framerate=(fraction)22/1
El conducto está vivo y no necesita PREPARARSE … (The pipeline is alive
and does not need to GET READY)
Estableciendo el conducto a REPRODUCIENDO … (Setting pipeline to PLAYING)
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps =
video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
interlaced=(boolean)false, framerate=(fraction)22/1
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
interlaced=(boolean)false, framerate=(fraction)22/1
ERROR: del elemento /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Error en
el flujo de datos interno.
Información adicional de depuración:
gstbasesrc.c(2574): gst_base_src_loop ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 994073061 ns.
Estableciendo el conducto a PAUSA … (setting pipeline to PAUSE)
Estableciando el conducto a PREPARADO … (setting pipeline to READY)
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
Estableciendo el conducto a NULL …
Liberando la tubería… (releasing the pipeline)




--
Andrés González

T: 91 458 51 19 (ext:165)
HI-IBERIA INGENIERIA Y PROYECTOS
C/ Bolivia 5 - Madrid - 28016


------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webcam & mpegps

Nicolas Bertrand-4
I make it working by 'forcing' ffmpecolorspace with a filter
gst-launch -v v4l2src ! ffmpegcolorspace!  video/x-raw-yuv, width=320,
height=240, framerate=\(fraction\)30/1, format=\(fourcc\)I420 !
ffenc_mpeg2video ! mpegpsmux ! filesink location=test.mpg

Le 04/02/2011 14:00, Andres Gonzalez a écrit :

> Many thanks for the replies, but still no luck.
>
> $ gst-launch -v v4l2src device=/dev/video0 ! ffmpegcolorspace !
> ffenc_mpeg2video ! mpegpsmux ! filesink location=test.mpg
>
> I also copy&paste the traces:
>
> Estableciendo el conducto a PAUSA … (Setting pipeline to PAUSE)
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
> interlaced=(boolean)false, framerate=(fraction)22/1
> El conducto está vivo y no necesita PREPARARSE … (The pipeline is alive
> and does not need to GET READY)
> Estableciendo el conducto a REPRODUCIENDO … (Setting pipeline to PLAYING)
> New clock: GstSystemClock
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
> interlaced=(boolean)false, framerate=(fraction)22/1
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
> interlaced=(boolean)false, framerate=(fraction)22/1
> ERROR: del elemento /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Error en
> el flujo de datos interno.
> Información adicional de depuración:
> gstbasesrc.c(2574): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming task paused, reason not-negotiated (-4)
> Execution ended after 994073061 ns.
> Estableciendo el conducto a PAUSA … (setting pipeline to PAUSE)
> Estableciando el conducto a PREPARADO … (setting pipeline to READY)
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = NULL
> Estableciendo el conducto a NULL …
> Liberando la tubería… (releasing the pipeline)
>
>
>
>


------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webcam & mpegps

Tim-Philipp Müller-2
In reply to this post by Andrés González
On Fri, 2011-02-04 at 11:00 +0100, Andres Gonzalez wrote:

> Many thanks for the replies, but still no luck.

In that case, running the pipeline with GST_DEBUG is often a good idea,
to see if anything suspicious pops up, e.g.:

 $ GST_DEBUG=*:2 gst-launch-0.10 ....
 $ GST_DEBUG=*:3 gst-launch-0.10 ....
 $ GST_DEBUG=*:4 gst-launch-0.10 ....

etc.

> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps =
> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
> interlaced=(boolean)false, framerate=(fraction)22/1
> /GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps =
> video/x-raw-yuv, format=(fourcc)I420, width=(int)640, height=(int)480,
> interlaced=(boolean)false, framerate=(fraction)22/1
> ERROR: del elemento /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Error en
> el flujo de datos interno.
> Información adicional de depuración:
> gstbasesrc.c(2574): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming task paused, reason not-negotiated (-4)

This means there's a problem with caps negotiation still. ffmpegcsp's
src pad is the last in the pipeline that got caps set on it, that means
ffenc_mpeg2video rejected the input caps.

It looks like this is due to the 22fps framerate. Try adding a

  ... ! videorate ! video/x-raw-yuv,framerate=25/1 ! ffenc_mpeg2video ..

Cheers
-Tim



------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: webcam & mpegps

Stefan Sauer
In reply to this post by Andrés González
Am 04.02.2011 10:54, schrieb Andres Gonzalez:

> Hi,
>
> The following pipeline is not working.
>
> gst-launch -v v4l2src device=/dev/video0 ! ffenc_mpeg2video ! mpegpsmux
> ! filesink location=test.mpg
>
> It says:
> [...]
> gstbasesrc.c(2574): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming task paused, reason not-negotiated (-4)
> Execution ended after 1004544165 ns.
> [...]
>
> Could anybody explain why, please?
>
> Regards,
>

what is v4l-info telling about your webcam. Some webcams only output mjpeg. Try

gst-launch -v v4l2src device=/dev/video0 ! decodebin2 ! ffenc_mpeg2video !
mpegpsmux ! filesink location=test.mpg

Stefan

------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel