1 (edited by joan 2011-Mar-14 01:11:00)

Topic: Support for network cameras

Topic about network cameras.
(first few posts moved from a different thread).


@Dee I've been trying to connect my IP camera to v0.8.13 with no success yet. It doesn't appear to show up on the 'select device' config. How have you been connecting ur IP camera?

Do you need to use a virtual capture-driver to import the IP video source or can you connect directly?

I'm using a Merit LiLin VS1000SP IP camera.

Thanks!

Re: Support for network cameras

Hi Jon,

No I have never managed to connect to the IP camera, but before version 8.13 I could not connect to an external camera either, it just kept trying to connect to the IP one.

I am using ps3 eye camera or Logitech 9000 as external cameras and both work well.  PS3 for high frame rates (up to 125 fps) but no better than 640 x 480 pixels, the Logitech 9000 for high quality image but no better than 30fps

Hope that helps

Re: Support for network cameras

Dee wrote:

No I have never managed to connect to the IP camera, but before version 8.13 I could not connect to an external camera either, it just kept trying to connect to the IP one.

Hi Dee,

Thanks for your help Dee. Is this similar to what you got when trying to connect your camera in v0.8.12/v0.8.13?

http://i51.tinypic.com/ddopkx.jpg

I can access an 'ip camera' feed through a virtual capture driver. At the moment i'm testing IP Camera [JPEG/MJPEG] DirectShow Filter  4.6.0.0. If anyone know of an open source/shareware alternative that would be wonderful.

The problem is that i cannot access the camera settings in Kinovea. 

For example, if i access my ip camera (through IP Camera DirectShow Filter) on skype, i can go into options

http://i53.tinypic.com/2rfsr5c.jpg

and access camera settings. This then allows me to configure my IP camera and stream video directly into the program.

http://i52.tinypic.com/30m6152.jpg

I suppose the next question is how to access camera settings through Kinovea. This maybe a suggestion for future releases.

jon

Ps: apologies for this post being slightly off topic. We should to start an IP camera thread.

Re: Support for network cameras

Interesting !
There is this Link2Cam project over at SourceForge (did not test it myself). Also apparently some hardware vendors provide their own Directshow filters.
What happens exactly when you try to go to the configuration dialog ? No options are listed ?

Currently I'm trying to do the opposite : spoofing an IP camera using an USB webcam to see how the program reacts to it…

Re: Support for network cameras

Hi Jon,
yes that is exactly what was shown, and nothing I did seemed to make any difference.

Re: Support for network cameras

Thanks for the tip Joan, i'll try to look for these Directshow filters.

At the moment, when i go to the config dialog this is what i get:

http://i56.tinypic.com/2i6dwnm.jpg

How can we access the more detailed camera configuration screen? I also notice in VLC, when opening a capture device, there is a configure button which allows you to adjust various aspect of your camera source.

http://i53.tinypic.com/f1gtvq.jpg

For a generic webcam this is what i get:

http://i51.tinypic.com/25s7rec.jpg

Is there anyway of accessing this "config" dialog in Kinovea? It would allow image adjustment of a webcam as well as more advanced configuration of cameras (e.g. IP cameras).

joan wrote:

Currently I'm trying to do the opposite : spoofing an IP camera using an USB webcam to see how the program reacts to it…

Any luck so far? Actually, I've been trying to do this myself too. The closest thing to broadcasting a webcam was with Webcam XP. You've probably looked at this too but it was the best software i could find to stream a webcam feed through a LAN.

Re: Support for network cameras

jon wrote:

Is there anyway of accessing this "config" dialog in Kinovea? It would allow image adjustment of a webcam as well as more advanced configuration of cameras (e.g. IP cameras).

Ah, thanks for the heads up about this internal configuration page. It'll be covered for next version.

jon wrote:
joan wrote:

Currently I'm trying to do the opposite : spoofing an IP camera using an USB webcam to see how the program reacts to it…

Any luck so far? Actually, I've been trying to do this myself too. The closest thing to broadcasting a webcam was with Webcam XP. You've probably looked at this too but it was the best software i could find to stream a webcam feed through a LAN.

Yes I had tried with Webcam XP, and I could see the webcam from across the network. However I don't know what to do from there. I will probably need the other way around now, IP to Directshow, but I'm not sure how the Directshow driver is supposed to know about the source…

Re: Support for network cameras

