Javascript 循环HTML5视频会在循环中闪烁黑屏
我有一个20秒的HTML5视频,通过jquery循环。但每次视频开始时,黑屏都会快速闪烁,非常刺耳,因为它应该与白色背景混合在一起 我尝试使用CSS将视频背景设置为白色,但没有效果。有什么办法可以达到预期的效果吗Javascript 循环HTML5视频会在循环中闪烁黑屏,javascript,css,html,html5-video,Javascript,Css,Html,Html5 Video,我有一个20秒的HTML5视频,通过jquery循环。但每次视频开始时,黑屏都会快速闪烁,非常刺耳,因为它应该与白色背景混合在一起 我尝试使用CSS将视频背景设置为白色,但没有效果。有什么办法可以达到预期的效果吗 <video id="projects-video" width="841px" height="490px" autoplay poster="video/map1280-poster.jpg" > <source src="video/map841.mp4
<video id="projects-video" width="841px" height="490px" autoplay poster="video/map1280-poster.jpg" >
<source src="video/map841.mp4" type="video/mp4"/>
Your browser does not support the video tag. I suggest you upgrade your browser.
</video>
<script>
$("#projects-video").bind('ended', function(){
this.play();
});
</script>
您的浏览器不支持视频标记。我建议你升级你的浏览器。
$(“#项目视频”).bind('end',function(){
这个。play();
});
只是一个猜测,但可以尝试在0.5秒后播放循环的视频,以跳过开始时的黑屏。查找可用于操作功能的事件列表。我会查看currentTime事件,最后可能设置为this.currentTime
,然后设置this.play()代码>
希望这有帮助,这个自动播放和循环HTML5视频而不使用jQuery,也许这与您想要的有所不同,但如果您只是想循环视频,这应该可以做到:-)黑屏似乎是视频第一帧之前的时间。
例如,如果视频速度为30FPS,则使用video.currentTime=0.034(1/30=0.0333…),黑屏应消失
我知道这篇文章很老了,但我希望它将来能帮助别人:)对我有用
// typescript code
const video = document.getElementById('main-video') as HTMLVideoElement;
video.addEventListener('ended', () => {
video.currentTime = 0.05;
video.play();
});
// html !!!important delete loop attribute
<video autoplay muted id="main-video">
<source src="..path to video" type="video/mp4"></source>
</video>
//类型脚本代码
const video=document.getElementById('main-video')作为HTMLVideoElement;
video.addEventListener('end',()=>{
video.currentTime=0.05;
video.play();
});
//html!!!重要的删除循环属性
对于持续时间与秒不成正比(例如,10秒和400毫秒)的短视频,我也有同样的问题。解决方案是修剪可能因某些编码问题而添加的部分:
ffmpeg -i in.mp4 -ss 00:00:00.0 -t 00:00:10.0 -an out.mp4
我还使用了本机循环和自动播放方法:
<video muted autoPlay loop poster="/static/index/background.jpg" css={videoStyleSheet}>
<source src="/static/index/output.mp4" type="video/mp4" />
</video>
有人能解决这个问题吗?这个。我也遇到了同样的问题,解决方法是在视频结束时删除一些额外的帧。谢谢
<video muted autoPlay loop poster="/static/index/background.jpg" css={videoStyleSheet}>
<source src="/static/index/output.mp4" type="video/mp4" />
</video>