Android 原生压缩为
format = WEBP_LOSSY, quality = 75
,输出图像结果与 FFmpeg 的-c libwebp -lossless 0 -compression_level 4 -q:v 75
近乎一致。
@无名啊,今天测试 Android 原生图像编解码(不通过 FFmpeg 等第三方库)。
在我的手机上,常见的图片格式均可解码,
WEBP
和HEIF
也可以解码。AVIF
不支持。解码之后,可以压缩为
JPEG
、PNG
、WEBP_LOSSY
、WEBP_LOSSLESS
。压缩时,JPEG
和WEBP_LOSSY
可以设置quality
,WEBP_LOSSLESS
可以设置effort
。如果使用
androidx.heifwriter
库,还可以压缩为HEIF
(未实测)。
@无名啊,我下载并解压了
adrenosdk-linux-5_0.tar.gz
,没有发现文件名类似libqhevc.c
的文件。网络上的其他帖子也没有找到:
libqhevc.c file/library for FFMPEG on Qualcomm chipsets
libqhevc.c / Qualcomm HEVC Encoder我怀疑高通只给合作的大客户提供相关文件。
@老虎会游泳,我没有理解:为什么不直接用 Windows 和 Linux 呢
@无名啊,WSL 2 可以控制最大内存使用量
早上做了一个噩梦,在梦中我尝试解决 FFmpeg 编译错误。让我心神不宁,睡不着觉。
用上了,感觉很优雅
通过 ffmpeg-kit 编译了 Android 的 FFmpeg v4.5。
编译失败的库:
srt openssl
。与 Termux 内的 FFmpeg v5.0.1 对比:
codecs 差异:
+amr_wb +amr_nb +hap +ilbc +speex
filters 差异:
+zscale +ocr +rubberband -pp
@无名啊,你找到 PDF 中的
libqhevc.c
文件了吗
@无名啊,除了小米相册的视频压缩,我暂时没有找到什么好用的视频压缩工具,也没有找到简洁高效的代码实现。
手机硬件编码的支持情况各不相同,不同编码器的支持情况也不同。比如码率控制选项,有的手机 H.265 是支持 恒定质量(CQ) 模式的,但 H.264 反而只支持 CBR 或 VBR。
之后有空了,我会继续尝试。
@无名啊,我去试用了一下 Unicloud,似乎真的可用,可玩性很高。
@无名啊,他一直没回我,我先测试试试
@无名啊,如果通过 虎绿林 API 实现“检查更新”的话,对我来说成本最小。我只用像这样发一条帖子,写很少的代码就行了。
但我不确定这样是否会对虎绿林带来太高的负载。
@无名啊,嗯,我在测试。(仅测试,发布的应用中还没有启用相关功能)
thread { try { val hu60Response = OkHttpClient().newCall(Request .Builder() .url("https://hu60.cn/q.php/bbs.topic.103545.24.json?pageSize=1") .build()).execute() val responseString = hu60Response.body!!.string() val latestVersionCode = JSONObject(responseString) .getJSONArray("tContents") .getJSONObject(0) .getString("content").toInt() val isLatestVersion = (BuildConfig.VERSION_CODE.toString() == latestVersionCode.toString()) } catch (e: Exception) { e.printStackTrace() } }
20220820
@老虎会游泳,我可以使用 虎绿林 API,为 小萌 GIF 开发“检查更新”的功能吗?
我的想法是:
- 当用户主动使用 小萌 GIF 时,应用自动在后台通过 虎绿林 API 访问本帖,查看帖子内容是否有新版。
- 如果有新版,引导用户通过浏览器打开本帖,下载新版。
- 每日最多自动访问 虎绿林 API 检查更新一次。
- 不会对虎绿林附件下载链接进行盗链。
@花花世界,我更新了第 8 版,可以截取视频片段了。
@TabKey9,改进了对于 Android 9.0 及以下版本的适配,现在转换 GIF 时可以直接保存,不用再多点一下了。
另外第 8 版增加和改进了许多功能,推荐更新。
@川南吴彦祖,我没有苹果手机和电脑