Jupyter HTML Video播放速度

问题描述

我知道我可以像这样在Jupyter笔记本中显示视频:

from IPython.display import HTML

HTML("""
    <video alt="test" controls>
        <source src="test.mp4" type="video/mp4">
    </video>
""")

但是是否存在一种控制播放速度的方法?例如,以半速播放视频。

解决方法

Jupyter Notebook中,当您右键单击视频时,您应该会看到上下文菜单,您可以在其中更改速度。

Jupyter Lab在此菜单中没有速度。

如果要在启动时设置速度,则必须在playbackRate中使用JavaScript

from IPython.display import HTML

HTML("""
<video alt="test" controls id="theVideo">
  <source src="https://archive.org/download/Popeye_forPresident/Popeye_forPresident_512kb.mp4">
</video>

<script>
video = document.getElementById("theVideo")
video.playbackRate = 4.0;
</script>
""")

您也可以创建按钮来控制速度。

from IPython.display import HTML

HTML("""
<button id="speed_4.0">Speed 4.0</button>
<button id="speed_0.5">Speed 0.5</button>

<hr>

<video alt="test" controls id="theVideo">
  <source src="https://archive.org/download/Popeye_forPresident/Popeye_forPresident_512kb.mp4">
</video>
    
<script>
video = document.getElementById("theVideo");
//video.playbackRate = 4.0;

document.getElementById("speed_4.0").addEventListener("click",function(){ 
    video.playbackRate = 4.0;
});

document.getElementById("speed_0.5").addEventListener("click",function(){ 
    video.playbackRate = 0.5;
});
</script>
""")

如果在下一个单元格中输入相同的代码,则按钮可能不起作用,并且可能必须为按钮和视频使用新的ID。 ID应该是唯一的。

也许需要其他代码来自动在每个单元格中生成唯一ID。


在代码中,我在真实视频Popeye for President中添加了网址,以便所有人都可以对其进行测试。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...