ffmpeg显示视频信息
方式1:通过命令获取
ffprobe ../input.mp4
方式2:代码获取
main.c
#include "libavutil/log.h"
#include "libavformat/avformat.h"
int main(int argc,char **argv){
av_log_set_level(AV_LOG_DEBUG);
if(argc <2){
av_log(NULL,AV_LOG_ERROR,"Usage:%s inputFile\n",argv[0]);
return -1;
}
const char *inputFile = argv[1];
AVFormatContext *fCtx = NULL;
int ret = avformat_open_input(&fCtx,inputFile,NULL,NULL);
if (ret!=0){
av_log(NULL,AV_LOG_ERROR,"open input file:%s failed:%s\n",inputFile,av_err2str(ret));
goto clean;
}
av_dump_format(fCtx,0,inputFile,0);
clean:
if(fCtx!=NULL){
avformat_close_input(&fCtx);
return -1;
}
return 0;
}
Makefile
TARGET=main SRC=main.c cc=gcc CFLAGS=-I /usr/local/ffmpeg/include LDFLAGS=-L /usr/local/ffmpeg/lib LDFLAGS+= -lavutil -lavformat all:$(TARGET) $(TARGET):$(SRC) $(CC) $(SRC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) clean: rm -rf $(TARGET)
编译运行
make && ./main ../input.mp4

浙公网安备 33010602011771号