分类
技术

PHP如何解析Youtube的RSS【ChatGPT】

最近我想把我的油管视频的RSS引入到我的其他网站,比如OurCoders里。这本来应该不难。本来OurCoders的代码里面就包含了magpierss,这是一个古老的PHP RSS解析库,但是一直都可以用。

分类
技术

在Mac上用FFMpeg做youtube上传视频的预处理

大家知道我有好几个 Youtube 频道,目前主频道是Tinyfool的胡说八道。

我现在有几种视频拍摄方式,其中一种主要的是用 Mac 的 QuickTime player 来录制,录制高品质的版本生成的 .mov 文件,文件非常大。

我最近录制的一个视频有48分钟,1080p的,文件尺寸足有51G。直接上传到 Youtube 也可以,但是实际上 Youtube 也会把你上传的视频进行压缩,所以,事先先压缩可以节约大量的翻墙流量。

于是我研究了一下 FFMpeg 的命令,用下面的命令来做压缩:

ffmpeg -i input.mov -vcodec h264 -acodec mp2 -vf scale=-1:1080 output.mp4
  • -vcodec h264 是因为 Youtube 内置的视频格式是 .h264
  • -acodec mp2 是因为 Youtube 内置的音频格式是 mp2
  • 原视频是 1080p 的,用 -vf scale=-1:1080 是为了保护分辨率不被篡改。这些参数的结果是上传到 FFMpeg 以后不会有更近一步的压缩,节省了上传后的处理时间。

用了一些日子,效果非常不错。

但是这个转换速度很慢,耗时很长,我今天又研究了一下。在压缩的时候,CPU 可以跑满,这说明这完全是一个软压缩。于是我寻找了一下, FFMpeg 如何在Mac下加速,原来加入 -c:v h264_videotoolbox 就可以了。于是命令变为:

ffmpeg -i input.mov -vcodec h264 -acodec mp2 -vf scale=-1:1080 -c:v h264_videotoolbox output.mp4

在我的 Mac M1Max 笔记本上用新命令之前压缩 48 分钟的 51 G Mov文件需要 22分15秒,用了新命令,只需要12分钟1秒,省了大概一半的时间。

但是我发现用新命令的结果非常模糊,用 FFMpeg 检查文件发现,原来的 bitrate 是 2868 kb/s,新命令的结果 bitrate 是 716 kb/s。默认的压缩率太高了,所以看起来很模糊,于是我加入了一个新的参数,-b:v 2800k 限制 bitrate,然后压缩的结果就看起来没有任何问题了。而压缩速度几乎没变。所以,最后的命令如下:

ffmpeg -i input.mov -vcodec h264 -acodec mp2 -vf scale=-1:1080 -c:v h264_videotoolbox -b:v 2800k output.mp4

分类
Mac Bugs MacOS

Mac自带音箱音量过低的解决方法一例

我的 Mac 是 MacBook M1Max,最近几个月频繁遇到耳机音量正常,自带音箱音量很低,完全无法听清的偶发问题。重启 Mac 后就会完全恢复正常。

分类
iOS开发

使用StoreKit2不再需要恢复购买按钮,但是为了审核你还需要放一个【AppStore审核手记】

昨天我提交了一个新App,2023年我的计划就是开发一系列的小App试图在独立开发领域有一份收入。但是今天一早就发现被拒绝了。

理由是:

分类
iOS开发 技术

从零开始,使用SwiftUI和PDFKit快速构建完全可定制的PDF阅读器

SwiftUI快速创建UI的能力非常强大,苹果还提供了PDFKit框架,所以,用SwiftUI和PDFKit可以用非常少的代码,非常快速的创建一个完全可定制的PDF阅读器。

我们来从零开始,做一个PDF阅读器。

分类
AI 技术

万能的ChatGPT真有智能了么?一篇文章让你彻底搞懂ChatGPT-人类是怎么训练出了一只聪明的莎士比亚的猴子

很多人说ChatGPT这样的人工智能已经拥有真正的人类智慧了。他们提到了许多例子,比如ChatGPT能够和人类进行对话,甚至可以进行智能聊天,可以帮助你润色文章,提取摘要,甚至直接帮你扩写内容。但是事实并非如此,今天我们就好好聊聊这个问题。

分类
AI 技术

ChatGPT常见问题解答【官方/非官方版】

ChatGPT官方常见问题解答

翻译自官方的FAQ页面,翻译由ChatGPT完成。

分类
AI 技术

ChatGPT帮助你快速高效地完成你的写作任务【ChatGPT实用指南系列】

ChatGPT简介

ChatGPT是一种预先训练的大型语言模型,由OpenAI开发,能够进行高质量的人工智能(AI)对话。它能根据上下文自动生成合理的回答,在许多情况下,用户甚至无法分辨出是人类还是AI在回答问题。

分类
iOS开发 鸡汤

接受现实、持续改进,心怀梦想、永不放弃

最近我的App《英语轻松读》iOS版本连续更新了两个版本。其实上一个版本 1.17 到今天已经有一年多了。必须要升级的原因是,iOS 16带来的一些API和限制的改变,造成 1.17 版有频繁崩溃的问题。

然而从接到用户的抱怨到解决也花了很久,最后其实就改了几行而已。但是这个代码确实好久没碰了,我碰起来有点心慌。但是真的塌下心去研究,其实也没有花多久就解决了问题。然而马上发现还有一个 UI Bug,我也很快解决了,提交了。

分类
Android开发 写作 读书

由外而内的安卓传奇——《安卓传奇》推荐序

半个月前,侠少老师说,最近出了本好书,给你一个样书,帮我们简单写个序吧。于是我就收到了《安卓传奇》这本书的样书,两天我就看完了,很激动。