跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 过年写了个 app(玩具) QuickTime Player 看视频可以用外挂字幕了
未分類
9 2 月 2021

过年写了个 app(玩具) QuickTime Player 看视频可以用外挂字幕了

过年写了个 app(玩具) QuickTime Player 看视频可以用外挂字幕了

資深大佬 : xjbeta 3

过年写了个 app(玩具) QuickTime Player 看视频可以用外挂字幕了

GitHub

QuickTime-ASS

大概原理

  • ScriptingBridge 获取播放时间、部分播放信息
  • Accessibility 获取播放器窗口位置、大小、暂停继续、进度条移动
  • libass 为视频时间生成对应的图片
  • Metal 显示图片
  • 最后把一个透明的窗口 覆盖在播放器上(IINA 弹幕最早期就是这么实现的)

缺陷 (部分可能无法修复)

  • 字幕内容 覆盖播放器 UI
  • 播放时调整视频窗口大小 字幕内容无法实时缩放
  • 获取播放时间 然后生成字幕(视字幕的复杂程度) 会有一些延迟
  • 限制 30fps 避免过高 CPU 占用
  • 各种限制 导致动画字幕性能略差
  • 尝试过使用 Metal 、Accelerate 优化字幕图片生成 一顿操作反向优化(
  • libass 本体好像只支持 ass 格式字幕 其他格式的没测试过
  • libass 默认使用 CoreText 加载字体 没研究出来如何编译一个通用版本但是使用 fontconfig 的 libass (在 IINA 里借了个 Universal 的 libass)

食用方式

  • 打开 app 授予 Accessibility(无障碍) 权限
  • QuickTime Player 打开一个视频 (保证视频窗口在第一响应)
  • 点击右上角图标 “Select Subtile” 选择字幕文件
  • 回到播放器就能获得一层字幕了
大佬有話說 (1)

  • 資深大佬 : 1002xin

    不错,支持一下,不过不怎么用 QuickTime 了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具