From: Matt L. <mat...@gm...> - 2008-01-09 13:23:49
|
Winston, In Windows the vidl library supports loading video using the outdated VfW (Video for Windows) API. In Linux we had several options. First is the avifile library, which as you know, tries to interface with the Windows DLLs if linux is running on x86 hardware. The second is ffmpeg, which has rewritten many codecs as open source. In vidl we supported both, but it is still common to find AVI videos that will not play. You should be aware that the avifile project has pretty much died at this point. Their last serious release was 4 years ago (with one compatibility update a year and a half ago). The ffmpeg project has grown to cover many more codecs at this point. I recommend you disable avifile and try compiling with ffmpeg. I believe the following command will install the Ubuntu library that you need and it's dependencies: apt-get install libavformat-dev With all that said, you may still encounter problems with vidl. Our VXL video library is very old itself. I think the design goes back at least 10 years. It's not designed for modern video processing needs. We are no longer actively developing vidl. Instead we are designing a new library from the ground up to replace it. This is called vidl2 and is located in vxl/contrib/brl/bbas/vidl2. This library handles streaming video and works better with modern video drivers on both Windows (DirectShow) and Linux/Mac (ffmpeg). We plan to eventually move vidl2 to core to replace vidl. The library is quite stable now, and you might want to consider using that instead. --Matt On Jan 8, 2008 7:29 PM, Winston Churchill <win...@sj...> wrote: > Hi > > I have been using vxl on windows for some project work. Everything has been fine. I have moved my code over to Linux, and am having issues playing back avi files using vidl. > > I am running Ubuntu 7.10 (Gutsy Gibbon) and using gcc version 4.1.3 20070929 and cmake version 2.4.7-1. I have compiled vxl using cmake, with vgui turned on. I set AVIFILE_INCLUDE_DIR to "/usr/include/avifile-0.7". I am using vxl-1.9.0. > > I have installed avifile and added the extra win32 codecs to "/usr/local/lib/win32", downloaded from the avifile website. > > My code compiles with no issues. I load my program, and load in an avi file. The file loads, and the first frame is loaded into the gui (my player is based on the example player in the vidl examples). When I select "Play" I get the following error: > > MultiGCPD: /usr/local/include/vxl-1.9.0/core/vidl/vidl_avifile_avicodec.cxx:129: virtual vil_image_view_base_sptr vidl_avicodec::get_view(int, int, int, int, int) const: Assertion `cim' failed. > Aborted (core dumped) > > I don't really know why I am getting this error and I would appreciate some help fixing it so I can get my code working on Linux. > > I have tried my avi files with 3 different codecs: > Indeo(r) Video 5.0, Cinepak Video and FF OpenDivX > > Here are the outputs, and errors in full: > > With the Indeo(r) Video 5.0 error, if the dll "OULEAT32.dll" is not present, the behaviour is the same as the other 2 codecs, with the first frame showing and then the core dump on play. > > : Found 6 plugins (/usr/lib/avifile-0.7,A:38,V:89) > : External func OLEAUT32.dll:161 > : Win32 LoadLibrary failed to load: OLEAUT32.dll, /usr/lib/win32/OLEAUT32.dll, /usr/local/lib/win32/OLEAUT32.dll > : External func OLEAUT32.dll:163 > : Win32 LoadLibrary failed to load: OLEAUT32.dll, /usr/lib/win32/OLEAUT32.dll, /usr/local/lib/win32/OLEAUT32.dll > : Decoder is capable of YUV output ( flags 0x87 ) > : Created video decoder: W32 Indeo(r) Video 5.0 DirectShow > vidl_io::load_move. just got a new clip. > Height: 240 > Width: 320 > [----------------Press play here------------------] > MultiGCPD: /usr/local/include/vxl-1.9.0/core/vidl/vidl_avifile_avicodec.cxx:129: virtual vil_image_view_base_sptr vidl_avicodec::get_view(int, int, int, int, int) const: Assertion `cim' failed. > Aborted (core dumped) > > ... and Indeo(r) Video 5.0 with the OLEAUT32.dll, causes my program to crash immediately: > > : Found 6 plugins (/usr/lib/avifile-0.7,A:38,V:89) > : External func OLEAUT32.dll:161 > Segmentation fault (core dumped) > > and the Cinepak Video: > > : Found 6 plugins (/usr/lib/avifile-0.7,A:38,V:89) > : Using Win32 dll library: iccvid.dll > : Decoder is capable of YUV output ( flags 0x6) > : Created video decoder: W32 Cinepak Video > vidl_io::load_move. just got a new clip. > Height: 240 > Width: 320 > [----------------Press play here------------------] > MultiGCPD: /usr/local/include/vxl-1.9.0/core/vidl/vidl_avifile_avicodec.cxx:129: virtual vil_image_view_base_sptr vidl_avicodec::get_view(int, int, int, int, int) const: Assertion `cim' failed. > Aborted (core dumped) > > and the FF OpenDivX (encoded as XviD, Mpeg4) > > : Found 6 plugins (/usr/lib/avifile-0.7,A:38,V:89) > : looking mpeg4 > : Created video decoder: FF OpenDivX > vidl_io::load_move. just got a new clip. > : not using DR1 > Height: 240 > Width: 320 > [----------------Press play here------------------] > MultiGCPD: /usr/local/include/vxl-1.9.0/core/vidl/vidl_avifile_avicodec.cxx:129: virtual vil_image_view_base_sptr vidl_avicodec::get_view(int, int, int, int, int) const: Assertion `cim' failed. > Aborted (core dumped) > > Here is the output before the line which is similar for all (done with the XviD one) : > > : Avifile RELEASE-0.7.47-070916-12:47-4.1.3 > : Available CPU flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr > : 2666.80 MHz Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz processor detected > vgui : registered 'gtk2' 'glut' > vgui : initialize 'gtk2' > : Checking: /media/sda1/4YP/data/movies/straight2_XviD_MPEG4.avi > : MainHeader: MicroSecPerFrame=40000 MaxBytesPerSec=296281 > PaddingGranularity=0 Flags=[ HAS_INDEX TRUST_CKTYPE ] TotalFrames=462 > InitialFrames=0 Streams=2 SuggestedBufferSize=19658 WxH=320x240 > Scale=0 Rate=0 Start=0 Length=0 > : Info: fccHandler differs from biCompression! > : StreamHeader: Type=vids Handler=XVID Flags=[ ] > InitialFrames=0 Scale=1000 Rate=25000 Start=0 Length=462 > SuggestedBufferSize=19658 Quality=-1 SampleSize=0 Rect l,r,t,b=0,320,0,240 > : StreamHeader: Type=auds Handler=0x0 Flags=[ ] > InitialFrames=0 Scale=1 Rate=24000 Start=0 Length=443676 > SuggestedBufferSize=1532 Quality=-1 SampleSize=1 Rect l,r,t,b=0,0,0,0 > : Reading index from offset: 4771910 > : Stream 0 vids : XVID (0x44495658) 462 chunks (1.80KB) > : Stream 1 auds : MPEG Layer-3 (0x55) 462 chunks (3.61KB) > : Initialized video stream (chunk tblsz: 462, fmtsz: 40) > : Destroy... (Total accesses 1, hits 100.00%, misses 0.00%, errors 0.00%) > : Checking: /media/sda1/4YP/data/movies/straight2_XviD_MPEG4.avi > : MainHeader: MicroSecPerFrame=40000 MaxBytesPerSec=296281 > PaddingGranularity=0 Flags=[ HAS_INDEX TRUST_CKTYPE ] TotalFrames=462 > InitialFrames=0 Streams=2 SuggestedBufferSize=19658 WxH=320x240 > Scale=0 Rate=0 Start=0 Length=0 > : Info: fccHandler differs from biCompression! > : StreamHeader: Type=vids Handler=XVID Flags=[ ] > InitialFrames=0 Scale=1000 Rate=25000 Start=0 Length=462 > SuggestedBufferSize=19658 Quality=-1 SampleSize=0 Rect l,r,t,b=0,320,0,240 > : StreamHeader: Type=auds Handler=0x0 Flags=[ ] > InitialFrames=0 Scale=1 Rate=24000 Start=0 Length=443676 > SuggestedBufferSize=1532 Quality=-1 SampleSize=1 Rect l,r,t,b=0,0,0,0 > : Reading index from offset: 4771910 > : Stream 0 vids : XVID (0x44495658) 462 chunks (1.80KB) > : Stream 1 auds : MPEG Layer-3 (0x55) 462 chunks (3.61KB) > : Initialized video stream (chunk tblsz: 462, fmtsz: 40) > : Installed fs segment: 0xb4967000 > : Found 6 plugins (/usr/lib/avifile-0.7,A:38,V:89) > ... > > Any help solving this problem would be greatly appreciated. > Thanks > Winston > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > Vxl-users mailing list > Vxl...@li... > https://lists.sourceforge.net/lists/listinfo/vxl-users > |