I'm planning to set up a service that would allow people to connect their ip-cameras to and watch video embedded into a website. Scheduled saving and replaying would also be available. What hardware and software would you recommend for that?
I'm thinking of using Wowza Media Server.
In particular I have two questions:
What video protocol/format should be used between cameras and the streaming server? What advantages over standard MPEG does H.264 have?
What format should be utilized to allow for multicast streaming between the streaming server and the webserver/user?
UPD:
We were choosing between Panasonic BL-C101, whose specs say it supports "Image compression: JPEG (Motion JPEG), MPEG-4" (I guess it's MPEG-4 unless they don't mention H.264 explicitly) and a H.264 supporting camera Axis M1011. As Wowza needs H.264 we go for Axis. We are going to save snapshots every 0.5 seconds (which is probably ideal for surveillance cameras) and a) record it and broadcast it later on demand b) broadcast it live via unicast or multicast. ffmpeg would cut, save video to disk and, possibly, stream it live. I'm slightly confused here... What would be the role of Wowza Media server then?
What do you think would be the advantage of using multicast over Internet (and should it be used)?
H.264 is also known as MPEG-4 Part 10 - what do you mean by standard MPEG? MPEG-1? MPEG-2? Since Wowza Media Server only uses H.264 I'm confused by this bit. A MPEG-TS stands for MPEG Transport Stream which is a stream of video that contains an MPEG codec (eg. MPEG-2, H.264, etc.)
Comparing H.264 to say MPEG-2, the crux is H.264 gives you better compression at the same quality level but requires a lot more horsepower to run. DVDs use MPEG-2, whereas Blu-ray discs can use MPEG-2 or H.264 for example.
Lastly, how are you planning to hook up the cameras to the server? Different cameras output video in different codecs (most I've seen are using Motion JPEG, WMV9, H.264, or even full blown MPEG-4 instead of Motion JPEG in an MPEG-4 container), or instead of providing video will save snapshots every x seconds to a server which you could then piece together into an actual movie using ffmpeg. All these will determine the best format to go between the cameras and the server.
It can be noted that multicast streaming is blocked by many firewalls and routers by default - something to be aware of.