Just out of curiosity, which Pi have you been using?
If you have video files or use e.g. youtube-dl and then play video back with omxplayer it's nice and smooth (although using the --loop option seems to make the video freeze after several hours/days; memory leak?). Our solution was a 2-line bash script to start a new omxplayer instance when the previous one finishes ad infinitum until you Ctrl+C, and that's run for 7 or 8 months now without a hitch.