我在html文件中有一个video元素,但是我想反向播放视频。有什么办法吗?
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="recent-posts-5" class="blog_widget widget widget_recent_entries">
<h5 class="widget-title"><span>Iekārtas</span></h5>
<ul>
<li><a href="/js">Lorem</a></li>
<li><a href="somelink">Ipsum</a></li>
<li><a href="somelink">Dolor</a></li>
</ul>
</div>
<div id="recent-posts-6" class="blog_widget widget widget_recent_entries">
<h5 class="widget-title"><span>Iekārtas</span></h5>
<ul>
<li><a href="/js">Lorem</a></li>
<li><a href="somelink">Ipsum</a></li>
<li><a href="somelink">Dolor</a></li>
</ul>
</div>
顺便说一句,我可以通过将每个帧绘制到画布中然后再播放画布来做到这一点,但这不是一个好方法,还有更好的方法吗?
答案 0 :(得分:1)
如果您可以提前在服务器端执行此操作,则ffmpeg具有反向视频过滤器,可让您创建视频的反向副本。参见此处的示例:
还有一些自定义工具可以做到这一点,通常还是在服务器端。
如果必须在播放器上进行操作,这将变得不容易,因为大多数视频编码方案都会进行编码,因此给定帧的编码取决于之前的一个或多个帧,有时还取决于一个或之后的更多帧。
换句话说,要正确创建框架,您可能需要引用一个或多个先前的框架以及一个或多个后续的框架。
要向后播放它,仍然需要进行解码,因此您需要一个能够隔离一组帧或“图片组”的自治播放器,即不依赖于任何其他先前或后续帧的播放器,以及然后以正确的顺序对其进行解码以向后播放视频。
如果要有效地流传输文件,则播放器还需要从头开始而不是从头开始流传输文件,而不是下载文件。
一种可能适用于某些格式的粗略方法是:
但是,我怀疑这会很慢,并且会给您带来“生涩”的视频播放。