Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Strange problem with avi films

I have created an avi film using IMAQ vision on computer A. Everything is fine. I can play back this film on computers A and B.
 
The problem is with computer C : the avi film images are all black. No error generated. The data that were included in the film are read correctly. Any idea ?
 
Some additionnal infos :
The film can be visualized correctly on computer C using the Window media player.
Using the same vis as on computer A, I can create similar films on computer C and read them back without problem.
One difference : A and B are running Window XP, C is running W2K. All uses LV 8.01 and NI Vision 8.0
 
 
 
Chilly Charly    (aka CC)
0 Kudos
Message 1 of 13
(5,276 Views)
Hello Charly.

I have (like you) only tried out the playback of AVIs with the Windows Media Player and therefore never caught your problem.
Have you checked the version of DirectX on computer C? I remember that Windows 2000 comes with DirectX 7.x and the AVI functionality of NI Vision requires at least DirectX 8.1.

Have a great day, Guenter
Message 2 of 13
(5,270 Views)
Thanks for your help Gunter.
I don't know how to check the DirectX version : remember that I'm a Macintosh user (turned to window because IMAQ vision and some other LV tools are not available on Mac), and I still have a number of things to learn about PCs. Could you give me some hints ?
 
Anyway, I don't think that the DirectX version is the reason for my problem since, as I said, I can create and play avi films on computer C, with the same vis used on computer A.
 
Chilly Charly    (aka CC)
0 Kudos
Message 3 of 13
(5,261 Views)

Hello Charly.
The version of DirectX is displayed e.g. by dxdiag. You can run the application by simply applying Start>>Run and enter "dxdiag". The tool takes about 10 seconds to check everything, but the version is displayed immediately in the start-up window.

You are right, I am only guessing with my DirectX proposal. I always read this in the release notes of NI Vision but I never took the time to find out what happens when a lower version is installed on the target PC and a NI Vision application tries to playback an AVI (by the means of the DirectShow interface).

"I'm a Macintosh user " - Well-behaved guy -although I have never used a Mac I frequently get impressed when watching Mac users working with it.

Regards, Guenter

0 Kudos
Message 4 of 13
(5,252 Views)

Bump !

The AVI read back problem is still unsolved. Any advice ?

Chilly Charly    (aka CC)
0 Kudos
Message 5 of 13
(5,189 Views)
No, not yet, Charly.
I take from your words that DirectX isn't the reason, right?
Regards, Guenter
0 Kudos
Message 6 of 13
(5,183 Views)
Hello Charly.
I have created a LabVIEW application that plays back an AVI.
I ran this application on a Windows 2000 PC with DirectX 7.0 on it, LabVIEW 8 RTE and Vision 8.0 RTE installed only.
The AVI I played back was created with the VDM VIs, too. The AVI shows up on that Windows 2000 PC correctly in the LabVIEW application (of course in Media Player, too).  -->  Should not be a DirectX issue.
 
But what is the solution?
Guenter
Message 7 of 13
(5,162 Views)

Guenter,

Thanks for the effort !

So I have now to investigate another tiny track. I'll keep you informed if I get some success.

Chilly Charly    (aka CC)
0 Kudos
Message 8 of 13
(5,150 Views)
Hello Charly --

I'm not an expert here, but just in case:

I understand that NI-IMAQ uses whatever codecs are available on the host machine in order to encode video.  According to an NI engineer, there is an example VI available called "avi compressor comparison example" that will go through and search for all compression software on your PC and give their efficiencies so that you can select one.  I haven't yet tried this myself.  Anyway, the point is that IMAQ on  your XP machine may be using a codec for compressing your video stream that  your Win2K machine does not have -- so all the data are there, but the computer doesn't know how to decode them into a displayable form.  In contrast, if you encode the video on your Win2K machine, it will use a codec that it has (obviously), and hence can play it back (as, probably, can the XP machines).  The fact that both are .avi files does not mean that they are using the same codec (compression/decompression scheme). 

It is possible that installing a more recent version of Windows Media Player on the Win2K machine will also install the new codecs. 

http://www.microsoft.com/windows/windowsmedia/mp10/default.aspx

Alternatively, you could install a third-party player like WinAmp (www.winamp.com), which includes several codecs, or just install a boatload of codecs from a site like this:

http://www.free-codecs.com/download/K_Lite_Codec_Pack.htm
http://www.codecguide.com/

Probably the most robust solution is to look at the example VI above and figure out how to choose a particular codec programmatically, and choose one that all of your machines have. 

Digital video standards are a huge pain.  Hope this helps --

Thom Cleland








Message 9 of 13
(5,145 Views)

Thom's codec issue can be checked with the application "gspot". gspot identifies the codecs required to playback an AVI and it will tell if the selected AVI can be playbacked on the current PC.
You can get it e.g. from http://www.doom9.org/, section "AVI Editing tools".

Regards, Guenter

Message 10 of 13
(5,139 Views)