Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以反向播放HTML5视频吗?_Javascript_Html_Html5 Video - Fatal编程技术网

Javascript 可以反向播放HTML5视频吗?

Javascript 可以反向播放HTML5视频吗?,javascript,html,html5-video,Javascript,Html,Html5 Video,是HTML5标签反向播放视频,还是我必须下载2个视频(正向和反向播放)。任何避免用户下载2个视频的解决方案?甚至不使用HTML5或Javascript,许多视频格式都是为向前播放而设计的格式。向后播放需要对整个流进行解码,将每个原始帧存储在磁盘上以避免内存阻塞,然后向后渲染帧 不过,至少有一个人在使用mplayer,所以至少在原则上是可以做到的 aMediaElement.playbackRate = -1; UAs可能不支持此操作,但将播放速率设置为负值是有效的。我通过更新方法成功地做到了这

是HTML5
标签反向播放视频,还是我必须下载2个视频(正向和反向播放)。任何避免用户下载2个视频的解决方案?

甚至不使用HTML5或Javascript,许多视频格式都是为向前播放而设计的格式。向后播放需要对整个流进行解码,将每个原始帧存储在磁盘上以避免内存阻塞,然后向后渲染帧

不过,至少有一个人在使用
mplayer
,所以至少在原则上是可以做到的

aMediaElement.playbackRate = -1;

UAs可能不支持此操作,但将
播放速率设置为负值是有效的。

我通过更新方法成功地做到了这一点。每一帧我都会将video.currentTime减少到经过的时间,到目前为止,这是我得到的最好结果。

我强烈倾向于否定,因为大多数压缩方案都假设你在向前播放。谢谢@Frédéric,现在我知道有两个独立的视频是更好的解决我的问题的方法。但添加两个独立的视频需要加载多个播放器或更改当前播放器的视频源。更改当前播放机视频源将花费加载时间。@Arham,但恐怕在本地缓冲整个输入流以便在客户端上反转它也不是一个选项。@FrédéricHamidi。您可以将初始当前时间设置为等于视频持续时间,并使用setInterval在每个间隔上减去当前时间,但您需要微调该间隔持续时间并减去当前时间。@Arham,这对于正向流格式来说是致命的。每次跟踪回与关键帧不完全匹配的点时,必须渲染上一个关键帧及其与跟踪点之间的所有相对帧。即使四年后,我怀疑大多数机器是否有能力以可接受的性能完成这项工作。哦,在播放之前,你仍然需要对整个内容进行流式播放。在Safari中使用MP4,但非常笨重(视频一点也不流畅)。请注意,Chrome目前没有计划实施负播放速率。Firefox目前不支持,但根据我的测试,它仅在Safari中受支持。MDN说“负值不会导致媒体反向播放。”()但是规范允许负值(),看到这一点会很好。这是一个非常粗糙的例子,我开始工作,它有点起伏,但是你可以通过更改
0.1
100
(即0.1秒等于100毫秒)来设置速率:
jsvar v=document.getElementById('video');var reverse=setInterval(函数(){v.currentTime=v.currentTime-0.1;},100)抱歉,要停止反向播放,请运行
clearInterval(反向)