Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Safari - Videos load far too slowly

I am having a bit of trouble implementing a video into my site.

I use this block of code:

<video id="video-background" poster="/video/video-poster.jpg" autoplay loop muted playsinline>
    <source src="/video/video.webm" type="video/webm">
    <source src="/video/video.mp4" type="video/mp4">
    <source src="/video/video.ogg" type="video/ogv">
</video>

When opened in any browser other than Safari the video loads instantly. I haven't seen it take longer than 5 seconds before it is playing.

When opened in Safari the video takes close to a minute to begin playing (might even be longer).

Can anyone add some reason to this madness so I can: 1) Improve performance on Safari... 2) Get a good excuse to my manager...

I have checked all the video declarations - they are all are working videos. I have tried moving the order that the videos are declared.

Thanks, Jason.

like image 216
Jason Is My Name Avatar asked Nov 29 '18 11:11

Jason Is My Name


People also ask

Why does Safari take so long to load a page?

Like any browser, Safari keeps a cache of images and pages from around the Web to help you load those pages faster the second time (and all subsequent times).


1 Answers

My assumption would be that the video has default encoding - usually with an mp4 video the final step is to write the MOOV atom that contains the metadata and information about the frame locations etc at the end. This means until the file has been completely read the browser doesn't have all the information available to it.

You can fix this using FFMPEG (open source, free, downloads available for most platforms) and doing a second pass on the video to move the MOOV atom to the front:

./ffmpeg -y -i source.mp4 -movflags faststart dest.mp4
like image 50
Offbeatmammal Avatar answered Nov 15 '22 05:11

Offbeatmammal