
要处理很大的内容,比如视频裸流之类的东西,如果全放到内存里内存会撑爆。目前对储存和读取都有疑问,python 的 pickle 模块能简单的解决这个问题吗?就是随便 pickle.dump 一下,比如 dump 了 100G ,然后 load 的时候它会自动分段读吗?还是一次性把 100G 都读进内存之后才能解码?
1 ila 2021-12-09 07:27:14 +08:00 via Android 视频流本地存储后应该没有超过 2g 的 |
3 secsilm 2021-12-09 08:07:38 +08:00 via Android 没记错的话,pickle 是都读进内存的。 |
4 skinny 2021-12-09 08:45:30 +08:00 不要用 Python 存一大坨数据,会炸! |
5 ysc3839 2021-12-09 09:12:32 +08:00 via Android 翻了下代码,load()是流式处理的,loads()是创建个 BytesIO 再 load()。不过看上去是纯 Python 实现的,性能大概不咋样。 |
6 paopjian 2021-12-09 09:56:10 +08:00 这操作有点骚啊,不怕死机数据全丢吗 |
7 ruanimal 2021-12-09 10:24:18 +08:00 视频流需要用 pickle ,直接二进制文件不行吗? pickle 应该需求完整文件才能加载对象吧,读文件倒是流式读的。 |
8 moomtong 2021-12-09 10:40:04 +08:00 Memory Map?不确定视频文件行不行 |
9 Volekingsg 2021-12-09 11:12:10 +08:00 apache arrow ? |
10 lizytalk 2021-12-09 13:29:38 +08:00 via iPhone mmap |
11 LeeReamond OP @ruanimal 主要是大文件自己切割不太方便,裸流的话,比如 10bit 视频,1080P60FPS ,一分钟二十多 G 出去了,自己要搞储存和读取,还要切割开始和结束的位置,还有可能出错还要纠错,感觉太难搞。。 |