ffmpeg:av_dump_format

av_dump_format 是 FFmpeg 库中的一个函数,它用于打印出关于媒体流、编解码器和其他与媒体文件相关的详细信息。
这个函数通常用于调试和日志记录,以帮助开发者理解他们正在处理的媒体文件的结构和属性。

void av_dump_format(AVFormatContext *ic,  
                    int index,  
                    const char *url,  
                    int is_output);

参数解释:
AVFormatContext *ic:这是一个指向 AVFormatContext 结构体的指针,该结构体包含了媒体文件的元数据和流信息。

int index:这是一个整数,指定了要打印的流的索引。通常,这个值可以是 -1,表示打印所有流的信息,或者是一个特定的流索引,表示只打印该流的信息。

const char *url:这是一个字符串,表示媒体文件的 URL 或文件名。这个参数主要用于在日志输出中标识正在处理的文件。

int is_output:这是一个布尔值,用于指示这个 AVFormatContext 是用于输入还是输出,1表示输出AVOutputContext格式信息,0表示输出AVInputContext格式信息。

当调用 av_dump_format 函数时,它会遍历 AVFormatContext 中的所有流,并打印出每个流的编解码器类型(视频、音频、字幕等)、编解码器名称、比特率、帧率、采样率、通道数以及其他与流相关的属性。这对于了解媒体文件的详细信息和调试 FFmpeg 应用程序非常有用。

在 FFmpeg 的应用程序中,通常在打开媒体文件后、开始解码之前,调用 av_dump_format 函数来输出文件的详细信息。这有助于验证文件是否被正确加载,以及检查文件的编码参数是否符合预期。
请注意,av_dump_format 函数只是打印信息到标准错误输出(stderr),并不会对媒体文件或流进行任何修改或处理。

例子:

extern "C"
{
    //编码库
	#include <libavcodec/avcodec.h>
    //封装格式库
	#include <libavformat/avformat.h>
    //解码库
    #include <libswscale/swscale.h>
    //各种设备的输入输出
    #include <libavdevice/avdevice.h>
    //多媒体处理库 工具库
	#include <libavutil/opt.h>
}

int main()
{
	const char* path  = "xx.mp4";
	AVDictionary* opt=NULL;
    AVFormatContext* pFormat = NULL;
	int ret  = avformat_open_input(&pFormat,path,NULL,NULL);
	if (ret)
	{
		printf(" avformat_open_input failed\n");
		return -1;
	}
	av_dump_format(pFormat,-1,path,0);
	return 0;
}


sh-3.2# ./wcx 
 avformat_open_input success
Input #-1, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/wenchenxing/Desktop/C++/ffmpeg/FFmpegTest/11.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:00:30.02, bitrate: N/A
  Stream #-1:0[0x1](und): Video: h264 (avc1 / 0x31637661), none, 720x480, 1277 kb/s, SAR 1:1 DAR 3:2, 25 fps, 25 tbr, 12800 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #-1:1[0x2](und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, 2 channels, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
sh-3.2# 
  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值