解封装(二):初始化解封装avformat_open_input,各参数分析,以及简单流程

本文详细分析了音视频解封装过程中的关键步骤——avformat_open_input函数,解释了其各个参数的含义,并概述了解封装的基本流程。
摘要由CSDN通过智能技术生成

如下代码:

#include <iostream>

extern "C"
{
#include "libavformat\avformat.h"
}

#pragma comment(lib,"avformat.lib")
#pragma comment(lib,"avutil.lib")

using namespace std;

int main()
{
	cout << "test Demux ffmpeg.club" << endl;
	//初始化封装库
	av_register_all();

	//初始化网络库,可以打开(rtsp,rtmp,http协议的流媒体视频:注意,rtmp得到所有主流的网络摄像机支持,rtsp一般在直播平台用的较多,http指网上站上存的一些视频,包括直播的数据也是http+flv协议支持的
	avformat_network_init();	

	//解封转上下文:
	AVFormatContext *ic = NULL;
	char *path = "xuanya.mp4";
	//参数设置
	AVDictionary *opts = NULL;  
	//设置rtsp流以tcp协议打开
	av_dict_set(&opts, "rtsp_transport", "tcp", 0);
	//网络延时时间
	av_dict_set(&opts, "max_delay", "500", 0);  //在网络环境不是很好的时候设置网络延时时间比较好用
	//打开文件
	int re = avformat_open_input(&ic,path,0,&opts);   //该函数的第一个参数,会将AVFormatContext的空间给他申请出来,并且在里面填入我们打开的信息内容;第二个参数p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值