====== How to reduce excessive stuttering or buffering when streaming videos ====== If you are streaming videos to your devices or web browsers in your home or outside your home and they are stuttering, buffering or stopping, then use this guide to help solve the problem. ===== Your home network ===== Your home network must be fast enough to allow Mezzmo to transmit the video data from your computer to your device(s) in your home - otherwise you will see stuttering, buffering or stopping on your device. * For best streaming performance, it is recommended to use Ethernet cables where possible. If you are using a wireless network, then make sure it is wireless-N with full signal strength. * If you are using a wireless network and have a dual band router, then try using the 5GHz band rather than the 2.4GHz band. The 5GHz band may provide better streaming performance and have less interference from other devices in your home. Many Mezzmo users have reported better wireless streaming performance when using the 5GHz band. Consult your router's and devices' documentation for the recommended 5GHz configuration. * When streaming a video, make sure your home network is not congested with other traffic - for example, copying files from one computer to another computer. * Routers can sometimes slow down or get themselves in an unstable state where it affects streaming performance. Try turning off your router for a minute and then turning it on again to correct these issues. * For best performance it is best to have the Network card duplex mode in 1.0 Gbps Full Duplex - Right-click on This PC in Windows explorer and select properites - Click on Device Manager in the list on the left - Expand Network Adapters and right-click your ethernet adapter and select properties - On the Advanced tab scroll to the Speed & Duplex item and select it then select the 1.0 Gbps Full Duplex item {{:advanced-network.png?400|}} ===== Your Mezzmo settings ===== Listed below are the settings in Mezzmo that you should ensure are correct for optimal streaming. * Go to the **Media Devices dialog** and edit your device. Make sure you have the right device profile selected. If you are unsure, then ask Conceiva support staff and we will recommend the correct choice. * Go to the **Media Devices dialog** and edit your device. On the Device Settings dialog (Performance tab), set the **Maximum bitrate** to match how your computer and device are connected on your home network. Mezzmo uses this setting when transcoding videos so that the video bitrate does not exceed the capabilities of your home network connection. ===== Transcoding performance ===== FFmpeg is used in a separate process to transcode your audio and video files so they can be played on your devices and web browsers. If FFmpeg is using too much CPU and memory, then Mezzmo server may not have enough CPU time to stream the file to the device. You can change the **Transcoding CPU priority** in **Transcoding Settings dialog** in Mezzmo to **Low** so that the FFmpeg will use less CPU time (however, this may slow down transcoding so if the transcoding is already too slow it will not help). When your videos are playing on your device but they are stuttering or buffering, then go to Mezzmo and look at the **Transcoding pane**. If you see your video file listed there, then it is being transcoded on-the-fly. If it is marked in red, then the transcoding speed is not fast enough for real time playback and this is one of the causes of the stuttering. To improve transcoding performance, you can upgrade your computer's CPU and memory. In general, the more cores and powerful your computer's CPU, the better transcoding performance will be obtained. An alternative solution is to **pre-transcode** your video file(s) before streaming them - thus eliminating slow transcoding as being the reason for stuttering. To pre-transcode your videos, see this FAQ - [[pre-transcode_files|Pre-transcode Files]]. ===== Your video files ===== If your video files have high video bitrates, then this can be a cause of excessive stuttering or buffering. * If your video files' format is supported by your device but have a high video bitrate, then your device may not be able to decode and play them in real time. This will be a limitation of the device's firmware. As an example, some devices can stutter when trying to play Blu-ray rips that have video bitrates of 10Mb/sec or higher. In this case, trying lowering the video bitrate when encoding/ripping your videos. As a test, you can try to pre-transcode the video to another format and see if that plays. * If Mezzmo is transcoding the video but the video bitrate is too high, then you can reduce the video bitrate that Mezzmo encodes in the transcoded video. Follow these steps: - In Mezzmo, go to the **Media Devices** dialog and edit your device. - On the Device Settings dialog, go to the **Performance tab** and lower the **Maximum bitrate** value halfway. - On the Device Settings dialog, go to the **Transcoding tab** and delete your transcoded files. - Try streaming the video now and see if the stuttering is no longer there or reduced. - Repeat these steps whilst adjusting the Maximum bitrate value to get the optimal setting. ===== Advanced Mezzmo settings ===== Mezzmo server streams video to your devices in discrete data packets. The default size of these data packets is typically 64KB. Adjusting the size of the packets can sometimes provide improved streaming performance for devices on home network configurations. Here's how to adjust the data packet size: - Stop your Mezzmo server and exit Mezzmo. - Using Windows Explorer, go to the DeviceProfiles folder. - Edit the device profile (.PRF) file associated with your device in a text editor such as Notepad. - In the ... section, add: 8000 (where 8000 is the data packet size in bytes; recommended range 4000 - 4096000) - Save your changes to the .PRF file. - Run Mezzmo and start your Mezzmo server. Try streaming and check streaming performance. - Repeat the above steps with different data packet sizes to find the optimal value for your home network.