# ffmpeg 资源目录 把 Windows 用的 `ffmpeg.exe`(推荐 ffmpeg 6.x 静态构建,含 libx264)直接放在这个目录下,最终结构应为: ``` src-tauri/resources/ffmpeg/ ├── ffmpeg.exe ← 必需,单文件即可(静态构建已自带 libx264) ├── <任意运行时依赖.dll> ← 可选,如果你用的是动态构建,把同目录的 dll 一并放进来 └── README.md ← 本说明 ``` ## 打包行为 `src-tauri/tauri.conf.json` 中 `bundle.resources` 已经声明: ```jsonc "resources": [ "resources/ffmpeg/*" ] ``` - **开发模式(pnpm tauri dev)**:`app.path().resource_dir()` 返回 `src-tauri/`, Rust 端调用 `resources/ffmpeg/ffmpeg.exe`,直接命中本目录的文件。 - **打包模式(pnpm tauri build)**:本目录里所有文件会被 bundler 复制到 安装目录的 `resources/ffmpeg/`(Windows 安装包是 exe 同级),Rust 端的 解析逻辑同样会拼到正确路径,因此不需要把 ffmpeg.exe 放到系统 PATH。 ## 推荐下载 - Windows:https://www.gyan.dev/ffmpeg/builds/ 选 `release-full` 的静态构建, 解压后取里面的 `bin/ffmpeg.exe` 放到本目录。 - macOS / Linux 当前不支持原生录制(recording.rs 头部有说明),可以不放。 ## 注意 - 不要把整个 ffmpeg 解压包都丢进来,bundler 会把所有文件都打到安装包里,体积会显著变大。 - 如果未来要支持 macOS / Linux,再在本目录下放对应平台的二进制,并改造 `recording.rs::resolve_ffmpeg_path` 按 `cfg!(target_os)` 分支选择文件名。