我在我的c ++项目中使用ffmpeg,我需要获取打开文件的文件描述符,如下所示:
AVFormatContext* pFormatCtx = avformat_alloc_context();
avformat_open_input(&pFormatCtx, "C:\\a.avi", NULL, NULL);
uint64_t fileDescriptor = getDescriptor();
是否可以获取描述符以及如何获取?
答案 0 :(得分:3)
在部分案例中,以下内容可能有效:
#include "libavformat/avio.h"
[..]
AVIOContext *pb = pFormatCtx->pb;
URLContext *url = pb->opaque;
int fd = ffurl_get_file_handle(url);
很明显,您在这里访问内部变量,所以如果它有效,请认为自己很幸运。不要发送使用它的代码,因为它不是公共API。