Thursday, 9 July 2009

Edimax IC-3010Wg again

I have made a bit more progress getting my Edimax IP Camera working, and detailed what I have learned at http://ic-3010wg.webhop.net.

The main problems are still that although I can download an MPEG4 stream using wget, neither mplayer nor vlc will play it directly, which is no good.
The other issue is that sound still does not work.....

7 comments:

maz said...

Hi,

did you try mplayer to play from stdin:

wget http://url.com/movie.mpeg -O - | mplayer -

?

Graham Jones said...

Good idea - no, I hadn't.

When I try that, mplayer gives a load of warnings about not being able to seek backward in linear streams, and I see the wget progress bar showing that data is being downloaded.
No video though!

Graham Jones said...

Adding the -q (for quite) option to mplayer gets rid of the progress bar. Still lots of warnings about seeking backwards, but I did see this "Win32 LoadLibrary failed to load: avisynth.dll, /usr/lib/win32/avisynth.dll, /usr/local/lib/win32/avisynth.dll"
It is correct, I don't have avisynth.dll

Graham Jones said...

mmm...now I am a bit confused. Running:
wget -q http://admin:1234@192.168.1.117:4322 -O - | mplayer -v -
Suddenly produced a live video on screen - Success!

Strangely, the -v option just switches on verbose output, so shouldn't have done anything.
Looking at the output it appears that mplayer is trying very very hard to decide what format the stream is in. It eventually settled on MPEG-ES, then started to play it.

Therefore I think there may be a delay while mplayer decides what the stream format is....

maz said...

Unfortunately the pipes are not seekable, but you can test the "−cache [kBytes]" parameter.

This should produce a delay. Maybe mplayer can detect the codec faster with a little bit of caching.

Hans-Peter Bock said...

In the firmware which you can download at edimax I found some more URLs in the file IC3010M/29/AP/enet_EDIMAX/enet/enet_httpd_webs.c:

~/IC3010M/29/AP/enet_EDIMAX/src/enet$ grep [...]
websPushJPEGHandler, 0);
websUrlHandlerDefine("/mjpg/video.mjpg", NULL, 0, websPushJPEGHandler, 0);
websUrlHandlerDefine("/"CGI_NAME"/audio/receive.cgi", NULL, 0, websPushAudioHandler, 0);
websUrlHandlerDefine("/"CGI_NAME"/audio/transmit.cgi", NULL, 0, websReceiveAudioHandler, 0);
[...]

The receive.cgi sends a GSM 06.10 audio stream to the client.

The transmit.cgi seems to expect an speex audio stream which is played back by the camera. Unfortunately I could not figure out, how this speex stream should be packed.

Anonymous said...

this camera is continuosly crashing, in detail is the webserver crashing every few hours, exactly like the 1510wg model.
any way to fix this?
thanks