Results 1 to 12 of 12
  1. #1

    Streaming camera setup

    My client would like to set up several web cams so that visitors to their site would be able to see live video. Despite ten years of web development experience, I have no idea how to do this. What would be the best and most hassle-free way to set this up? What kind of hardware and software would they need? Would there be some changes to their hosting plan or is there a good external service that can handle this?

    Of course money is no object for them, so...

  2. #2
    Join Date
    Apr 2004
    Location
    SF Bay Area
    Posts
    877
    Quote Originally Posted by killerclick View Post
    My client would like to set up several web cams so that visitors to their site would be able to see live video. Despite ten years of web development experience, I have no idea how to do this. What would be the best and most hassle-free way to set this up? What kind of hardware and software would they need? Would there be some changes to their hosting plan or is there a good external service that can handle this?

    Of course money is no object for them, so...
    Axis Cameras do a fine job and are reasonably priced for their capabilities - i.e., way above just a web cam.

    Their "motion JPEG" can be served directly from the camera or fed back via FTP or HTTP to another web server.

    There are several demos available on their web site to give you an idea of their capabilities.

  3. #3
    Quote Originally Posted by serverminds View Post
    Axis Cameras do a fine job and are reasonably priced for their capabilities - i.e., way above just a web cam.

    Their "motion JPEG" can be served directly from the camera or fed back via FTP or HTTP to another web server.

    There are several demos available on their web site to give you an idea of their capabilities.

    Thanks. So the cameras have some kind of streaming server built in? Can their stream be easily embedded into public web pages?

  4. #4
    No doubt you need a dedicated server only as streaming video is not allowed on shared hosting.

  5. #5
    Quote Originally Posted by 3DProf4online View Post
    No doubt you need a dedicated server only as streaming video is not allowed on shared hosting.
    But doesn't the camera have its own server and its own IP?

  6. #6
    Join Date
    Feb 2008
    Location
    Jakarta
    Posts
    153
    Quote Originally Posted by killerclick View Post
    But doesn't the camera have its own server and its own IP?
    Yes, the fact that shared hosting might not allow this will depend on how you *embed the stream into your web server, which will possibly raise your account's cpu usage in shared environment.
    Magnet Hosting | Layanan Hosting dan Server Indonesia
    http://www.magnet-id.com Indonesian Data Center, Peering with IIX and openIXP

  7. #7
    Quote Originally Posted by tajidyakub View Post
    Yes, the fact that shared hosting might not allow this will depend on how you *embed the stream into your web server, which will possibly raise your account's cpu usage in shared environment.
    But if the camera has its own server and IP, what does that have to do with the server hosting the site. Wouldn't it be like pulling video from another site or like embedding a YouTube video?

  8. #8
    Join Date
    Feb 2008
    Location
    Jakarta
    Posts
    153
    Quote Originally Posted by killerclick View Post
    But if the camera has its own server and IP, what does that have to do with the server hosting the site. Wouldn't it be like pulling video from another site or like embedding a YouTube video?
    Yes, if that is purely the case then I guess there are no other reason to not allow it, but better ask your hosting provider first.
    Magnet Hosting | Layanan Hosting dan Server Indonesia
    http://www.magnet-id.com Indonesian Data Center, Peering with IIX and openIXP

  9. #9
    I have something similar on my site.

    Basically, I have an Axis 207w camera which has an mjpeg stream coming from it.

    My VPS constantly downloads that stream, detecting when it stops and restarting it.

    From there, ffmpeg encodes it to a flash video.

    After that, ffserver runs on a different IP address on my VPS, streaming it out to however many people are viewing. The most I've had at once was 30 people.

    The good thing about doing it this way is that the bandwidth of the camera's Internet connection doesn't matter too much.

  10. #10
    Join Date
    Feb 2008
    Location
    Jakarta
    Posts
    153
    Quote Originally Posted by stephanhughson View Post
    From there, ffmpeg encodes it to a flash video.
    You convert the video first? .. My assumption is you do that for compatibility issues, is that correct?..

    If doing it the way you did, then I guess VPS is a minimum requirement..
    Magnet Hosting | Layanan Hosting dan Server Indonesia
    http://www.magnet-id.com Indonesian Data Center, Peering with IIX and openIXP

  11. #11
    The conversion is just done because lots of people have flash now and it works quite well.

    Doing it this way, yeah, a VPS is definitely needed. It doesn't use much CPU time, but on most shared hosting the restriction is CPU time rather than memory / bandwidth etc.

    My share of the CPU on my VPS is 1Ghz and I use 5% for encoding the video.

  12. #12
    A few months ago we developed a system exactly to solve all this issues.

    I will try to explain what it does so if anyone wants to set up something similar, they can do it.

    The system has 3 main areas:

    1. A dynamic DNS which updates each camera's current IP address so that our customers didn't have to sign up for a static IP (as static IPs are somewhat expensive in some countries).

    2. A "snapshot history" system that would save a snapshot every X seconds (the amount of seconds is determined by the available bandwidth and the amount of cameras installed on the same internet connection).

    3. A "live video" module.

    So this is how it works:

    We set up an account for each user, and we set up each camera in the system (it's database-driven). We then assign camera access privileges to each user.

    The use logs in and sees a list of all available cameras to which he has been granted access. It displays the status of each camera (online/offline) and the uptime. They can see the error log for each camera to know when it was offline and for how long.

    Then they can click on each camera to see it live, we are only embedding the camera's video display into our website (updating it using the current IP address).

    They can also click on "history" and specify the date/time ranges they want to see (maybe from Yesterday at 2:00 to today at 12:00), the system builds a dynamic "slideshow" with all those snapshots.

    At the end of each month, the system creates an ISO file with all the snapshots from each camera, a small database driven program and the dynamic slideshow galleries. We burn those ISO files to DVDs and ship them to our customers each month, so that they can have a video archive of everything that their cameras have recorded.

    The main features are:

    A user can have several cameras in different locations and monitor them all through a single website.

    There's no need for static IPs.

    They can actually see what happened while they were offline.

    They can see if a camera failed and if it was because the internet connection went dead or other issues.

    You can create whatever user-camera mixes you need, Joe from company X can access cameras 1, 2 and 8 while the CEO can access all cameras.

    Hope this sheds some light and helps you build what you need.
    Fabio A. Calderon
    C.E.O.
    SEATi

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •