找到10226个回复
想要释放空间不如上传网盘,上传速度和网盘的空间,都比花时间做压缩要好。
IP地址:火星
1.86版本 有些系统不在支持了
@笨蛋海绵,
主要这个番茄小说的暂停播放按键给折叠了。
最新消息:CN主动放弃春节后,韩国向联合国申请将春节作为大韩民国历史文化遗产,因日本反对,联合国考虑后决定将春节作为联合国假日。
@无名啊,回复8楼,我研究了下,目前动态照片各个厂商的具体实现细节略有差异,但没有用 Motion JPEG做的,都是单帧jpg+mp4文件拼接(h264或h265均有)。
小米和谷歌的动态照片的文件结构是,前面的字节流是正常的一帧的jpg高清照片,尾部直接拼接一个mp4文件,mp4文件的偏移地址在jpg文件的元数据里保存;
三星的动态照片的文件结构是,一个正常的一帧jpg高清照片,在照片的元数据内,嵌入了一个mp4视频二进制。
这里有一个bash脚本,它直接查找文件中mp4格式头标识"ftypmp42",提取动态照片中的mp4视频:https://github.com/keith-turner/motion-photos/blob/master/mvimg_jpg_extract.sh
@tasy5kg,对了,我有一些 HEVC 视频(假设都是 30 fps,1h 的视频),但仅开头处有 1 个 I 帧,其余全是 B 帧,导致无法随意拖动进度条。
你知道,如何每 10 秒,重编码一个 B 帧为 I 帧(仅需重编码 360 帧 ),而不是全部重编码(要重编码 10.8W 帧),来修复视频吗?
@tasy5kg,看了看文档,libsvtav1 确实只支持 8/10 bit。。
但 avifenc 支持 12 bit。我搜索论坛里的 mp4 文件,选了其中三个,试了试转成动图,确实 12 bit 能比 8 bit 再小 20% 左右。
转码脚本(Windows 下可用 600KB 的 busybox-w32 来运行,要求
PATH
处能找到ffmpeg
、avifenc
):speed=5 quality=50 for file in *.mp4; do for depth in 8 10 12; do ffmpeg -v quiet -i "$file" -strict -1 -pix_fmt "yuv420p$( [[ $depth == 8 ]] && echo '' || echo "${depth}le" )" -f yuv4mpegpipe - | avifenc -q "$quality" -s "$speed" --min 0 --max 63 --stdin "${depth}bit_${speed}s_${quality}q_${file%.*}.avif" done done
文件所在帖子:
@无名啊,HEIF不能与动态照片同时开启。libsvtav1只支持yuv420p和yuv420p10le像素格式
@tasy5kg,诶,K40 不是天生支持 HEIF 吗?直接用这个,压缩率就能挺高了的吧?
另外,尝试 12bit 了吗?体积有进一步下降吗?