OpenH264 视频解码与音频设备选择
Ruffle 里的视频是怎么工作的
Flash 里的视频内容有两种:
- FLV(Flash Video):经典 FLV 容器,内部视频编码一般是 VP6 或 Sorenson Spark,音频是 MP3
- H.264(MPEG-4 Part 10):2007 年 Flash Player 9.0.115 之后开始支持的格式,容器一般是 F4V,音频是 AAC
Ruffle 的 video 模块分别处理这两种:
- FLV:Ruffle 有自己的 FLV 解码器(仓库里的
flvcrate),不需要外部依赖 - H.264:Ruffle 默认不开 H.264 解码——这是因为 H.264 是专利编解码,Ruffle 团队选择了用开源的 Cisco OpenH264 运行时(Cisco 免费提供的二进制,BSD 风格许可,不需要用户付费给专利持有者)
怎么打开 OpenH264 支持
桌面版
Ruffle 参数设置 → 视频部分 → 勾选「OpenH264 编解码」。如果是第一次勾选,Ruffle 会提示你下载 Cisco 提供的 OpenH264 二进制——这个二进制是 Cisco 维护的开源组件,文件很小(几 MB)。下载完自动落盘,下次启动就自动加载。
设置界面在「Ruffle 参数」里有一个「启用 OpenH264 视频编解码」的复选框,旁边还会显示当前加载的 OpenH264 版本号和 Cisco 的许可证声明。

Web 版
网页嵌入的 Ruffle 自动使用浏览器原生的 H.264 解码——WebAssembly 里没必要自己实现,因为浏览器 <video> 标签的原生解码(Chrome / Edge / Safari / Firefox 都内置 H.264)速度更快。所以 Web 版不需要你手动装 OpenH264,自动有。
音频设备切换
桌面版在「Ruffle 参数设置」里可以手动选择默认音频设备:
- 默认跟系统一致
- 可以切换到特定的输出设备(比如蓝牙耳机、USB 声卡、HDMI 输出)
某些多显示器环境下如果音频输出到了错误的设备(比如插了 HDMI 显示器但声音从显示器喇叭出来、你想切回耳机),手动在这里选一下就好了。
没有声音常见原因
翻本资料站「常见问题排查 → 没有声音」一节有完整排查流程。跟 Ruffle 参数相关的快速检查:
- Ruffle 参数设置里音频设备是不是选对了
- Windows 系统音量混合器里 Ruffle 单独的音量是不是被静音了
- 浏览器自动播放策略——Web 版首次进入时如果没用户交互,声音会被 Chrome / Edge / iOS Safari 拦掉
关于 DRM
Ruffle 完全不支持 DRM 加密的 Flash 视频。这不是技术限制,是 Flash 生态里原本就有的 DRM 方案(Adobe Access / Adobe Flash Media Server 的 RTMPE / HLS with HMAC 等)涉及专利和许可证限制,Ruffle 团队没有也不会去做破解。这类内容需要看 Flashpoint 有没有做了特殊处理。