Look, I know I'm a bit late to the party, but I was just trying to solve this issue and discovered a fix that worked for me when using a self-hosted video.
<script>
jQuery(document).ready(function($){
function no_bg_loop () {
$('video').prop('loop', false);
}
$(document).ready( no_bg_loop );
$(window).load ( no_bg_loop );
no_bg_loop();
setTimeout(function(){
jQuery('video.x-mejs.has-stack-styles').on('ended', function() {
jQuery(this)[0].pause();
});
},5000);
});
</script>