FFmpeg 学习之 Mediainfo 读取多信道 TS 视频码流

FFmpeg 解码过程中,有以下几个参数

AVFormatContext 结构体中有一个 ts_id 变量,表示文件 ID,固定值。

AVStream 结构体中有一个 id 变量,表示 FFmpeg 对文件中码流的编号,多信道 TS 文件中一般至少有视频流、音频流、菜单流三类。

AVFormatContext 结构体中的 programes 结构体变量有一个 id 变量,即为该流的菜单 ID(Menu ID)。一般该 ID 对应一路视频与一路或多路音频,音频有单/双通道。

因 FFmpeg 读取码流的顺序是未知的,因此需要根据菜单 ID 确定对应的视频流与音频流,如有菜单流、文字流及其他,均通过该 ID 定位。


以上信息也可通过 mediainfo 读取,更加方便。

代码如下:

#include "MediaInfoDLL.h"
#include <iostream>
#include <iomanip>

using namespace std;
using namespace MediaInfoDLL;


int main()
{
	MediaInfo MI;	
	MI.Open(__T("d:\\Video\\CW\\test_576i_1080i_40E-10995V-H264-SD+HD.ts"));

	//String info;
	//MI.Option(__T("Complete"), __T("1"));		//Complete	//Video		//Audio		//Menu
	//info += MI.Inform();
	//wcout<<info.c_str()<<endl;

	//St
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值