如何在Streamlit中实现视频自动播放及循环不间断播放功能
Streamlit 视频自动循环播放实现方案
你要的20秒视频自动启动+无限循环效果,可以通过两种方案实现,无需额外依赖:
方案1:使用原生st.video接口(推荐)
Streamlit 1.10.0及以上版本的st.video组件已经内置对应控制参数,直接传入即可生效:
import streamlit as st # 读取本地视频文件,也可以直接传入在线视频URL video_file = open('你的本地视频路径.mp4', 'rb') video_bytes = video_file.read() # 配置播放参数 st.video( data=video_bytes, autoplay=True, # 应用启动后自动播放 loop=True, # 播放结束后自动重播,实现无限循环 muted=True # 可选,静音播放可解决绝大多数浏览器禁止带声视频自动播放的限制 )

方案2:自定义HTML组件兼容低版本
如果你使用的Streamlit版本较低,原生参数不生效,可以通过自定义HTML组件实现:
import streamlit as st import streamlit.components.v1 as components # 在线视频直接填URL,本地视频可转Base64编码后嵌入 video_src = "你的视频地址" components.html( f""" <video width="100%" autoplay loop muted playsinline> <source src="{video_src}" type="video/mp4"> 当前浏览器不支持视频播放 </video> """, height=400 # 可根据视频高度调整 )
提示:本地视频用自定义HTML播放时,将视频转为Base64编码嵌入src属性可避免静态资源路径配置问题。
内容的提问来源于stack exchange,提问作者Wizard
相关产品推荐
相关产品推荐

