如何在Jupyter Notebook中播放带字幕的视频?
在Jupyter Notebook中播放带字幕视频的解决方案
你遇到的问题核心是本地字幕文件无法被Jupyter的HTML渲染环境正确加载——浏览器沙盒限制了直接访问本地文件路径,即便字幕选项显示,也无法读取字幕内容。解决方法是把字幕文件也转成Base64编码的Data URL,和视频一样嵌入到HTML中。
完整可运行代码
from IPython.display import HTML import base64 # 处理视频文件 compressed_path = 'team-rocket.video-compressed.mp4' mp4 = open(compressed_path,'rb').read() video_data_url = "data:video/mp4;base64," + base64.b64encode(mp4).decode() # 处理字幕文件 vtt_path = 'team-rocket.vtt' vtt = open(vtt_path,'rb').read() subtitle_data_url = "data:text/vtt;base64," + base64.b64encode(vtt).decode() # 渲染带字幕的视频 HTML(""" <video width=400 controls> <source src="%s" type="video/mp4"> <track src="%s" label="English" kind="captions" srclang="en" default> </video> """ % (video_data_url, subtitle_data_url))
关键说明
- 把字幕文件以Base64编码的形式嵌入HTML,避免了本地文件路径的访问限制。
- 确保你的VTT文件格式正确:必须以
WEBVTT开头,时间轴格式符合HH:MM:SS.mmm --> HH:MM:SS.mmm标准。 - 如果是在Google Colab中运行,需要先把视频和字幕文件上传到Colab的文件系统中(比如通过左侧文件面板上传)。
内容的提问来源于stack exchange,提问作者alvas
相关产品推荐
相关产品推荐

