FS#4075 - xvidcap doesn't work ("could not open codec")

Attached to Project: Arch Linux
Opened by Michal Krenek (Mikos) - Monday, 27 February 2006, 17:11 GMT
Last edited by Damir Perisa (damir.perisa) - Friday, 07 July 2006, 20:17 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Damir Perisa (damir.perisa)
Architecture not specified
Severity Medium
Priority Normal
Reported Version 0.7.1 Noodle
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

If I try recording video of my desktop, xvidcap crashes with this error message:

[mpeg1video @ 0xb7927cb0]only YUV420 is supported
could not open codec

It is not codec-specific, if I try for example mpeg4, it gives similar error message. I have tried it in regular X.Org 7.0 and also in Xgl with same results. Many people have exactly same problem with xvidcap (http://bbs.archlinux.org/viewtopic.php?p=145860).
This task depends upon

Closed by  Damir Perisa (damir.perisa)
Sunday, 03 December 2006, 00:16 GMT
Reason for closing:  Deferred
Additional comments about closing:  xvidcap works again, but with less features (upstream effect)
Comment by Damir Perisa (damir.perisa) - Monday, 27 February 2006, 20:14 GMT
hmm... it seems to be a problem with ffmpeg... the xvidcap seems not longer maintained. we use a patch that may cause this problem...

at least capturing to individual frames stil works.
Comment by Simo Leone (neotuli) - Tuesday, 28 February 2006, 00:55 GMT
I rebuit this package for the new xorg and ran into this when I tested it. I came to pretty much the same conclusion as Damir, but maybe someone can find a solution.
Comment by Woody Gilk (Shadowhand) - Wednesday, 22 March 2006, 17:25 GMT Comment by Woody Gilk (Shadowhand) - Wednesday, 22 March 2006, 17:25 GMT Comment by Aaron Griffin (phrakture) - Wednesday, 22 March 2006, 17:33 GMT
CVS was updated as of Feb 1st, 2006 - according to the changelog they updated ffmpeg support and fixed coded detection. It might be worth either a) pulling from CVS or b) updating our patch based on a diff from CVS.
Comment by Aaron Griffin (phrakture) - Wednesday, 22 March 2006, 17:44 GMT
the diff from 1.1.4pre2 to current cvs is huge (8.6 megs) - perhaps we should switch to a cvs version?
Comment by Woody Gilk (Shadowhand) - Wednesday, 22 March 2006, 18:26 GMT
-cvs version doesn't solve the issue, just so no one goes off to do that and then gets the same issue.
Comment by Woody Gilk (Shadowhand) - Wednesday, 22 March 2006, 20:07 GMT
So I have a working xvidcap now. Captures into .mpg flawlessly. :) Patches attached.
Comment by Judd Vinet (judd) - Wednesday, 12 April 2006, 18:43 GMT
Re-opened by Michal Krenek:

Xvidcap now works, but after few seconds (about 30 seconds or so) of recording to MPEG (or MPEG4) it gives me segmentation fault. So I think that this ffmpeg-related patch isn't perfect.
Comment by Woody Gilk (Shadowhand) - Thursday, 13 April 2006, 03:18 GMT
Judd, it depends on the options used. My options are as follows:

% ] xvidcap --time 400.0 --cap_geometry 1280x1024+0+0 --gui no --file capture.mpeg

With that, it won't segfault after 30-40 seconds. Change the time to whatever (it has to be float: nnn.n), change geometry to whatever you want to capture (xvidcap --help explains it), no gui is important, and the file must be a .mpeg if you want a direct movie capture.
Comment by Michal Krenek (Mikos) - Thursday, 13 April 2006, 13:10 GMT
I have tried it exactly like this and it segfaulted after 5 seconds. So there really is some big problem.
Comment by Michal Krenek (Mikos) - Thursday, 13 April 2006, 13:38 GMT
I have recompiled xvidcap with CFLAGS -O0 -g and with options=(NOSTRIP) in PKGBUILD, then I tried gdb. This is the result:

