松果压制上架 Mac App Store 及沙盒机制的部分说明

距离上次写博客过去了一个月。这一个月经历了挣扎的上架 MAS。还好我没放弃,终于在昨天上架了 MAS。 我将凭借我的记忆来叙述这个上架过程中一些对于沙盒机制的理解。以及整个上线过程中存在的坑。 第三方 executable file 的签名 上文提到,我在整个软件的压制过程中,使用的是 ffmpeg 官网的可执行文件压制。而像 Mac 上著名的 INNA 是采用的 ffmpeg 的 .h 头文件 + 部分 objective-c 代码来实现部分和 ffmpeg 相关的代码。 我承认我不是一个好的工程师,我也承认我觉得使用 ffmpeg 的 c 文件进行二次开发是更好的选择。但是如果我把我的精力放在研究 c 代码上,那这个工程量对于我来说太大,以及我觉得直接使用 ffmpeg 并不是不可以。 那么采用 ffmpeg 可执行文件作为我们的主要工具,就有一个很重要的问题,那就是 ffmpeg 的签名问题。MAS 版本的所有文件都要求进行签名,我第一次无法上传到 MAS 的问题就是 ffmpeg 没有签名。这里的签名就直接使用 codesign 签名是可以的。除此之外,对于 ffmpeg 要求有一个单独的 entitlement 文件,而这个文件里面应该填写的是 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.inherit</key> <true/> <key>com.apple.security.app-sandbox</key> <true/> </dict> </plist> 然后在签名的使用 codesign 和 entitlement 签名。...

七月 15, 2018 · 3 分钟 · Me

Cocoa 封装 ffmpeg

上次写完推文之后发现压制还是很麻烦,转念一想,要么自己做一个 GUI 的吧,于是有了将近三星期零零散散的开发。 下面把我开发的过程记录下。 如何使用 ffmpeg 在 iOS 开发中,ffmpeg 是使用编译过的文件进行开发。而在 Mac 中,我查阅了一部分资料,(可能是我花的时间太少),最后查询的结果是直接使用可执行文件。 这里就很简单了,直接把 ffmpeg 拖进工程,然后使用 nstask 来调用就可以了。 drag and drop drag and drop 是这种程序标配的了。好在 drag and drop 有很多学习资料。文章最后会放上我查阅的一些资料。 小细节 有很多小坑是我整个过程中踩的,比如 NSButton 的文字居中。比如 nstask 的暂停。我使用了别人的代码,但是发现变量初始化有问题。排查了半天。 开源 根据我的预期,这个项目是会开源的…但不是在现在。大概我测试写完会开源出去。所以多的就不写了。反正这个代码写的也不咋样,但是效果还凑合! 就这。 参考资料 Drag and Drop Tutorial for macOS NSTask Tutorial for OS X Implementing a drag-and-drop zone in Swift YoutubeDownloader

六月 12, 2018 · 1 分钟 · Me

Mac 下压制字幕和 logo

本文将不定期补充 ffmpeg 其余压制方案或者命令行使用方法 如果有在 Mac 下压制字幕需求的话,可以直接在 Mac App Store 搜索 PineconeSuppress。我将 ffmpeg 进行了可视化的封装,可以更加轻松的在 Mac 下压制字幕哦~ 这篇博客要感谢蒸包同志!没有蒸包同志的教学就没有这篇博客的输出。以及,要说难确实也有点难度,要说不难,我真的很努力写的白话文加配图了。以及如果需求大我会开发 Mac 可视化版本的压制软件…这是后话。 问题 大部分字幕组做视频压制,标准配备都是 Windows 版本的小丸工具箱。但是小丸工具箱的 Mac 版本没有 Windows 那么好。其次的问题是怎么 Mac 怎么打 logo。在我们组内使用 Aegisub 打 logo。使用 Aegisub 打 logo 的话,需要给 Aegisub 安装 vsflitermod 插件,这玩意没有 Mac 的。最后的问题是,Mac 下没有好的压制工具。 工具问题 小丸实际上是针对 ffmpeg 进行了图像化的封装。那么原理上我们只要会 ffmpeg 就可以在 Mac 上达到相同的功能。而 Mac 下没有很好的 ffmpeg 的图形化客户端。那没办法,只有用命令行了。(如果需求量大我考虑下自己开发一个图形化的,但是目前还不会) 预备 首先需要下载一个 ffmpeg 在 Mac 下的可执行文件。https://evermeet.cx/ffmpeg/ 这个是 ffmpeg 官网跳转的链接。下载右下角的(其实都可以)。 之后解压缩文件,会得到一个下图这样黑黑的东西。 我的建议是建一个单独的文件夹。把这个 ffmpeg 放进去。然后的话就需要一点点计算机的知识了…没有很难,我也会尽量阐述的可以理解一点,而且全部配图。我也基本保证就这一点点专业性的东西。 首先在电脑里找到 Terminal。...

五月 21, 2018 · 2 分钟 · Me