Content-type: text/html Set-Cookie: cookiehash=D8TIX1F9GET8DML97LCWDC1UDL31CF7Q; expires=Mon, 19 Oct 2020 00:00:00 GMT; path=/; DMI News

DMI News

Previous Entry.. Next Entry..

Well, that's Technology for you!

May 30, 2014 05:18

Some of you have no doubt noticed a significant lack of cams on the site lately, namely mine. More importantly, cams that have been around for years have suddenly disappeared and haven't been replaced. This is not for lack of trying. It would appear that sometime in the last 3 or so years since I purchased new cam hardware, that a number of interfaces have been left behind for good. Namely, if it isn't HD, served with a H.264 stream using the RTSP protocol, it's not going to happen. Worse yet, it seems to be impossible to know for sure of the lack of backwards compatibility without first purchasing the product. It's getting frustrating.

These issues aren't isolated to IPcams either. My old Orbit MP camera does not come with drivers for Windows 7 (64 bit), so as of my last upgrade, the office cam was no longer functional. I was able to find a working Linux solution, but the quality has suffered greatly, and it suffers even worse unless I keep the framerate less than 6 fps. Better yet, there seems to be a serious lack of any decent webcam serving software anymore. You're fine if you want to stream a live video feed to youtube, or twitch or whatever, but as far as it goes for simple software that serves up a single jpeg image at a time, it's getting hard to come by. What software does exist, mostly 32 bit, extremely out of date (but perfectly useful until recently), seems to be extremely buggy on later versions of Windows.

No matter, I don't like using windows for any of the critical services anyway, but Linux seems to be difficult as well, although I was at least able to find SOME working solution. Sortof. But it would appear that this is only a temporary solution, as my options for maintaining the old way seem to be vanishing quickly. However, this isn't really ideal. While H.264 DOES provide a more fluid video, at a higher framerate, with integrated audio, all perfectly good qualities in its favor, it comes with one huge downside. Bandwidth consumption. Primarily, bandwidth consumption where I least desire it.

Right now, if nobody is on the site watching any of the cams, other than the heartbeat check from the server every 10-20 seconds, there is no data transfer to speak of. For a small number of users, usually less than 7, the home network will serve up images directly. Since individual frames are being sent, it scales well with the available bandwidth and the number of users. The framerate might drop, but it keeps working. After 8 people are on the same cam, the server starts relaying the images instead, so my home network only needs to feed images to the server as fast as it can, and a high framerate can be maintained amongst all of the viewers, no matter how many there are (at least until the total throughput hits 100mbps). This works well, since USUALLY there are fewer than 8 viewers at a time, so all of the bandwidth load for the cams can be kept on my home network, which while limited on the upstream (1.5mbps), at least has no transfer cap, unlike the server which has a cap of 5 TB per month. That's quite a lot of data, but it's pretty easy to reach with the normal load on this site.

And thus my issue with more modern methods of video streaming. I would be required to ALWAYS be streaming the video (even if nobody is watching it). To have a decent quality stream, I would have to push at least 256kbps (and quite likely more), so I would be limited to 3-4 cams at most before I hit my bandwidth. There aren't any reasonable options to get more upstream (at least not where I live), and moving somewhere more network friendly isn't in the cards for another year or two at best, and with housing prices increasing where we've been looking, that might take even longer.

I'm not sure what the optimal solution might be here. In any event, it's probably going to require me to do a lot of programming to take advantage of what options I DO have.