(gdb) run --time 400.0 --cap_geometry 1280x1024+0+0 --gui no --file capture.mpeg
Starting program: /usr/bin/xvidcap --time 400.0 --cap_geometry 1280x1024+0+0 --gui no --file capture.mpeg
[Thread debugging using libthread_db enabled]
[New Thread -1220060768 (LWP 6904)]
Warning: Cannot convert string "*-lucida-medium-r-*-*-12-*" to type FontStruct
[mpeg1video @ 0xb7eadcb0]removing common factors from framerate

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1220060768 (LWP 6904)]
0x08052605 in paintMousePointer (x=0xbfdd8584, y=0xbfdd8580, mjob=0x807ea48, image=0x8095c80) at capture.c:175
175 *cursor &= ((~ image->red_mask) & (~ image->green_mask) & (~
(gdb) bt
#0 0x08052605 in paintMousePointer (x=0xbfdd8584, y=0xbfdd8580, mjob=0x807ea48, image=0x8095c80) at capture.c:175
#1 0x08053840 in TCbCaptureSHM (xtp=0x807ea48, id=0xbfdd8608) at capture.c:634
#2 0xb7a6b829 in DoOtherSources () from /usr/lib/libXt.so.6
#3 0xb7a6bad9 in XtAppNextEvent () from /usr/lib/libXt.so.6
#4 0xb7a609cc in XtAppMainLoop () from /usr/lib/libXt.so.6
#5 0x0804c7a9 in XVC_RunGUI () at xt_control.c:232
#6 0x0804c4fa in main (argc=9, argv=0xbfdd8a64) at main.c:442
Comment by Jan de Groot (JGC) - Monday, 17 April 2006, 23:20 GMT
Try installing xorg-fonts-75dpi or xorg-fonts-100dpi. The warning states that a font cannot be found, some applications could crash on that.
Comment by Michal Krenek (Mikos) - Thursday, 20 April 2006, 02:59 GMT
I have installed xorg-fonts-100dpi (and restarted X.Org), but that segfault is still there. There is really problem with xvidcap, not with my system.

(gdb) run --time 400.0 --cap_geometry 1280x1024+0+0 --gui no --file capture.mpeg
Starting program: /usr/bin/xvidcap --time 400.0 --cap_geometry 1280x1024+0+0 --gui no --file capture.mpeg
[Thread debugging using libthread_db enabled]
[New Thread -1220044384 (LWP 31607)]
Warning: Cannot convert string "*-lucida-medium-r-*-*-12-*" to type FontStruct
[mpeg1video @ 0xb7eb1cb0]removing common factors from framerate

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1220044384 (LWP 31607)]
0x08052605 in paintMousePointer (x=0xbf9dcc84, y=0xbf9dcc80, mjob=0x807e9d8, image=0x8095c70) at capture.c:175
175 capture.c: No such file or directory.
in capture.c
(gdb) bt
#0 0x08052605 in paintMousePointer (x=0xbf9dcc84, y=0xbf9dcc80, mjob=0x807e9d8, image=0x8095c70) at capture.c:175
#1 0x08053840 in TCbCaptureSHM (xtp=0x807e9d8, id=0xbf9dcd08) at capture.c:634
#2 0xb7a6f829 in DoOtherSources () from /usr/lib/libXt.so.6
#3 0xb7a6fad9 in XtAppNextEvent () from /usr/lib/libXt.so.6
#4 0xb7a649cc in XtAppMainLoop () from /usr/lib/libXt.so.6
#5 0x0804c7a9 in XVC_RunGUI () at xt_control.c:232
#6 0x0804c4fa in main (argc=9, argv=0xbf9dd164) at main.c:442
Comment by Simo Leone (neotuli) - Wednesday, 15 November 2006, 00:26 GMT
status?
Comment by Aaron Griffin (phrakture) - Wednesday, 15 November 2006, 00:29 GMT
Old bug - I remember this... isn't xvidcap _still_ dead?
Comment by Damir Perisa (damir.perisa) - Sunday, 03 December 2006, 00:15 GMT
new xvidcap is out... now with only feature of grabbing of single files ... seems that project is reorganising

Loading...