It's probably your server.
Now before I get flamed to death, hear me out. In troubleshooting my own issues and helping others here on this forum, take a deep breath, follow these steps, and don't assume that the Plex software or the Chromecast device are to blame.
Let's also set something straight before we begin. Just because your Chromecast plays Netflix and YouTube fine from your Android device means only that your Chromecast is functioning properly. Think about this for a second. Google has whitelisted certain services to work with it's device, which means a certain amount of cooperation is involved, not to mention that Google owns YouTube. Those services do 1 of 2 things. They either already have the video stored in a format in which the Chromecast understands and sends it directly...or it transcodes the videos it has into the format Chromecast needs. If it does the latter, it is safe to assume that it is happening in a pooled server farm with a huge network pipe and loads of teraflops of processing power. Try to compare this to the resources you have on your NAS box...no comparison...please don't expect the same results.
Another misconception is this...Most of my videos play fine on my
, why is it a problem sending to the Chromecast? There must be something wrong with the Chromecast, right? Unfortunately, as much as this may make sense, it's more likely to be something other than the Chromecast (again...probably your server). As you will see in my troubleshooting steps below, the Chromecast only plays one type of file with one type of video encoding and one type of audio encoding. It's very likely that the device you have good luck with supports many types of containers and video/audio formats. Since that is the case, Plex doesn't have to do anything to the video except send it in it's current form to the device. But since Chromecast only supports one format, it's more likely that Plex needs to transcode that file into something acceptable for Chromecast to play. Transcoding is a system intensive process, and if the server struggles to transcode, you will get buffering. Check the specs of your other devices and compare them to the Chromecast which you can find officially here...
Google Chromecast Supported Media Types.
Below are some initial steps you can take to troubleshoot your own problems before you throw your hands up!
First thing's first...It's worth it! Take some time to understand your Plex Server and the Chromecast device. Understand how each works independently and what they need to do to work together. You are creating a media factory here which is nothing short of miraculous...treat it like that. Also, when this combination works correctly...it's absolutely amazing and worth the trouble you may feel you are experiencing right now.
Onto the troubleshooting...
Are you a PlexPass member? No longer required...Chromecast support is open to non-PlexPass members!
If not, you can stop here. Chromecast support is only available for PlexPass members at this time. You have to use the Plex for PlexPass version of the Android and iOS apps which require you to sign in with your PlexPass account. The paid app does not constitute you as a PlexPass member. [Please do not ask when it will be released to the general public, the Plex team never gives release dates.]
Old Fix:
Reboot your Chromecast. - You can do this by unplugging the USB power and replugging, or by using the Chromecast Android app and under the menu is a setting to send a soft reboot.
5.0GHz WiFi:
Don't...switch your Chromecast to a 2.4GHz band. There are known issues with Chromecast operability on the 5.0GHz band.
Can you see the Chromecast within the Chromecast Android or iOS app?
If the official app can't see it, how can Plex?
Can you watch the same video on your Android/iOS device?
If not, there is a bigger problem outside the scope of this troubleshooting guide. Get that working first before you try to cast.
Easy Fix:
Upgrade your Plex Server software and reboot.
Try reducing your quality settings:
Remember that the Chromecast is a WiFi only device. Let's not send it volumes of data and expect it to be able to consistently keep up. Go into the Plex app, choose settings and play with the 'Quality over local network' options. I have found 8Mbps 1080p is a nice place, but your mileage may vary depending on your router. I am using an ASUS RT-N66U running Shibby's Tomato firmware. While you are in there, make sure Direct Stream, Direct Play and Use new transcoder are all set to 'YES'. You may also want to play with the Plex Media Server Transcoder settings. I have Transcoder quality set to Automatic. You may want to try 'Prefer higher speed encoding'.
What kind of video are you playing?
You can't expect too much from a $35 media player. And as such, the Chromecast is built to only work with .mp4 contained videos that are encoded with H.264 video and AAC audio. Take a look at the video you are trying to play. You can find this info in Plex on the video detail page. Choose a video and press the Media Info icon (it's the round circle with an 'i' in it). First look at the Container property. Then the VIDEO > Codec. Finally the AUDIO > Codec. If they are MP4, H.264 and AAC respectively, then you should get good results out of the gate. That's because Plex is simply just sending the video file as-is to the Chromecast. If any one of those are different, then transcoding needs to take place. What is transcoding you ask? Well, Have you ever created a video on your PC or MAC before? When you have all your clips and audio in place, the very last step is what? The encoding or publishing process. Do you remember how long that process takes? It depends on the length of your movie, but it's not a short period of time. What it's doing is compressing the file, putting it into a container and making it ready for distribution to players. Well, transcoding is exactly the same, except it's simply taking one file format and converting it to another. Plex is great in that it does this for you as you watch your video. If you can imagine, this takes a bit of memory and a lot of CPU cycles. If your server can't do this fast enough, you will get stuttering/buffering...guaranteed. So what does this mean to you? If you have a decent enough server, really nothing. If you are trying to watch videos streamed from your prefabricated NAS box, then your expectations are too high. NAS devices aren't built for encoding/decoding, only simple file sharing and web serving. I host my Plex Media Server on a 13.10 Ubuntu server with an Intel Core 2 Quad Q6600 @ 2.4GHz with 4GB RAM. Refer to the Plex system requirements for more info.
Transcoder using too many system resources?
If you have a mixed media library (like me) you depend on Plex's built-in transcoding feature to prevent the horror which is to re-encode your entire collection. As stated in the previous step, if your file is not MP4, H.264, AAC, it will require transcoding. To check this out, start your video and look at the running processes on your server. You should see something to the tune of 'Plex Transcoder' or 'Plex New Transcoder'. How much memory and CPU is this taking up? How much memory and CPU do you have left while it's running? If it's too high, then consider upgrading your memory and/or CPU...or perhaps get a new system to run it on.
Check the health of your system:
If your server is not functioning properly, all kinds of weirdness can be experienced. In my personal quest for Plex/Chromecast nirvana, I went through a long period of stuttering/buffering. Turns out that the culprit was a failing root hard drive on my Ubuntu server that didn't start to report errors until a month after I started experiencing Plex to Chromecast issues. Once I replaced the drive, I was golden again. This can be extremely frustrating, but one way to rule this out is to install the Plex Server on another machine like your PC or MAC and see how it goes. Good luck with this one.
Check your logs:
This may be a bit daunting for some of you, but the logging provided by Plex is very robust and is indicative to what is going on. Particularly look for [Transcoder] and see what's going on. Another good indication is to do a search for 'speed =>'. This will give some value that tells you how the transcoder is keeping up. If this value is less than 1.0, you are pretty screwed and it's time to upgrade your server or maybe just limit the activity this server is responsible for (turn off that Left4Dead2 Steam Server!). A value here of 2.0 means that the transcoder is encoding at twice the speed of realtime playback. Anything over 1.5 is good, under 1.0 is bad.
Hit the forums:
If you have tried all of the above, it's time to beg for help. Luckily the forums are frequented by folks like me and the Plex support team to lend you a hand.
***Update*** 3/27/2014
Turn off AES encryption on your WiFi router:
Thanks to mdr76 for this one (if that's your 'real' name). This is another thing to try. I personal use AES encryption over WPA2 security and all 4 of my Chromecasts work fine all over my house (router is in the downstairs family room, CC next to it, another in the adjacent garage, another in a bedroom directly above, and the last in a bedroom on the second floor on the other side of the house), but at least one user has indicated that stuttering has been remedied by turning off AES encryption. Turn security completely off first and see how it goes, then try to enable TKIP encryption.