There is a good chance your webserver is not configured to serve mp4 files. You can add the mime type to your server.
Here you can read how to do this in windows IIS 7 http://technet.microsoft.com/nl-nl/library/cc753281(v=ws.10).aspx
addition, a better link maybe: http://blogs.iis.net/bills/archive/2008/03/25/how-to-add-mime-types-with-iis7-web-config.aspx
For anyone that run into this and don't find the other suggestions effective, also check that Windows is displaying file name extensions. Open Windows Explorer, click "View" in the top bar and then check "File name extensions".
I found that my file was actually named index.html.txt even though it was displaying index.html prior to checking the above setting.
Technically, if there's never a reason why this file should be unavailable when your application is configured and running properly, you probably should return a 500 (or 500 class error). It's an unexpected server side issue.
In practice, however, it's typical to use a 404 here because that's what web servers tend to do on static file retrieval. I wouldn't spend a lot of time on trying to fix this unless there's some meaningful impact either way.