目前B站音/视频需要单独下载,再使用 ffmpeg 合并。采用流式合并,太吃操作了,所以当前的实现是先把音视频完整写在文件系统中,再合并。
为了避免panic后遗留缓存,使用了 tempfile 库,会创建临时文件,并自动处理删除。
然而,在 linux 上,tempfile 会在 /tmp 下创建临时文件,由于 tmpfs 实际是使用内存,过多的写入会导致数据进入 swap 。再然后,有的发行版采用 zram 作为 swap 而不是经典的 swapfile,就有可能爆内存,得到一个奇怪 OS Error。
目前B站音/视频需要单独下载,再使用 ffmpeg 合并。采用流式合并,太吃操作了,所以当前的实现是先把音视频完整写在文件系统中,再合并。
为了避免panic后遗留缓存,使用了
tempfile库,会创建临时文件,并自动处理删除。然而,在 linux 上,
tempfile会在/tmp下创建临时文件,由于 tmpfs 实际是使用内存,过多的写入会导致数据进入 swap 。再然后,有的发行版采用zram作为 swap 而不是经典的 swapfile,就有可能爆内存,得到一个奇怪 OS Error。