We use TokBox OpenTok. They are the only one we have found that is able to record with WebRTC. The WebRTC recording capability is still in Beta though, so you may have to apply to get in, but we use it in production already, so nothing wrong with the functionality, just that they are limiting who can use it for now.
Do not use flash based solution. All flash-based solutions suck. We even developed our own implementation, thinking we could do a better job, but it is flash limitation.
I do not know about the last bullet point, but OpenTok for sure covers the first 4.