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

Flutter Web视频发布后无法播放,本地及调试模式正常求解决

Flutter Web 上线后视频无法播放的排查与解决

核心排查方向及解决办法

  • 静态资源路径错误
    本地调试时的相对路径在上线后可能失效。确认视频文件放在web/assets目录,且pubspec.yaml中正确声明资源:

    flutter:
      assets:
        - assets/videos/
    

    加载视频时,要么用AssetPlayer读取打包后的资源,要么使用完整的绝对网络URL,避免依赖本地路径逻辑。

  • CORS跨域限制
    若视频托管在第三方服务器,浏览器会因跨域策略拦截请求。需要在视频服务器配置CORS规则,允许你的网站域名访问。以Nginx为例,添加响应头:

    add_header Access-Control-Allow-Origin "你的站点域名";
    add_header Access-Control-Allow-Methods "GET, HEAD";
    
  • 打包渲染器选择错误
    Canvaskit渲染器对视频的支持存在局限性,发布时强制使用HTML渲染器:

    flutter build web --release --web-renderer html
    

    调试模式默认用HTML渲染,所以本地正常,上线若切换成Canvaskit就会出问题。

  • 视频格式/编码不兼容
    不同浏览器对视频编码支持有差异,比如Safari仅支持H.264编码的MP4。用FFmpeg转成兼容格式:

    ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac output.mp4
    

    同时提供WebM格式作为备选,覆盖更多浏览器。

  • HTTPS混合内容拦截
    如果站点是HTTPS,视频资源必须也用HTTPS,否则浏览器会阻止加载HTTP资源。检查视频URL协议是否一致。

内容的提问来源于stack exchange,提问作者Muhammed Sibil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:02:38