I'm trying to make a video cross-browser. I have encoded the video with the required codecs etc. When run through the Django server, both Chrome and Firefox show their respective video (Chrome displays the .mp4, and Firefox the .ogv). However Safari can not display the video. I know it is not an encoding problem because when I just open the raw html file and manually move the same video to the right directory, the video loads up just fine. And it's not a referencing error because the mp4 file is being played just fine in Chrome when running the Django development server.
I'm not sure what code I could give, because no errors are being thrown, even in the terminal the request for the video is a green HTTP 200, it just doesn't display. Are there any known errors with deploying videos from django? I tried hardcoding urls, putting the video in static rather than media, but nothing works.
Versions: Latest of everything.
Edit: I have quicktime installed, which seems to be a the cause of this problem too.
If I right click on the empty video pane and click download video, it downloads the playable mp4 video.
If I copy the video path from the safari video and paste in chrome, the mp4 video plays fine in chrome. And still plays fine in Safari when the raw html is linked to the video.
I am adding the videos into my django uploaded media file through admin, could this be why? (Not sure why it would be given it's just Safari that's not working)
After playing around for a bit I got this error:
OSError: [Errno 41] Protocol wrong type for socket
[27/Mar/2016 05:04:01] "GET /media/media/uploads/SampleVideo25.mp4 HTTP/1.1" 500 59
Another edit:
After seeing many people say that it is just the django development server I deployed my site to Heroku. The same thing occurs. It works in Chrome and Firefox but not in Safari, and when checking the logs it just says it retrieved the video with a Http 200 status. The only other option I could try is serving the videos through AWS3