The problem you are having could lie within the MP4 file you are using or the size of the file. Some MP4 files and some webm files get encoded wrong. It still plays but on the web it might have issues, especially android. The size of the file can determine how long before it plays. The bigger the file the longer you have to wait till it plays because it's downloading to cache before playing.
To fix things I would start with a program called handbrake. It usually encodes MP4 correctly. That way you might fix any encoding issue you might have with the original. if you think it's the app itself then use this with the android video player to test.
The size is a matter of what you using it in. Some think a 1080p video is what they need but in reality if you putting a 1080p video in a smaller space, you need a smaller resolution video with good quality. The reason is that a 1080p video in a small space is taking up more resources that it needs to. The video in the correct resolution for the space will be smaller in size and take up less resources.
Anyway hope this helps and if your still having video issues let me know. Thanks
For encoding MP4 vieo on H264, we use Formatfactory that is a free tool. I had bad experience with VLC. VLC produced a H264 video that was not playing correctly with Chrome on ChromeBox while was prefectly runnin on Chrome on any other OS. So, RiseVision on Chromebox did not render the video. But the issue is not on the RiseVision client itelsf but more on ChromeOS because even connecting in interactive mode, Chrome on ChromeBox was unable to play the video.
I'm not a strong specialist in H264 to know what was the issue. Using Formatfactory, we never got such issue.