v4l2 device wrongly captured

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

v4l2 device wrongly captured

Guido José Valenzano Tocaimasa
I have a NTSC camera connected to a BT878 capture device. I configure it with:
$ v4l2-ctl -s ntsc

Then test it with:
$ gst-launch v4l2src ! xvimagesink
resulting in an image as the one attached (gstreamer_output.jpg).

However, using:
$ mplayer tv:// -tv driver=v4l2:norm=0
works perfectly (mplayer_output.jpg).

Where might be the problem?

I'm running Ubuntu Lucid 10.04 with GStreamer's PPA enabled. I also attached result of:
$ gst-launch -v --gst-debug=v4l2:5 v4l2src device=/dev/video0 num-buffers=1 ! xvimagesink
in case it's useful.

Another hint: I *believe* that there was no problem with the older GStreamer packages, but can't tell for sure.


Guido

BTW: I really don't know if you received the attachments correctly. In case you didn't, please let me know so I can upload them to 4shared, megaupload, or similar.

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

debug.txt (103K) Download Attachment
gstreamer_output.jpg (202K) Download Attachment
mplayer_output.jpg (405K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: v4l2 device wrongly captured

Guido José Valenzano Tocaimasa
I uploaded the files to:
 http://www.megaupload.com/?d=MZPEHM00


---------- Forwarded message ----------
From: Guido José Valenzano Tocaimasa <[hidden email]>
Date: Sat, Feb 5, 2011 at 7:11 PM
Subject: v4l2 device wrongly captured
To: [hidden email]


I have a NTSC camera connected to a BT878 capture device. I configure it with:
$ v4l2-ctl -s ntsc

Then test it with:
$ gst-launch v4l2src ! xvimagesink
resulting in an image as the one attached (gstreamer_output.jpg).

However, using:
$ mplayer tv:// -tv driver=v4l2:norm=0
works perfectly (mplayer_output.jpg).

Where might be the problem?

I'm running Ubuntu Lucid 10.04 with GStreamer's PPA enabled. I also attached result of:

$ gst-launch -v --gst-debug=v4l2:5 v4l2src device=/dev/video0 num-buffers=1 ! xvimagesink
in case it's useful.

Another hint: I *believe* that there was no problem with the older GStreamer packages, but can't tell for sure.


Guido

BTW: I really don't know if you received the attachments correctly. In case you didn't, please let me know so I can upload them to 4shared, megaupload, or similar.


------------------------------------------------------------------------------
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: v4l2 device wrongly captured

Stefan Sauer
In reply to this post by Guido José Valenzano Tocaimasa
On 06.02.2011 00:11, Guido José Valenzano Tocaimasa wrote:

> I have a NTSC camera connected to a BT878 capture device. I configure
> it with:
> $ v4l2-ctl -s ntsc
>
> Then test it with:
> $ gst-launch v4l2src ! xvimagesink
> resulting in an image as the one attached (gstreamer_output.jpg).
>
> However, using:
> $ mplayer tv:// -tv driver=v4l2:norm=0
> works perfectly (mplayer_output.jpg).
>
> Where might be the problem?
>
> I'm running Ubuntu Lucid 10.04 with GStreamer's PPA enabled. I also
> attached result of:
> $ gst-launch -v --gst-debug=v4l2:5 v4l2src device=/dev/video0
> num-buffers=1 ! xvimagesink
> in case it's useful.
>
> Another hint: I *believe* that there was no problem with the older
> GStreamer packages, but can't tell for sure.

>From the log it negotiated to use this format:

Setting format to 768x480, format YUYV
STREAMING, requesting 2 MMAP buffers
caps = video/x-raw-yuv, format=(fourcc)YUY2,
framerate=(fraction)30000/1001, width=(int)768, height=(int)480,
interlaced=(boolean)true

a few days ago the commit below went in - I wonder it it fixes your
issue? Can you try building gst-plugins-good and just install the v4l2
plugin?

Stefan

git show 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
commit 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
Author: Mark Nauwelaerts <[hidden email]>
Date:   Thu Feb 3 23:42:59 2011 +0100

    v4l2: fix interlaced set_format configuration
   
    Commit 6c8268dbfd5c88fac28c882ef2e4598a6522e2d6 broke recording
    from interlaced v4l2 source (e.g. typical tv capture card) since
    V4L2_FIELD_SEQ_TB (with fields stored separately) does not map
    to currently defined interlaced format (fields stored interleaved).
   
    Besides this mismatch, hardware might quite likely not support or
    appreciate this field value, since querying supported formats mapped
    _INTERLACED field formats to interlaced=true caps (so the latter should
    not be mapped to field value that is not known to be supported).

>
>
> Guido
>
> BTW: I really don't know if you received the attachments correctly. In
> case you didn't, please let me know so I can upload them to 4shared,
> megaupload, or similar.
>
>
> ------------------------------------------------------------------------------
> 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


------------------------------------------------------------------------------
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: v4l2 device wrongly captured

Clark, Rob
On Mon, Feb 7, 2011 at 9:42 AM, Stefan Kost <[hidden email]> wrote:

> On 06.02.2011 00:11, Guido José Valenzano Tocaimasa wrote:
>> I have a NTSC camera connected to a BT878 capture device. I configure
>> it with:
>> $ v4l2-ctl -s ntsc
>>
>> Then test it with:
>> $ gst-launch v4l2src ! xvimagesink
>> resulting in an image as the one attached (gstreamer_output.jpg).
>>
>> However, using:
>> $ mplayer tv:// -tv driver=v4l2:norm=0
>> works perfectly (mplayer_output.jpg).
>>
>> Where might be the problem?
>>
>> I'm running Ubuntu Lucid 10.04 with GStreamer's PPA enabled. I also
>> attached result of:
>> $ gst-launch -v --gst-debug=v4l2:5 v4l2src device=/dev/video0
>> num-buffers=1 ! xvimagesink
>> in case it's useful.
>>
>> Another hint: I *believe* that there was no problem with the older
>> GStreamer packages, but can't tell for sure.
>
> >From the log it negotiated to use this format:
>
> Setting format to 768x480, format YUYV
> STREAMING, requesting 2 MMAP buffers
> caps = video/x-raw-yuv, format=(fourcc)YUY2,
> framerate=(fraction)30000/1001, width=(int)768, height=(int)480,
> interlaced=(boolean)true
>
> a few days ago the commit below went in - I wonder it it fixes your
> issue? Can you try building gst-plugins-good and just install the v4l2
> plugin?
>
> Stefan
>
> git show 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
> commit 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
> Author: Mark Nauwelaerts <[hidden email]>
> Date:   Thu Feb 3 23:42:59 2011 +0100
>
>    v4l2: fix interlaced set_format configuration
>
>    Commit 6c8268dbfd5c88fac28c882ef2e4598a6522e2d6 broke recording
>    from interlaced v4l2 source (e.g. typical tv capture card) since
>    V4L2_FIELD_SEQ_TB (with fields stored separately) does not map
>    to currently defined interlaced format (fields stored interleaved).
>
>    Besides this mismatch, hardware might quite likely not support or
>    appreciate this field value, since querying supported formats mapped
>    _INTERLACED field formats to interlaced=true caps (so the latter should
>    not be mapped to field value that is not known to be supported).


Any recommendations on how to handle hw where interlaced actually is
V4L2_FIELD_SEQ_TB?  The interlaced={true,false} isn't really
sufficient..

BR,
-R


>>
>>
>> Guido
>>
>> BTW: I really don't know if you received the attachments correctly. In
>> case you didn't, please let me know so I can upload them to 4shared,
>> megaupload, or similar.
>>
>>
>> ------------------------------------------------------------------------------
>> 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
>
>
> ------------------------------------------------------------------------------
> 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
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: v4l2 device wrongly captured

David Schleef-2
On Fri, Feb 11, 2011 at 09:26:26AM -0600, Clark, Rob wrote:

> On Mon, Feb 7, 2011 at 9:42 AM, Stefan Kost <[hidden email]> wrote:
> >    Commit 6c8268dbfd5c88fac28c882ef2e4598a6522e2d6 broke recording
> >    from interlaced v4l2 source (e.g. typical tv capture card) since
> >    V4L2_FIELD_SEQ_TB (with fields stored separately) does not map
> >    to currently defined interlaced format (fields stored interleaved).
> >
> >    Besides this mismatch, hardware might quite likely not support or
> >    appreciate this field value, since querying supported formats mapped
> >    _INTERLACED field formats to interlaced=true caps (so the latter should
> >    not be mapped to field value that is not known to be supported).
>
>
> Any recommendations on how to handle hw where interlaced actually is
> V4L2_FIELD_SEQ_TB?  The interlaced={true,false} isn't really
> sufficient..

At the time that interlaced was specified, no drivers implemented
V4L2_FIELD_SEQ_TB without also implementing V4L2_FIELD_INTERLACED.
And we were already talking about structured buffers in 0.11 by
that time, so we went the simple route ("fixed what was immediately
broken") rather than try to solve everything.

I don't know of a way to handle this without adding a lot more
complexity to buffer flags (also, which we are out of) and also
fixing lots of elements.  But we'll get to it in 0.11.



David

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

Re: v4l2 device wrongly captured

Guido José Valenzano Tocaimasa
In reply to this post by Guido José Valenzano Tocaimasa
a few days ago the commit below went in - I wonder it it fixes your
issue? Can you try building gst-plugins-good and just install the v4l2
plugin?

Stefan

git show 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
commit 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
Author: Mark Nauwelaerts <[hidden email]>
Date:   Thu Feb 3 23:42:59 2011 +0100

   v4l2: fix interlaced set_format configuration

   Commit 6c8268dbfd5c88fac28c882ef2e4598a6522e2d6 broke recording
   from interlaced v4l2 source (e.g. typical tv capture card) since
   V4L2_FIELD_SEQ_TB (with fields stored separately) does not map
   to currently defined interlaced format (fields stored interleaved).

   Besides this mismatch, hardware might quite likely not support or
   appreciate this field value, since querying supported formats mapped
   _INTERLACED field formats to interlaced=true caps (so the latter should
   not be mapped to field value that is not known to be supported).

After several attempts to build from git, from:
http://wiki.pitivi.org/wiki/GStreamer_using_jhbuild
http://wiki.pitivi.org/wiki/GStreamer_from_Git
I managed to have a working up-to-date GStreamer installation.

And yes, Mark's commit solved the issue.

Thanks Stefan


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

Re: v4l2 device wrongly captured

Stefan Sauer
On 17.02.2011 02:01, Guido Valenzano wrote:

>
>     a few days ago the commit below went in - I wonder it it fixes your
>     issue? Can you try building gst-plugins-good and just install the v4l2
>     plugin?
>
>     Stefan
>
>     git show 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
>     commit 6b86b56abd8a28b9e94cee679e3d86367a9a0ab3
>     Author: Mark Nauwelaerts <[hidden email]
>     <mailto:[hidden email]>>
>     Date:   Thu Feb 3 23:42:59 2011 +0100
>
>        v4l2: fix interlaced set_format configuration
>
>        Commit 6c8268dbfd5c88fac28c882ef2e4598a6522e2d6 broke recording
>        from interlaced v4l2 source (e.g. typical tv capture card) since
>        V4L2_FIELD_SEQ_TB (with fields stored separately) does not map
>        to currently defined interlaced format (fields stored interleaved).
>
>        Besides this mismatch, hardware might quite likely not support or
>        appreciate this field value, since querying supported formats
>     mapped
>        _INTERLACED field formats to interlaced=true caps (so the
>     latter should
>        not be mapped to field value that is not known to be supported).
>
>
> After several attempts to build from git, from:
> http://wiki.pitivi.org/wiki/GStreamer_using_jhbuild
> http://wiki.pitivi.org/wiki/GStreamer_from_Git
> I managed to have a working up-to-date GStreamer installation.
>
> And yes, Mark's commit solved the issue.
>
> Thanks Stefan
>
thanks for letting us know.

Stefan
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel