| 函数签名[source] | |
|---|---|
st.video(data, format="video/mp4", start_time=0, *, subtitles=None, end_time=None, loop=False, autoplay=False, muted=False) | |
| 参数 | |
data (str, Path, bytes, io.BytesIO, numpy.ndarray, or file) | 要播放的视频。这可以是以下之一:
|
format (str) | 视频文件的MIME类型。默认为"video/mp4"。 更多信息,请参见https://tools.ietf.org/html/rfc4281。 |
start_time (int, float, timedelta, str, or None) | 元素应该开始播放的时间。这可以是以下之一:
|
字幕 (str, bytes, Path, io.BytesIO, 或 dict) | 视频的可选字幕数据,支持多种输入类型:
提供时,默认显示字幕。对于多个轨道,默认显示第一个。如果您不希望默认显示任何字幕,请在字典的第一个配对中使用空字符串作为值:{"None": "", "English": "path/to/english.vtt"} 不支持 YouTube 视频。 |
end_time (int, float, timedelta, str, or None) | 元素应停止播放的时间。这可以是以下之一:
|
loop (bool) | 视频是否应循环播放。 |
autoplay (bool) | 视频是否应自动开始播放。默认情况下为False。如果用户未通过点击页面某处与页面进行交互,浏览器将不会自动播放未静音的视频。要在没有用户交互的情况下启用自动播放,您还必须设置muted=True。 |
muted (bool) | 视频是否应该以静音播放。默认情况下这是 False。将此与 autoplay=True 结合使用 以启用无需用户交互的自动播放。 |
示例
import streamlit as st video_file = open("myvideo.mp4", "rb") video_bytes = video_file.read() st.video(video_bytes)当你包含字幕时,它们将默认开启。观众可以从浏览器的默认视频控制菜单中关闭字幕(或标题),通常位于视频的右下角。
这是一个简单的VTT文件 (subtitles.vtt):
WEBVTT 0:00:01.000 --> 0:00:02.000 Look! 0:00:03.000 --> 0:00:05.000 Look at the pretty stars!如果上述VTT文件与您的应用程序位于同一目录中,您可以像这样添加字幕:
import streamlit as st VIDEO_URL = "https://example.com/not-youtube.mp4" st.video(VIDEO_URL, subtitles="subtitles.vtt")请参阅我们视频字幕功能演示中支持的字幕输入类型的更多示例。
注意
如果视频使用MP4V编码(这是OpenCV中的一个导出选项),可能无法显示,因为这种编解码器不被浏览器广泛支持。将视频转换为H.264将允许视频在Streamlit中显示。更多信息请参见StackOverflow帖子或Streamlit论坛帖子。
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。