OK, I hadn't realized that AForge.NET already provides access to JPG / MJPEG streams of IP cameras through another API smile
I was able to serve the webcam with WebcamXP and then reconnect to it with AForge as a JPG stream on http://localhost:8080/cam_1.jpg with very good frame rate.
Also tested some open network camera streaming from Internet.

It works well, now what's needed is a way to integrate this in the existing code and user interface, and more testing.

Re: Support for network cameras

(Moved posts in a new thread)

Re: Support for network cameras

Thanks for re-organising this thread.

Yes, i can get the webcam xp stream through a web browser but haven't been able to directshow filter for it yet.

However, I did come across a DirectShow source filter that is claims to work for generic IP cameras. I haven't had much time to look at it yet and haven't got it to work yet.

Hopefully it will point us in the right direction.

Re: Support for network cameras

Well, hopefully none of this will be necessary as network cameras should be natively supported in the coming versions. At least those exporting MJPEG or JPEG streams.
(With many thanks to the AForge.NET framework, already used in Kinovea for Directshow devices and image filters)

I tried to keep the workflow unchanged for users using classic capture devices.
The network camera will be seen as another device in the device list that you will have to select, and then change the parameters.

Here are some screenshots of the updated interface :

http://www.kinovea.org/screencaps/0.8.x/devicenetwork.png

Then when you reopen the source configuration you may change the actual source. (here, receiving WebcamXP JPEG stream from another PC on the local network)
http://www.kinovea.org/screencaps/0.8.x/devicenetworkconfig.png

The most recently used network camera will be automatically tried.
The URL list will also keep the last 5 addresses that succeeded, for quick jump.
The network camera alias will not use the same mechanics of disconnection monitoring. If there's nothing coming from the other side, it will just stay black. (But as soon as the source is live again, it is displayed.)

This also makes for a cheap camera split : Stream the source (e.g using WebcamXP), then open two capture screens in Kinovea both connected on the host. Each stream gets its own buffer so you can play/pause/delay independently.

Of course much testing will be needed wink

Re: Support for network cameras

Wow... those screen shots look promising! Can't wait for future releases.

The user interface sounds great. What about the frame rate? I'm assuming the Kinovea will try and retrieve the max frame rate (30fps) from the server.

Im not that familiar with video compression. What's the difference,pros and cons of MJPEG vs JPEG streams.

Re: Support for network cameras

For the framerate it depends on the camera. Sometimes it is set and fixed at server side, and we just retrieve whatever the server sends. Other times, you can specify parameters in the URL.

For example for AXIS network cameras, here is the list of possible parameters.

The final URL might look like this:

http://<CameraIP>/axis-cgi/mjpg/video.cgi?resolution=640x480&compression=10&color=0&text=0

This will really depend on the camera API and capabilities though. The camera manual should cover the details.

I'd assume little difference in term of image quality between JPEG and MJPEG streams, as MJPEG is just a series of JPEG-compressed image inside a container (there is no temporal compression as in most other video encoding methods)
Some (most ?) cameras might only support one of the two stream type.

Re: Support for network cameras

Hi there, if anyone was looking for a solution, I've finally managed to access an IP camera through Kinovea...yay!

I've been able to use the IP cam Directshow filter from webcamxp to view fairly smooth video. Instructions:
(1) download and install the Directshow Filter
(2) Open any program to access the stream (e.g. VLC or skype) and go to config screen (refer to screen shots above)
(3) Type in the location your ip camera and adjust any other properties
(4) Press the 'save' button - important you do this otherwise the Directshow filter will not save.
(5) Open Kinovea and select source as 'IP Camera [JPEG/MJPEG]'

*important not to have multiple programs accessing your IP cam stream while you perform the setup (e.g. don't have kinovea and VLC running and once)

*if you see kinovea saying "Contacting IP camera... http://127.0.0.1" you need to repeat steps 2-4 as the IP camera address has not been saved by the Directshow filter (remember to close Kinovea first). I needed to repeat this step about 2-3 times before it worked for me.

Hopefully these instructions become redundant once we can access the 'configure' screen from Kinovea and even better once everything is integrated into the software itself.

Re: Support for network cameras

Jon

I can't seem to replicate your results.  When I go into Skype or VLC the ipcamera settings work great but in Kinovea I keep getting the Contacting IP camera setting.

I'm just experimenting right now.  I am hoping to use wireless IP cameras so I can do my analysis outdoors without any cable set up.  Specifically an iPod touch for quick and dirty real-time analysis.