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

如何修复检查HTTPS网络电台URL时的FFmpeg TLS错误?

解决FFmpeg访问HTTPS流媒体时的TLS安全上下文创建失败问题(错误0x80090302)

针对你遇到的问题,给你几个直接可行的解决方向:

  • 检查FFmpeg的TLS库支持
    先确认你的FFmpeg版本用的是哪种TLS实现:运行ffmpeg -version,看输出里的configuration字段,如果是Windows默认版本,大概率用的是系统自带的Schannel库。这个错误码0x80090302对应Windows的SEC_E_UNSUPPORTED_FUNCTION,说明Schannel不兼容目标服务器的TLS配置。

  • 修复系统TLS设置和证书

    • 开启系统TLS 1.2/1.3支持:按下Win+R输入inetcpl.cpl,打开Internet属性的「高级」标签,勾选「使用TLS 1.2」「使用TLS 1.3」,取消勾选SSL 2.0/3.0这些旧协议,确定后重启电脑。
    • 更新根证书:用Edge或IE访问https://impradio.bytemasters.gr,浏览器会自动检测并安装缺失的根证书,完成后再测试你的脚本。
  • 换用带OpenSSL的FFmpeg版本
    Windows默认的FFmpeg用Schannel容易出兼容性问题,直接下载带OpenSSL编译的FFmpeg构建包,然后在你的Python脚本里指定这个FFmpeg的路径,替换原来的调用路径。比如:

    ffmpeg_executable = r"C:\tools\ffmpeg-openssl\ffmpeg.exe"
    # 后续调用时用这个路径执行FFmpeg命令
    
  • 排查安全软件拦截
    既然HTTP版本需要Avast放行,HTTPS大概率被Avast的HTTPS扫描功能拦截了:

    • 把你的Python脚本和FFmpeg程序添加到Avast的信任列表里。
    • 暂时关闭Avast的「HTTPS扫描」功能,测试是否能正常访问HTTPS流媒体,确认后再调整Avast的规则。
  • 强制FFmpeg使用兼容的TLS参数
    在调用FFmpeg时添加强制指定TLS版本的参数,比如强制用TLS 1.2:

    import subprocess
    
    def check_stream(url):
        ffmpeg_path = "ffmpeg.exe"  # 换成你的FFmpeg实际路径
        cmd = [
            ffmpeg_path, "-i", url,
            "-t", "1", "-f", "null", "-",
            "-tls_force", "tls1.2"  # 新增强制TLS版本参数
        ]
        try:
            result = subprocess.run(cmd, capture_output=True, text=True, check=True)
            return True
        except subprocess.CalledProcessError as e:
            print(e.stderr)
            return False
    

内容的提问来源于stack exchange,提问作者Chris P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:05:27