快捷指令下载 Instagram 图像及 Story(7.10 更新)

7.10 更新 目前只需要在捷径最前面填写即可。详情见图! 6.2 更新 Story 下载两个地方都需要增加 Cookie 啦,见截图。 5.24 更新 Instagram 单独下载一条也需要登录了,单独下载一条设置 Cookie 的方式同 Story。 在查询了一些资料之后,我找到了 Instagram Story 的下载方式,并根据这个方式完成了 Workflow 的版本。感谢 instastories-backup项目。 原理 Instagram 是需要登录验证的,但实际经过我的测试,Instagram 只会检测 cookie 和 user-agent。那么只要在网络请求的 headers 加入 cookie 和 user-agent 实际上就可以了。 user-agent 是可以直接伪造的,而 cookie 值,需要通过网络版本的 chrome 获取。 在这个地方,cookie 建议使用自己的,或者是专门注册一个帐号用于下载。如果 cookie 泄露,理论上可以利用 cookie 对相应的用户进行数据篡改。 获取 cookie 打开 Chrome,进入到 www.instagram.com 并登录。1111 Windows 用户按 f12,Mac 用户按 option+cmd+j,打开控制台。 此时刷新页面,找到 www.instagram.com 的请求。找到 cookie,然后找到 sessionid。复制这串 140122… (这串数字+字母+符号,每个人不同,有人可能是 5124…等)如图所示。 然后把这么一长串,粘贴到捷径中最开始的 sessionid= 后面即可进行下载操作。...

八月 6, 2018 · 1 分钟 · Me

松果压制上架 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

微信小程序自定义字体

最近给单位在做小程序,中间需要使用自定义字体。稍微梳理下整个过程。 起因 在小程序中是可以使用 font-family 属性的,但是官方没有给出有哪些 font 是可以选用的,所以我们无法知道小程序到底可以支持哪些内置的字体。自定义字体就成为了一个问题。 小程序本身不支持将字体拖进去,然后通过引用的方式来使用字体。即使可以,一个思源字体随便都 10MB,拖进去之后整个大小就超过了小程序的 2MB 限制。 在网上查找之后还有一个方案,就是使用在线的 transfonter.org 将字体转换成 base64 的方式。有使用 base64 的方案,但是还是会超过大小。而且 transfonter.org 对字体的大小本身还存在限制。这就是很麻烦的一件事情。 解决方案 那么如何解决呢?我这里提供两个方案。 一是通过在线应用 url 的方式。 这种方案就是将字体文件存在文件服务器上,通过地址的方案引到小程序中,比如我下午使用的 http://o9791noio.bkt.clouddn.com/songti.TTF 这个网址,是七牛的,可以使用!而且这种方案在 zanui-weapp 的 issue 是有人提到的,链接是 使用"单元格"时,icon无法使用,但是我在真机测试的时候不可以,没有具体排查。我觉得问题的原因有两个,一是网上有些资料说 iOS 必须使用 https,二还是最根本的字体大小的问题,如果字体太大,模拟器就会有错误提示,真机在最开始如果没有加载也会非常麻烦。总之这个方案目前是被我 pass 的。 二就是下面我现在使用的我觉得合理的方案。上 字蛛。当然这个也不是最好的解决方案。 根据我的需求,我需要的个性化字体都是写死了,就是不需要网络加载。那么就可以采用字蛛对字体进行压缩。字蛛会把 html 中用到的字进行提取和压缩,用不到的就 pass 掉。这样会给原来的 ttf 文件进行一个强力的压缩,比如我压缩之后整个 ttf 文件的大小就变成了 8kb。这个效果还是显而易见的,这个时候再采用 transfonter.org 将字体转换为 base64 就可以了。 脑洞 那么假设一下一个情况,如果需要的是动态字体怎么办? 虽然我暂时还没有这个需求,我想到的方案是,首先后台会将专门的字体进行一个标记,那么在标记之后,使用 font-spider 将原字体进行压缩,再使用 url 获取的方式来动态加载,由于这个时候的字体文件很小,那么就不会有字体太大手机端加载不出来的情况。 或者就是直接把常用字进行 base64 加密,就省去了网络获取的问题了。 非常想知道青芒杂志咋弄的 哈哈。

五月 14, 2018 · 1 分钟 · Me