FFMpeg数据流处理 抽取音视频流

FFMpeg数据流处理

1.基本概念

(1)多媒体文件里面其实是流的容器
(2)流有很多种比如,stream/track…但是各路流互不影响
(3)每种流是由不同的编码器编码的
(4)从流中解码出的数据称为包
(5)在一个包中包含着一个或者多个帧

2.重要结构体

(1)AVFormatContext 上下文,连接多个api的桥梁
(2)AVStream 通过AVStream可以获取各种包
(3)AVPacket 包中包含的就是数据帧

3.操作流的基本步骤

(1)【解复用】-【获取流】-【读取数据包】-【释放资源】

4.(实战)FFMpeg打印音频的Meta信息

(1)API

av_register_all();
 AVFormatContext avformat_open_input();
 avformat_close_input(AVFormatContext  *);
 av_dump_format(); 
 av_err2str(ret);

(2)代码

void handleMedia(){
   
	AVFormatContext* fmt_ctx = NULL; 
	int ret;
	av_register_all();
	//打开多媒体文件
	ret = avformat_open_input(&fmt_ctx,
	"./test.mp4",
	/*输入文件格式,比如mp4*/NULL,
	/*通过命令行传入的参数,一般不用*/NULL);
	if(ret < 0){
   
		av_log(NULL,AV_LOG_ERROR,"Can't open file,%s\n",av_err2str(ret));
	}else{
   
		av_dump_format(fmt_ctx
			,/*s索引值,一般是0*/0
			,/*文件路径*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值