首页 > 其他分享 >ffmpeg常用API笔记

ffmpeg常用API笔记

时间:2024-05-03 22:13:28浏览次数:27  
标签:NULL ffmpeg url avio 笔记 API 参数 上下文 dir

1.ffmpeg日志系统 <libavutil/log.h>

1) av_log_set_level(AV_LOG_DEBUG)

2)av_log(NULL,AV_LOG_INFO,"fmt...",op)

 

2.<libavformat/avformat.h>

操作目录:

1) avio_open_dir()

打开一个目录。结构体AVIODirContext,表示目录的上下文信息。

//参数1:上下文; 参数2:要访问的目录的url; 参数3:不关心
int avio_open_dir(AVIODirContext** s, const char* url, NULL);

2) avio_read_dir()

读下一个目录项。

//参数1:上下文; 参数2:一个AVIODirEntry对象。
int avio_read_dir(AVIODirContext* s, AVIODirEntry** next);

当前上下文还有下一个entry项时,在堆区分配一个AVIODirEntry对象,将这个entry对象赋值给next。没有下一项时,将next置为NULL。

3) avio_close_dir()

关闭一个目录。

int avio_close_dir(AVIODirContext** s);

 

操作流文件

1)avformat_open_input()

 Open an input stream and read the header. 结构体AVFormatContext为格式上下文。

//参数1:上下文;参数2:要打开的输入流的url;参数3:若为NULL,则自动检测文件后缀作为输入格式,若不为NULL,强制一个输入格式; 
int avformat_open_input(AVFormatContext** ps, const char* url, const AVInputFormat* fmt, NULL);

若成功打开,返回值>0,并将打开的流文件的上下文写入第一个参数ps。

2)av_dump_format()

//参数1:上下文;参数2:流的编号,随便给个0就行;参数3:多媒体文件的url;参数4:指明是输入流还是输出流,输入流为0,输出流为1.
void av_dump_format(AVFormatContext** ps, 0, const char* url, int is_output);

 

标签:NULL,ffmpeg,url,avio,笔记,API,参数,上下文,dir
From: https://www.cnblogs.com/pkuqcy/p/18171701

相关文章

  • 算法基础课笔记
    二分整数二分有单调性一定可以二分,二分不一定有单调性数的范围intmain(){scanf("%d%d",&n,&m);for(inti=0;i<n;i++)scanf("%d",&q[i]);while(m--){intx;scanf("%d",&x);intl......
  • 时间序列预测模型对比——视频笔记
    Autoformer他的特点是加入了自动相关,代替原来的自注意力机制,因为作者认为数据不能简单由数值来判断,而应该根据趋势来判断。他与Dlinear一样,都是用到了decomposition,这个拆分(快速傅里叶变换FFT)基于STL(季节性,趋势性),数据=趋势性数据+季节性数据(周期)+余项auto-correlation代替注意力......
  • webapi添加添加websocket中间件
    添加位置我按照MSDN的例子添加了一个复述客户端响应的中间件。需要注意的时,中间件采用那种方式添加,添加在哪。哪种方式我选择创建一条管道分支,只要时ws的连接请求,就转到这个分支因此,我们需要使用的是MapWhen()来创建管道分支。添加在哪要注意授权的问题,所以应该添加到授权......
  • uboot-uboot介绍-学习笔记
    源码目录编译配置......
  • webapi中间件没有使用终结点中间件时的注意事项
    最小webapi默认的中间件配置是这样的app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();最小webapi没有使用app.UseRouting()和app.UseEndpoints。这种情况下我们添加的所有中间件其实都是位于终结点路由中间件EndpointRoutingMiddleware......
  • uboot-学习笔记
    uboot引导程序的作用不同bootloader的对比系统启动自举过程阶段iROM读取流程......
  • simpread-课程 28:API 接口请求日志【后端】
    1、添加审核日志实体1.1实体定义在项目Electric.Entity,添加文件夹:AuditLogs,并添加类:EleAuditLog。EleAuditLog完整代码如下:namespaceElectric.Entity.AuditLogs;///<summary>///审核日志///</summary>[Index(nameof(AuditLogType))]publicclassEleAuditLog:E......
  • Linux下ffmpeg库的编译链接
    /usr/bin/ld:/usr/local/ffmpeg/lib/libavformat.a(aviobuf.o):infunction`ff_crc04C11DB7_update':/home/ann/FFmpeg/ffmpeg/libavformat/aviobuf.c:568:undefinedreferenceto`av_crc_get_table'/usr/bin/ld:/home/ann/FFmpeg/ffmpeg/libavformat/aviobuf......
  • 网课-概率论学习笔记
    基本概念贝叶斯公式\[\becauseP(AB)=P(A|B)P(B)\]期望方差......
  • Unity 热更--AssetBundle学习笔记 1.0【AB包资源加载工具类的实现】
    工具类封装通过上文中对AB包加载API的了解和简单使用,对AB包资源加载的几种方法进行封装,将其写入单例类中,如代码展示。确保每个AB资源包只加载一次:在LoadAssetBundleManager单例工具类中,首先提供基本的AB包及其AB包依赖包的加载方法,为保持AssetBundle只加载一次,使用DIctionary......