我有一个DVB卡捕获的mpeg2ts流,包含30个程序(30个不同的PMT),每个程序有两个特定的PID音频和视频数据,它们没有加扰。
在初始化我使用的ffmpeg函数之后
AVFormatContext * pFormatCtx和
avformat_open_input(& pFormatCtx,filepath,Null,NUll),之后调用该函数:
avformat_find_stream_info(pFormatCtx,Null);
现在我有了
pFormatCtx-> nb_streams = 60个流。 30个流专用于AVMEDIA_TYPE_AUDIO,mpeg2为codec_id,其他30个流专用于带有H264 codec_id的AVMEDIA_TYPE_VIDEO。
现在, 我的问题有一些视频流,其宽度和高度为零,换句话说:
pFormatCtx - > strams [i] - > codec-> width = 0;
pFormatCtx - > strams [i] - > codec-> height = 0;
我认为这是因为缺少足够的字节来解码相关的基本流(ES),但我不知道如何设置足够的字节值来读取。
是否有人指导我找到解决方案?