... but far from real HD (1920x1080).
Nerd post incoming....
For what it's worth, there are a lot of HD resolutions defined that people aren't aware of, all of them are technically real HD:
nHD - 640x360
qHD - 960x540
HD - 1280x720
HD+ - 1600x900
FHD - 1920x1080
QHD - 2560x1440
4k UHD - 3840x2160
5k UHD+ - 5120x2880
8K UHD - 7680x4320
MFC calling 320x240 HD (that's actually QVGA and is most commonly the resolution you'd find on flip phones) though is laughable. Whoever thought that was a good idea should not be developing websites. Using that resolution, however, is understandable. The higher the resolution you use the higher a bitrate is needed to prevent a loss in visual quality. Most MFC "HD" streams are 320x240 using the
AVC-1 video codec (H.264) encoded at a constant 1 megabit per second and a variable frame rate, and the
Speex codec encoding at about 42 kbit per second, packaged inside the
flash video container.
AVC-1 is the most widely deployed video codec at the moment. If you have a modern satellite or cable receiver, chances are good that all of your HD channels are encoded using AVC-1, as is everything you'll find on YouTube. Your cell phone uses it as well, as do apps like SnapChat. It's also what Blu-Ray discs use. It's going to be replaced by
HEVC (H.265) eventually.
MFC uses Speex because it was designed to encode the frequencies of human voice efficiently (and it's free). Even though you can achieve pretty good quality with a $100+ microphone, the reason you notice that audio quality on MFC doesn't compare to other applications and sites is because of that. This is essentially a Voice over IP codec, it's meant to transmit voices, not other sounds.
The reasons for using a low video resolution and bitrate and two-fold.
1.
Bandwidth. The lower the bitrate the less money has to be spent on streaming to site viewers.
2.
Server and model computer resources. Higher resolutions and bitrates require more time to encode, which then requires faster and more expensive servers to do transcoding in real-time. I'm assuming that whatever the video and audio is as it's streamed to MFC from the model, that MFC transcodes it into something else. If that's the case then a step up to a new resolution and bitrate could require a large expenditure on servers and bandwidth for MFC that they may not see as a good return on the investment. If that's not the case then we're talking about increasing the computer requirements for the models which is an even bigger investment as you'd risk losing models and the revenue they generate.
Some cam sites probably use cloud platforms like Amazon
AWS and can very easily (trivially, if they designed their software well) increase the size of their server farm. If they really designed their software and business well, it could be as easy as changing a config setting in their software and then spending a few minutes on the Amazon control panel to use more servers. If they didn't, these changes could require rewriting *all* of the back-end software and then buying and installing new servers with a co-location company *by hand*.
Anyhoo, I think it's pretty sad that most MFC streams are still QVGA. There's no excuse for that in 2016. They should invest in infrastructure upgrades that at the very least allow 720p as an option for high earning models (or as a paid option for models that want to foot the bill), and ffs, support widescreen video capture. This is not especially difficult technology.