Optimizing Your Camera for Smooth Streaming: Everything You Ever Wanted to Know in 1262 words
You’re here because you need your camera to be streaming properly. We get that, so let’s skip the usual opening chit-chat and get straight to business.
Ready? Let’s go.
When configuring your camera stream, your main goal is clear: to find the best possible streaming quality while keeping your Internet connection limits in mind and then to provide a satisfactory quality / bandwidth ratio for your viewers (note that some of them will be watching your stream on their mobile devices).
We would love to tell you that things are very much straightforward and there’s one single most important attribute of any stream that you should focus on. Unfortunately, that’s not the case.
What matters most is the purpose of the stream. Are you going to broadcast a live stream from a concert? Or are you interested in streaming “just” for security reasons? Once you’ve determined this, there are three key attributes of your stream that matter most.
Resolution
You likely know a thing or two about this, but let’s sum it up anyway. Repetition has never killed anyone, right?
The optimal resolution which delivers a high-quality stream is 1280×720 pixels. You and your viewers should be fine with that. However, if you start experiencing connection issues, lower it right away to keep the stream running smoothly – ideally to VGA resolution, which is 640×480 pixels.
If the opposite is the case, meaning you have a solid Internet connection and want viewers to enjoy higher image quality (in fullscreen, for example), switch to 1920×1080 pixels, that should do. Such resolution is particularly useful when you or your viewers will likely be zooming in when watching the recorded footage.
By now, a question might have popped up in your head. What does “solid” connection really mean? Let’s have a brief look at Internet speeds. If you’re already familiar with this subtopic, feel free to skip to the next chapter titled Compression.
Internet speeds
Your ISP (Internet Service Provider) should be able to tell you what your Internet speed should be. It always includes two numbers:
- Download (usually the higher number)
- Upload (usually the lower number)
If you are trying to stream your camera over the Internet, you should mainly worry about the Upload speed, as this is the speed which will limit you in how much data or camera streams you will be able to stream. It is good to measure your real-life speed, for example at www.speedtest.net.
For a 720p camera with h.264 stream, we recommend an upload speed of around 1Mbps, in order to maintain decent video quality. For each additional camera, you would have to multiply that number of course.
All clear so far? Good, let’s move on.
Compression
Compression is the second of the three key attributes of your stream. And – just to give you a heads up – it’s also the point where things start to get a bit nasty, technical jargon-wise. No worries, though, you’ll be fine!
When it comes to compression, you get to choose from three options:
- MJPEG
- MPEG4
- h.264
The most suitable one? Opt for h.264. It consumes a lot less bandwidth than the remaining two while maintaining the same image quality. Interested in details? Read the compression types comparison below. If you’re fine with just knowing that the three options exist, feel free to skip it.
Compression types comparison
MJPEG
+ compatibility
+ supported by most cameras
+ low decoding demands
– consumes significantly more bandwidth than h.264
– lower quality of the stream
– not supported by our recording app
– no audio support
h.264:
+ best widely supported compression type available
+ reduces bandwidth usage
+ high quality picture
+ can include audio
+ can be used with cloud recording app
– higher hardware demands for decoding
– the picture might be temporarily corrupted when packets get lost
MPEG4
– not widely supported (like most platforms, we don’t support MPEG4 either)
– it is a compression similar to h.264 but not as efficient
Along with h.264 comparison, we also recommend you to go for either of these two options:
- CBR (constant bitrate) set to a lower value than the upload speed of your Internet connection.
- VBR (variable bitrate) with a fixed maximum value which won’t be exceeded.
This way, you will decrease the bandwidth when there is no movement in the picture. That proves useful especially when streaming for security reasons.
If you use fixed quality settings, you can run into trouble with your stream when the traffic increases significantly, e.g. at night or when there’s sudden, unexpected movement in the stream, which either exceeds the upload bandwidth or the camera itself can’t handle.
Framerate
Almost there! We’ve already discussed resolution and compression, let’s close it with the third attribute of a stream – the frame rate.
Most cameras allow you to choose frame rate on a scale from 1 to 30 FPS (frames per second). The higher the frame rate (more FPS), the more fluid your streaming is.
Sounds logical, right?
Lower frame rate results in using less bandwidth, but also for a choppy video. We recommend it when there’s not much movement in the picture because then you can save some bandwidth or use the same bandwidth to keep the stream fluid.
Higher frame rate consumes more bandwidth and, not surprisingly, results in a more fluid video. It should be your option of choice when you’re about to stream fast action and a lot of movement. In order to avoid using too much bandwidth while keeping the picture fluid, we suggest lowering the resolution or compression quality.
When streaming for security purposes, it’s usually sufficient to opt for a frame rate of 10 – 15 FPS. Some cameras will even lower the frame rate during nighttime as they increase the exposure time in order to reduce the noise in the picture.
That’s it!
Got what you came here for? Great! Need to go deeper? Leave a comment, our camera guru, Paul, will be in touch.
For those of you who are still hungry for more information, we prepared a glossary with the most widespread expressions you can possibly come across when dealing with streaming and cameras in general. We’ve covered some of them earlier in this blog post, some might be new to you.
The glossary
FPS = Frames Per Second
How many frames per second your camera encodes. It can usually be set to 1 to 30. The higher the value, the more fluid the video is.
CBR = Constant BitRate
Also known as fixed bitrate. The camera will keep the bitrate constant, thus the video quality will vary.
VBR = Variable BitRate
Also known as fixed quality. The camera will keep the quality constant, thus the video bitrate will vary.
GOP = Group Of Pictures
Also known as I-Frame interval, keyframe interval. It can be expressed and set in seconds (1/30 to 2s) or in frames (1 to 60). This value identifies how frequently the keyframe (complete picture) will be used in comparison with predictive frames (incomplete pictures, carrying only data which differ from the keyframe)
More frequent keyframes are used for videos with a lot of motion, which reduces a potential chance of frame corruption. Less frequent keyframes are used for more static videos, where it can significantly reduce the bandwidth or improve image quality while maintaining the bandwidth.
GOV = GOP Compression
Image quality can be set in percentage (0-100) or in steps from low to high. It influences the overall image quality and bandwidth usage.
High value = high quality, high bandwidth usage.
Low value = blocky / blurry image, low detail, low bandwidth usage.
Powerline frequency
It reduces flickering when used in combination with artificial light (fluorescent lamp). 50/60Hz (EU/US), anti-flicker.
OK, now that really is it. We hope we’ve made things clearer to you!
We would love if you take a look at our solution for cameras!
February 10, 2016 @ 1:09 am
Very nice article. Short & Usefull
Thank you.
April 1, 2016 @ 1:20 am
You mention that a 1Mbps connection is recommended for an h.264 720 stream. I know there are lots of variables, but it would be useful if you could provide a table with expected bandwidth usage for the standard resolutions and probably for some, the difference in bandwidth required for the different compressions.
Thanks
May 1, 2016 @ 11:41 pm
Very good article and handy ! a lot of websites never say all these things and here we got all the information for a beginner !
THANK YOU
July 7, 2016 @ 11:38 am
Hi guys, As (Burak M) mentioned short and useful, but i got a question? I have 8 Mbpe download speed and the upload is very slow between 25-50 kbpe, all my ip cameras are 1080p resolution, what you advice me to do?
July 10, 2016 @ 11:53 pm
What a great article. Very helpful. looking forward for more from you!
August 4, 2016 @ 11:52 pm
Hi! I want to ask can I record the second stream?
September 19, 2016 @ 1:45 am
I can’t view my camera, it’s only black but ive heard noises/sounds. h264 stream type
October 3, 2016 @ 3:55 am
Jessica, please contact us on our messenger or on our support email. We will check if there are any compatibility issues with your camera.
Paul
October 12, 2016 @ 12:20 am
Hi. Does the free account limit resolution to 720p?
December 15, 2016 @ 11:19 am
Awesome Article. I point all my customers here! Thanks form providing such a great service angelcam.
April 17, 2017 @ 2:44 pm
Where do I change the resolution??? My camera software says its working in 1080 but your software reports 720?
September 17, 2018 @ 12:26 pm
bonjour
Good share.
I consider the great cccam are those from fishbone cloud
I would like to see more posts like this
Thanks
October 7, 2018 @ 12:11 pm
No buddy is Talking About the Network LAN Speed
you Should Install GIGABIT Switch for Further Networking
November 21, 2018 @ 4:00 pm
Hi I am getting blurry image for moving objects even at walking speed I have 4 megapixel Hikvision IP Cam
Any suggestions thanx
January 27, 2019 @ 8:43 pm
for whatever reason i couldnt find the name of my chinese ipcam, but it has a top fps of 25@720p, however on streaming on here, it seems to be stuck at just 1fps which isnt right. i cant find mention anywhere on the site where i can change the fps up, because it seems the site has automatically selected the wrong frame rate. I have excellent upload speed, nothing to block it at all, a top end rig, but when i go to see my camera here, its very choppy at 1 fps..how can i manually change the fps on the site?
January 30, 2019 @ 4:40 am
Very useful an clear resume!
August 1, 2019 @ 8:26 am
Thanks for sharing very helpful for me.
August 8, 2019 @ 10:12 am
Thanks for sharing very helpful for me keep sharing this type of content.