如何在 google colab 中播放 mp4 视频

Posted

技术标签:

【中文标题】如何在 google colab 中播放 mp4 视频【英文标题】:how play mp4 video in google colab 【发布时间】:2019-12-14 01:47:31 【问题描述】:

我在content/video.mp4有一个video.mp4

如果我想在不下载的情况下在 google colab 中播放视频,¿我应该使用什么代码在我的 jupyter notebook 中打开一种视频播放器?

【问题讨论】:

【参考方案1】:

这是代码

from IPython.display import html
from base64 import b64encode
mp4 = open('video.mp4','rb').read()
data_url = "data:video/mp4;base64," + b64encode(mp4).decode()
HTML("""
<video width=400 controls>
      <source src="%s" type="video/mp4">
</video>
""" % data_url)

您可以在 colab notebook here 中测试它。

更新(2020 年 6 月)

为了支持大型 vdo 文件,我编写了一个库以上传到 Google Drive 并将其设置为公开。然后使用返回的 URL 来显示视频。

!pip install -U kora
from kora.drive import upload_public
url = upload_public('video.mp4')
# then display it
from IPython.display import HTML
HTML(f"""<video src=url width=500 controls/>""")

【讨论】:

我正在尝试阅读我的谷歌驱动器的视频,但由于某种原因运行时环境重新启动,您有什么想法 然后,先将文件复制到当前目录。 嗨 Korakot,你知道我如何将视频从 url 流式传输到 colab,而不是从驱动器加载视频吗?非常感谢 它不适用于重度视频,我用大约 80MB 的视频进行了测试,运行时崩溃了。还有其他方法吗? @Yachi웃 我为大视频添加了新方法。【参考方案2】:

目前,如果格式不支持,我们需要压缩视频文件在google colaboratory中播放。

from IPython.display import HTML
from base64 import b64encode
import os

# Input video path
save_path = "/content/videos/result.mp4"

# Compressed video path
compressed_path = "/content/videos/result_compressed.mp4"

os.system(f"ffmpeg -i save_path -vcodec libx264 compressed_path")

# Show video
mp4 = open(compressed_path,'rb').read()
data_url = "data:video/mp4;base64," + b64encode(mp4).decode()
HTML("""
<video width=400 controls>
      <source src="%s" type="video/mp4">
</video>
""" % data_url)

参考:https://towardsdatascience.com/yolov3-pytorch-on-google-colab-c4a79eeecdea

【讨论】:

我认为最完整的答案,因为这适用于我原本不受支持的 mp4 视频格式。【参考方案3】:

只需输入该功能的 mp4 视频路径即可。

from IPython.display import HTML
from base64 import b64encode
 
def show_video(video_path, video_width = 600):
   
  video_file = open(video_path, "r+b").read()
 
  video_url = f"data:video/mp4;base64,b64encode(video_file).decode()"
  return HTML(f"""<video width=video_width controls><source src="video_url"></video>""")
 
show_video(video_path)

【讨论】:

以上是关于如何在 google colab 中播放 mp4 视频的主要内容,如果未能解决你的问题,请参考以下文章

如何在 google colab 中启用拼写检查器(colab 在 linux OS 上运行)?

我们如何在 colab.research.google.com 中使用 Selenium Webdriver?

如何在google colab中有效地使用内存?

如何在 Google 的 Colab 中安装 Python 包?

运行 R 内核时如何在 google Colab 中访问 shell

如何在 Google Colab 中做内部链接