You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyWebview中可否添加<video>标签实现自动播放?相关报错如何解决

问题核心原因

该报错本质是PyWebview调用的系统WebKit后端无法识别视频源,分为两类常见触发原因:

  1. 本地视频资源路径解析错误,后端读取不到对应文件
  2. Linux环境下WebKitGTK默认缺少H.264编码的视频解码器,无法解析MP4格式文件
分步解决方案
  • 第一步:排查路径与权限问题
    先将视频路径替换为绝对路径测试,比如/home/你的用户名/项目目录/js/video_01.mp4,确认文件存在且赋予可读权限:

    chmod 644 /home/你的用户名/项目目录/js/video_01.mp4
    

    若使用相对路径,需在创建PyWebview窗口时指定正确的base_url参数为HTML文件所在的目录,保证相对路径能正确解析。

  • 第二步:安装WebKit视频解码依赖
    Linux Mint默认未预装WebKit所需的H.264解码包,执行以下命令安装依赖:

    sudo apt update && sudo apt install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
    

    安装完成后重启PyWebview程序即可识别MP4格式的视频源。

  • 第三步:配置自动播放权限
    解决视频源识别问题后,需在创建窗口时添加允许媒体自动播放的配置,避免被浏览器策略阻止自动播放:

    import webview
    
    webview.create_window(
        title='视频播放',
        url='main.html',
        # 其他配置项
        webview_settings={
            'media_autoplay': True
        }
    )
    webview.start()
    
  • 第四步:验证测试
    可以先给video标签添加controls属性,手动点击播放确认视频源可以正常加载,再去掉controls属性恢复自动播放逻辑:

    <video src="js/video_01.mp4" autoplay controls></video>
    

内容的提问来源于stack exchange,提问作者Daniel van Eeden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 01:24:06