如何把文件写到内存中?

作者站长头像
站长
· 阅读数 4

有这么一个需求,通过 ffmpeg 抽取一个视频的 I-frame(关键帧的一种),并把每个 frame 转成一个 vector

如何把文件写到内存中?

使用如下的 ffmpeg 命令

ffmpeg -i "阿甘正传.mp4" -vf "select=eq(pict_type\,I)"  -vsync vfr -qscale:v 2 -f image2 ./snapshot/%08d.jpg

但是我不想『把这些 frame images 写到磁盘,再从磁盘读取』,因为这样很慢

能不能把 RAM 当做 ROM 用?让 ffmpeg 把 image 写到 RAM

这样我的 python 程序,直接从 RAM 中获取 image 并进一步处理?

有什么办法?有没有什么『内存文件系统』之类的东西?

环境是 Linux

回复
1个回答
avatar
test
2024-07-09
有没有什么『内存文件系统』之类的东西?

有,叫 tmpfs

系统的 /tmp 目录已经在用这个了。

这里 还有一个介绍,里面有自己 mount 一个 tmpfs 的方法:

mount -t tmpfs -o size=100Mi,mode=1777 some_arbitrary_name /mnt
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容