working direct mplayer on cx88 analog video (was: Re: cx88 panic,
and a (hacky) way to grab composite/svideo in when it's not
panicing :) (and vlc...) (Juergen Lock))
Juergen Lock
nox at jelal.kn-bremen.de
Thu May 28 17:02:58 UTC 2009
On Wed, May 27, 2009 at 05:19:08PM -0500, Jason Harmening wrote:
> On Wed, May 27, 2009 at 4:34 PM, Juergen Lock <nox at jelal.kn-bremen.de> wrote:
> > In article <2d1264630905270827q4e85376ds530488edf62b4c1a at mail.gmail.com> you write:
>
> >>
> > Actually my vlc invocation,
> >
> >>> vlc --demux rawvideo --rawvid-fps 25 --rawvid-width 768 --rawvid-height 576 --rawvid-chroma I422 vpipe
> >
> > uses the raw video from the vpipe directly so there's no mpeg involved.
> > (But still the video is jerky.)
> >
> >>> (I first wanted to do this with mplayer but the closest I got,
> >>> mplayer -demuxer rawvideo -rawvideo w=768:h=576:format=422p:size=884736 vpipe
> >>> still gets false colours.)
> >>>
> > And btw doing it with mplayer like this doesn't seem to be affected by
> > the jerkyness, only the colours are wrong. (Maybe there's a way to do it
> > right with a more recent mplayer, but unfortunately there's no mplayer
> > svn snapshot in ports and they stopped doing formal releases so our
> > mplayer is now pretty old... ):
> >
> > So maybe the above is just a bug in vlc? (And also, mplayer only uses
> > ~8% cpu for this here while vlc uses around 20%...)
>
> It does seem likely that it's a VLC bug then. How exactly are the
> colors wrong in mplayer?
Hmm difficult to explain... red becomes blue, etc.
> The cx88 app captures in YUV422 planar IIRC,
> but the kernel drivers allow selection of different pixel formats.
> Perhaps a more straightforward RGB format would work better. You'd
> have to hack the cx88 app to do that right now, since I don't (yet)
> have a command-line option for it.
>
Anyway, with the help of the nice people on #mplayer (thanx! :) I now
have a working mplayer commandline:
mplayer -demuxer rawvideo -rawvideo w=768:h=576:format=422p:size=884736 -vf swapuv,scale=-1:-1 vpipe
(vpipe still being the named pipe fed by something like
cx88 -d /dev/cx88video0 -u file://${PWD}/vpipe -x cx88.xml -c ...
)
So it looks like for some reason mplayer's format=422p takes u and v
swapped... (The good news is the filter doesn't seem to noticeably
increase the cpu load at least here so its still way better than vlc.)
>[...]
> > Will this also include the dvb-s(2) code that was mentioned on
> > this list once (I think by Konstantin)?
>
> I know Konstantin has at least some of it working, but you'd have to
> ask him to be sure. There will need to be a cx88 update to add
> support for additional DVB-S(2) tuning params to the XML file, but
> most of the work will actually have to be done in libtuner. I may end
> up pushing the big cx23885 update first just to get some breathing
> room.
Ok. Thanx again,
Juergen
More information about the freebsd-multimedia
mailing list