rockerlabs/podflick

GitHub: rockerlabs/podflick

一款 macOS 菜单栏工具,无需 iTunes 即可将视频转换为 iPod 兼容格式并直接同步到经典 iPod 设备。

Stars: 0 | Forks: 0

# PodFlick 将视频拖放至你的经典 iPod (5G/5.5G) —— 无需 iTunes。 PodFlick 通过 ffmpeg 将任何视频转换为 iPod Video 规格(H.264 baseline ≤640×480 ≤1.5 Mbps + AAC),并经过在实际硬件上验证过的精准原地编辑操作, 直接将其写入设备的 `iTunesDB` 中。同时兼容 Mac 格式 (HFS+) 和 Windows 格式 (FAT32,包括 Rockbox 双启动)的 iPod。 ## 安装说明 **[⬇ 下载 PodFlick.dmg](https://github.com/rockerlabs/podflick/releases/latest/download/PodFlick.dmg)** (始终为最新版本)—— 打开它并将 **PodFlick** 拖入 **应用程序 (Applications)**。 这就是全部的安装过程:该 App 已经过签名和 **公证**(打开时不会出现 “身份不明的开发者”警告),且 **内置 ffmpeg**,因此不需要执行 `brew install`。 系统要求:**Apple Silicon (arm64),macOS 14+**,以及一个作为磁盘挂载的 iPod Video 5G/5.5G 。(将本 App 移至 `/Applications` 还会注册 Finder 的 **传输到 iPod** 服务 —— 见下文。) 特定版本或普通的 `.zip` 文件可以在 [发布页面](https://github.com/rockerlabs/podflick/releases) 找到。 ## 状态 **PodFlick 1.0 已发布** —— 请参阅 [更新日志](CHANGELOG.md)。iTunesDB 引擎已在真实硬件上完成了端到端的验证;Python 参考实现及标准测试数据位于 [`reference/`](reference/),格式规范说明位于 [docs/itunesdb-format.md](docs/itunesdb-format.md)。 ## 从源码构建 ``` brew install xcodegen ffmpeg cp Signing.xcconfig.template Signing.local.xcconfig # set DEVELOPMENT_TEAM xcodegen generate xcodebuild -project PodFlick.xcodeproj -scheme PodFlick build ``` 构建要求:macOS 14+, Xcode 15+, 以及位于 `PATH` 中的 `ffmpeg`。 ## 后台传输(Finder 服务 + URL scheme) 除了主窗口外,PodFlick 可以在你无需先打开 App 的情况下接收视频: - **Finder** —— 右键点击视频 → **服务 → 传输到 iPod**。 - **Shortcuts / Automator** —— 打开 `podflick://transfer?path=/abs/clip.mp4` URL(通过重复 `&path=` 来传输多个文件)。 无论哪种方式,App 都会在后台进行转换和写入:没有窗口,只有一个 显示进度的菜单栏项目以及 **弹出** 操作,外加一个完成通知。 完整的硬件冒烟测试步骤:[docs/smoke-service-transfer.md](docs/smoke-service-transfer.md)。 ## 已知问题与限制 这些是 PodFlick 无法改变的设备与平台级别的行为,以及一些故障排查提示。 它们本身都不是传输过程中的 Bug。 - **全新转换的视频在首次打开时可能会黑屏。** 刚传输完的视频 在*首次*启动时可能会显示黑屏 —— 按键无响应大约 10–15 秒,随后退回到菜单。 第二次播放时即可正常观看(320×240 和 640×480 均如此)。这是 iPod 固件中早已存在的 小问题(首次打开时的索引/缩略图生成),在 5G 和 5.5G 上均会出现 —— 使用其他工具制作的视频也会遇到这种情况,并非 PodFlick 独有。 - **App 中的型号 / 固件 / 序列号可能会显示为空白。** 曾经恢复过或 为 Rockbox 设置过的 iPod 通常会有一个空(0 字节)的 `Device/SysInfo`, 因此这些信息字段会保持空白。格式和容量仍然可以正常显示。 这反映的是设备本身的状态,而不是 PodFlick 的问题。 - **请在原厂 Apple 固件下播放 PodFlick 的视频。** 视频片段是为 经典固件的硬件解码器编码的。在 Rockbox 双启动的 iPod 上,浏览和 听音乐可以在 Rockbox 下进行,但观看传输好的视频需要启动回原始的 Apple 固件。 - **平台支持范围较窄。** 仅限 Apple Silicon (arm64) 和 macOS 14+ —— 不支持 Intel Mac —— 目标设备也仅限于 iPod Video 5G/5.5G。 - **如果 iPod 不断挂载和卸载(反复横跳),** 请优先尝试更换 USB 线。如果设备挂载一秒后就断开,并不断 重复,这几乎总是因为线材损坏或接触不良,而不是 PodFlick 的问题。 - **找不到 Finder 的“传输到 iPod”选项?** 只有当 `PodFlick.app` 位于 `/Applications` 时它才会出现 —— 请参阅 [后台传输](#background-transfer-finder-service--url-scheme)。 ## 许可证 PodFlick 自身的代码基于 [MIT License](LICENSE) 发布。 **ffmpeg。** PodFlick 将 `ffmpeg`/`ffprobe` 作为独立的子进程 调用 —— 它从不对它们进行链接,因此其自身的源码无论如何都保持 MIT 许可: - **源码检出 / Homebrew 开发构建** 不包含 ffmpeg;它们使用的是 你自行安装的 ffmpeg(`brew install ffmpeg`),其许可证随 你的副本保留。 - **已公证的发布版本** 内置了基于 **LGPL v2.1** 的 ffmpeg/ffprobe(构建时 未包含任何 GPL 或非自由组件)。合规包 —— 包含许可证文本、 精确的源码版本号、构建/配置命令,以及提供对应 源码的书面声明 —— 位于 [`licenses/ffmpeg/`](licenses/ffmpeg/)。 iTunesDB 读写层是对设备端格式的独立、字节级别的逆向工程 (参见 [docs/itunesdb-format.md](docs/itunesdb-format.md)); 没有使用或派生自任何第三方数据库库。 ### 商标 “iPod” 和 “iTunes” 是 Apple Inc. 的商标。PodFlick 提及它们仅 用于描述其适用的硬件(合理使用),并且不附带任何 Apple 的艺术作品或图标。PodFlick 是一个独立的开源项目 —— 不附属于 Apple Inc.,也未获得其认可或赞助。App 的“关于”面板中也会显示相同的声明。
标签:ffmpeg, iPod, macOS应用, Swift, 媒体同步, 音视频转换