小编Ans*_*hul的帖子

使用libavformat读取位于内存中的文件

我目前正在尝试阅读从服务器发送的小型视频文件

为了使用libavformat读取文件,您应该调用

av_open_input_file(&avFormatContext, "C:\\path\\to\\video.avi", 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

问题是在这种情况下,文件不在磁盘上,而是在内存中.

我现在正在做的是下载文件,使用临时名称将其写入磁盘,然后av_open_input_file使用临时文件名调用,这不是一个非常干净的解决方案.

事实上我想要的是一个功能,av_open_custom(&avFormatContext, &myReadFunction, &mySeekFunction);但我没有在文档中找到任何.我想这在技术上是可行的,因为文件的名称不能帮助库确定它使用的格式.

那么有这样的函数,还是av_open_input_file的替代品?

c c++ file libavcodec libavformat

27
推荐指数
3
解决办法
2万
查看次数

标签 统计

c ×1

c++ ×1

file ×1

libavcodec ×1

libavformat ×1