How can I connect a TCP/IP Camera to the PC? - c#

I want to write an application that can capture from a TCP/IP camera. I haven't bought the camera yet. I have the following questions:
What should I look for in the camera?
Do all cameras have SDKs or APIs for that?
thanks

Most cameras produce a JPEG or MPEG4 stream, or both, that you can capture. My cameras do not let you download images, unlike Earwicker claims. They can, however, send images by email, ftp, or write them to an SD card.
I use the software on my Synology Rackstation to record streams on the NAS. I have not really looked at the software that they use, but I am almost certain that, behind the scenes, it is some Linux software that is freely available. You could look into that.

Get a camera that has an HTTP server, allowing you to download images from it like any web server. This is standard on most IP cameras.

Related

Convert JPEGs to H264 and stream to my server

I have a c# app.
At the moment I upload jpegs to my server to be rendered onto client browser to give the appearance of a video.
To save on bandwidth I am considering whether I can convert these jpegs to H264 video format and provide a constant stream to my server.
I have seen example (notably) on this forum that will do this using ffmpeg.
However, the examples show that the video is created and THEN can be uploaded to my server.
The only way I can see this working is to do continuous 'cut off''s of say 15 seconds worth of footage and upload to my server.
Is there a better way?
ADDITIONAL NOTES ABOUT MY APPLICATION
The main point of the application is to allow customers to view motion caught on their CCTV cameras - using IP cameras - via a web browser.
These images HAVE to be MPJEG format.
The other side of the application is that the customer also wants to see live streaming on the browser as well.
Normally, to do this with a high FPS rate and low bandwidth usage the H264 encoder is used. But, H264 uses predictive encoding which cannot be used for motion 'stills'.
The live streaming I have at the moment is not bad. But will never rival H264 either in FPS or/and bandwidth.
So, I wanted to see if I can have 2 streams going to my server. One would save motion 'stills' to the hard drive and the other will display the live feed.
To achieve this I would presume I would have to do this 'cut off' at time chosen by me - like 15 seconds.
The better option would be to never have a cut off but pipe the stream to my server.
FFMPEGServer seems to offer this but is not available for Windows OS.
I am unsure how to use FFMPEG to send a 'stream' to my server and then receive it on my server C# code.

Retrieving images from sony camera over Wifi AP

I would please like to know if it is possible to retrieve images from a Sony Camera when it is connected to a Wifi Access Point on our local network? I want to retrieve the images from the camera with C# code.
Can anyone point me to where I can find resources regarding this?
Depends on what Sony Camera you are using. See the Camera Remote API SDK page for more details on the API. Inside the SDK you will find a PDF with a list of which APIs are supported for which cameras.
https://developer.sony.com/develop/cameras/
Also, the Camera itself must act as the WiFi access point and you connect to it with the host device that you want to use to control it.
It is possible but there are no public resources regarding it. See my answer to a related question here.
Quoting myself (there's more detail at the link) - this is based on the Sony A7:
The camera has 2 Wifi-connection modes:
(a) AP-mode ("Connect to smartphone"), where the camera acts as an AP you can connect to. Only gives access to JPGs, not raws. API is proprietary but public (https://developer.sony.com/develop/cameras/)
(b) Infrastructure mode ("Connect to computer"), where the camera connects to an AP and pushes any files to a computer on the local network. Uses some MTP-flavour (based on PTP/IP).
So for (b) you would have to use or implement some kind of MTP- or PTP/IP-stack. You would also have to know the MAC-address of the computer the camera has been "paired" with previously.

Audio and Video streaming at the same time using C#

I'd like to create an application client-server in C# (WPF).
On the server side I want to make a capture from few cameras and I want to send a preview to client (monitoring system).
Apart from that client can select one of the preview and take the audio stream from one of the camera.
What library I can use to get stream from few webcams simultaneously?
What about audio streaming from one of the camera?
I don't know how to synchronize video and audio streaming.
Do you have any idea how to achieve this functionality?

Developing an Online Webcam Video Surveillance System in .NET (Real Time Video Streaming Issues)

I'm working on an application that is joining two projects in two different courses in my Software Engineering degree:
SWE 490: Component Based Software Engineering
SWE 344: IP and Client Server programing
Here's what's my application about :
Client Side (Desktop Based): Main function is to capture the webcam video and stream it to the server.
Server Side (Web Based): Main function is to receive the streamed video from the client and display it on the website in real time.
Brief Description of the application :
The users will be able to monitor their Webcams remotely by streaming their webcams output to a remote server that is accessible via the web. The system will also serve as a motion detection system (if activated by the user) to notify the users via email if any motion has been detected on their webcams. In addition the system also allows users to schedule recordings and watch them online through live streaming.
I'm preparing a proposal for the project and I've made some initial plans for the system structure that is represented below :
Client Side Components (Desktop) :
Server Side Components (Web Server) :
My Question :
My main issues are with the real time video streaming (sending and receiving components) as this is a new topic for me.
I know I can program a socket and send the captured videos as a stream of bytes to the main server, but what I'm concerned about is how am i going to display the received stream on the web browser at the server side.
My situation is similar to this question except that it's for video streaming and not image streaming.
I've been reading some articles and it seems like it can be done using Silverlight and I'm hoping someone can point me to the right direction.
Your opinions on the project in general are more than welcomed.
I know it's in VB.Net, but this article may be a useful reference guide.
P.s. you misspelled Quartz in your diagram ;)
I agree that Silverlight should probably be your first stop.
You can start here:
http://www.silverlight.net/community/samples/silverlight-samples/video-chat-35809/
[EDIT: 28/02/2014]
Okay so this is obviously no longer valid, you can stop down voting it already ...

How to use computer's Bluetooth to send Wallpapers to any cellphone, in C#?

I'd like to know if it is possible how to do it, because my client asked me if the program I'm developing could also send wallpapers to nearby cellphones(my program will be in a place with many people passing by, so it would be good to have the bluetooth feature).
Thanks!
it can send pictures as files, users then may set them as wallpapers.
Unless the phone and the computer support bluetooth and are connected, you cannot. You can send the files to mobiles over bluetooth. 32feet provides a nice library to perform bluetooh related operations. Try that.
Hope it helps.
To do this you would need to
Make sure each user's device is paired to your bluetooth "sever"
Create the ability to auto connect and send the file.
On your phone's application, receive the image file and set the phone background - this will be different for each type of phone's OS. I would assume you are aiming towards Window Mobile Devices, since you are using c#.
The first step i see as being the difficult step as each phone much "register" the bluetooth of the server to be paired with it.

Categories

Resources