Do you need to fix your Picarto streams?
8 years ago
General
Hi there. If someone in a Picarto stream linked you to this article, it's probably for this reason: Your Picarto stream is not running perfectly smoothly, and that might affect the ability of others to watch it.
And this may confuse you because you were very careful to use the quality settings recommended on the Picarto site.
Unfortunately, those recommendations seem to assume you have infinite processor power available, which, for most of us, is simply not the case.
Compressing and encoding full-motion high-quality HD video is typically very processor-intensive work, and not every computer is fully up to the task. The result? The video-encoding process fails to run as smoothly as it should, video frames get dropped by the hundreds, other processes don't get the CPU power that they need to work properly (hence massive Photoshop laaaaag, for example), and some streaming programs even crash a lot because they just don't have the powerrrrr! ("Ya cannae change the laws of physics, Captain!")
In short, there are some significant differences between Picarto's suggested streaming settings, and what I, myself, would recommend.
I won't claim to be an expert or anything, but I've had experience and I've run a few experiments, and thus I feel mostly qualified to offer the following advice:
Tip 1: You don't need super-high resolution.
If you're running an art tutorial stream and it's important that all the text on your screen is legible, you can stream at half your desktop resolution (840x525 instead of 1680x1050, for example) and the text will still be clear enough to read. The video window on the regular Picarto screen is seldom much larger than that anyway - the additional detail would only go to waste. (And, if you're in a multistream, the video window is even smaller - half the size it was before, which means even more wasted detail.)
For gaming, which tends to need even more processor power while not needing as much clarity, you can take this one step further and cut the stream size to 1/4 your desktop resolution.
When you stream at half your desktop resolution, that's half the width and half the height, which is 1/4 of the pixels that need to be processed. That means your streaming software only uses 1/4 as much processor power compressing and encoding the video. Similarly, if you stream at 1/4 the resolution, which is 1/4 the width and height, that's only 1/16 as many pixels. You may lose detail, but just look at how much smoother everything runs!
(Of course, the stream size doesn't need to be exactly 1/2 or 1/4 your original resolution, but I recommend that because some streaming programs have optimized functions for reducing image size by exactly half. It might not help performance much, but every little bit helps!)
Tip 2: You don't need a high frame rate either.
A higher frame rate simply means that your streaming software needs to read the screen more times per second, which means that many more pixels to analyze and compress into video. 30 FPS is considered a reasonable default for encoding videos for YouTube or modern television. Even theatrical movies and TV shows were, in the days of film, recorded at only 24 FPS. On a streaming site like Picarto, however, you typically don't need that much quality of motion.
For gaming streams where there is a lot of motion and action and lots of things on screen to keep track of at once, it's okay to stream at 24 to 30 FPS if your system can handle that (and you can always reduce the resolution to make sure it can). Even going as low as 20 FPS, if necessary, would be acceptable for a lot of games.
For art streams, where there is not much motion at all, you can afford to go even lower. Streaming at 10 FPS instead of 30 means that your streaming software only needs to process 1/3 as much video data, and that means, of course, using only 1/3 as much processor power.
Tip 3: You don't need "ultrafast" mode.
Some streaming programs may have an additional quality/speed adjustment with settings along the lines of "ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", et cetera... This allows you to increase performance by sacrificing quality. The problem is that the video encoding still processes the same number of pixels, and at the same rate, and this option only speeds up the compression process by making some of the steps slightly rougher and/or sloppier.
Now, it works, but the fastest settings can hurt quality quite a lot! In my experience, you would do better if you left this at "medium" (or even "slow" if you want that extra quality), and reduced the resolution and FPS (as mentioned above) instead. That will give you more of a performance boost and won't hurt your video quality nearly as much.
Tip 4: Don't forget about bitrates.
For most cable/DSL connections, upload speeds are a lot slower than download speeds; this is done because most internet users do more downloading than uploading, and relying on that fact helps reduce costs. As a result, you can have a very fast cable connection and still have trouble if you try to upload a video stream with a data rate that's just a fraction of your supposed internet connection speed.
And Wi-Fi is often like that, too, depending on the quality of your wireless reception.
If you've been reducing the streaming resolution and the FPS like I've been suggesting above, we might as well cut the video bitrate too, especially since Picarto's suggested bitrate will probably be too high for the settings we're using now.
It's not always easy to determine what's ideal, but anywhere between 100Kbps and 400Kbps is a good starting point for experimenting. As a general rule of thumb: If you can cut your video bitrate in half without anyone noticing a difference in quality, then your video bitrate needed to be cut in half.
(Reducing how much network traffic you generate can also improve connection reliability, especially with Wi-Fi.)
Audio bitrates are simpler: I consider anything between 64Kbps and 96Kbps to be acceptable quality when streaming music. If your streams don't have music, you can go even lower.
Tip 5: Think of the viewers! Won't someone please think of the viewers?
Remember that every frame and every pixel and every data byte that your streaming software collects, compresses, encodes and transmits as part of the video streaming process, must be received, decoded, decompressed and output by the video players of everyone watching your stream, and this takes processor power too. This is especially true for Picarto multistreams, where the processing power required to display four streams at once has occasionally been too much for some viewers, who feel forced to drop out by overheating CPUs, overloaded web browsers, and/or overworked internet connections.
Thus, when you reduce your video resolution and FPS, you don't just make things easier on your computer, but also on everyone else's. When you consider the impact that this can have on whether or not others can even view your stream at all when you're participating in a multistream, a little courtesy and conservation of resources can go a long way!
Now, your mileage may vary. I encourage experimenting a little bit with the numbers while you determine what seems to work best for your specific case. My recommendations here should provide a good starting point, at least.
Thanks for reading all that. I hope it helps!
And this may confuse you because you were very careful to use the quality settings recommended on the Picarto site.
Unfortunately, those recommendations seem to assume you have infinite processor power available, which, for most of us, is simply not the case.
Compressing and encoding full-motion high-quality HD video is typically very processor-intensive work, and not every computer is fully up to the task. The result? The video-encoding process fails to run as smoothly as it should, video frames get dropped by the hundreds, other processes don't get the CPU power that they need to work properly (hence massive Photoshop laaaaag, for example), and some streaming programs even crash a lot because they just don't have the powerrrrr! ("Ya cannae change the laws of physics, Captain!")
In short, there are some significant differences between Picarto's suggested streaming settings, and what I, myself, would recommend.
I won't claim to be an expert or anything, but I've had experience and I've run a few experiments, and thus I feel mostly qualified to offer the following advice:
Tip 1: You don't need super-high resolution.
If you're running an art tutorial stream and it's important that all the text on your screen is legible, you can stream at half your desktop resolution (840x525 instead of 1680x1050, for example) and the text will still be clear enough to read. The video window on the regular Picarto screen is seldom much larger than that anyway - the additional detail would only go to waste. (And, if you're in a multistream, the video window is even smaller - half the size it was before, which means even more wasted detail.)
For gaming, which tends to need even more processor power while not needing as much clarity, you can take this one step further and cut the stream size to 1/4 your desktop resolution.
When you stream at half your desktop resolution, that's half the width and half the height, which is 1/4 of the pixels that need to be processed. That means your streaming software only uses 1/4 as much processor power compressing and encoding the video. Similarly, if you stream at 1/4 the resolution, which is 1/4 the width and height, that's only 1/16 as many pixels. You may lose detail, but just look at how much smoother everything runs!
(Of course, the stream size doesn't need to be exactly 1/2 or 1/4 your original resolution, but I recommend that because some streaming programs have optimized functions for reducing image size by exactly half. It might not help performance much, but every little bit helps!)
Tip 2: You don't need a high frame rate either.
A higher frame rate simply means that your streaming software needs to read the screen more times per second, which means that many more pixels to analyze and compress into video. 30 FPS is considered a reasonable default for encoding videos for YouTube or modern television. Even theatrical movies and TV shows were, in the days of film, recorded at only 24 FPS. On a streaming site like Picarto, however, you typically don't need that much quality of motion.
For gaming streams where there is a lot of motion and action and lots of things on screen to keep track of at once, it's okay to stream at 24 to 30 FPS if your system can handle that (and you can always reduce the resolution to make sure it can). Even going as low as 20 FPS, if necessary, would be acceptable for a lot of games.
For art streams, where there is not much motion at all, you can afford to go even lower. Streaming at 10 FPS instead of 30 means that your streaming software only needs to process 1/3 as much video data, and that means, of course, using only 1/3 as much processor power.
Tip 3: You don't need "ultrafast" mode.
Some streaming programs may have an additional quality/speed adjustment with settings along the lines of "ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", et cetera... This allows you to increase performance by sacrificing quality. The problem is that the video encoding still processes the same number of pixels, and at the same rate, and this option only speeds up the compression process by making some of the steps slightly rougher and/or sloppier.
Now, it works, but the fastest settings can hurt quality quite a lot! In my experience, you would do better if you left this at "medium" (or even "slow" if you want that extra quality), and reduced the resolution and FPS (as mentioned above) instead. That will give you more of a performance boost and won't hurt your video quality nearly as much.
Tip 4: Don't forget about bitrates.
For most cable/DSL connections, upload speeds are a lot slower than download speeds; this is done because most internet users do more downloading than uploading, and relying on that fact helps reduce costs. As a result, you can have a very fast cable connection and still have trouble if you try to upload a video stream with a data rate that's just a fraction of your supposed internet connection speed.
And Wi-Fi is often like that, too, depending on the quality of your wireless reception.
If you've been reducing the streaming resolution and the FPS like I've been suggesting above, we might as well cut the video bitrate too, especially since Picarto's suggested bitrate will probably be too high for the settings we're using now.
It's not always easy to determine what's ideal, but anywhere between 100Kbps and 400Kbps is a good starting point for experimenting. As a general rule of thumb: If you can cut your video bitrate in half without anyone noticing a difference in quality, then your video bitrate needed to be cut in half.
(Reducing how much network traffic you generate can also improve connection reliability, especially with Wi-Fi.)
Audio bitrates are simpler: I consider anything between 64Kbps and 96Kbps to be acceptable quality when streaming music. If your streams don't have music, you can go even lower.
Tip 5: Think of the viewers! Won't someone please think of the viewers?
Remember that every frame and every pixel and every data byte that your streaming software collects, compresses, encodes and transmits as part of the video streaming process, must be received, decoded, decompressed and output by the video players of everyone watching your stream, and this takes processor power too. This is especially true for Picarto multistreams, where the processing power required to display four streams at once has occasionally been too much for some viewers, who feel forced to drop out by overheating CPUs, overloaded web browsers, and/or overworked internet connections.
Thus, when you reduce your video resolution and FPS, you don't just make things easier on your computer, but also on everyone else's. When you consider the impact that this can have on whether or not others can even view your stream at all when you're participating in a multistream, a little courtesy and conservation of resources can go a long way!
Now, your mileage may vary. I encourage experimenting a little bit with the numbers while you determine what seems to work best for your specific case. My recommendations here should provide a good starting point, at least.
Thanks for reading all that. I hope it helps!
FA+
