如何判断视频数据是H264编码

H264详细介绍:H264编码总结

 
u8 is_h264_file(char *filename)
{
	AVFormatContext *ifmt_ctx = NULL;
	int ret = 0;
 
 
	if ((ret = avformat_open_input(&ifmt_ctx, filename, 0, 0)) < 0) {
	
			printf( "Could not open input file.");
	
			return 0;
	
		}
	//	printf("1ifmt_ctx->video_codec_id:%d\n",ifmt_ctx->video_codec_id);
	if ((ret = avformat_find_stream_info(ifmt_ctx, 0)) < 0) {
	
			printf( "Failed to retrieve input stream information");
 
			avformat_close_input(&ifmt_ctx);
			return 0;
	
		}
 
	//ifmt_ctx->streams[0]->codecpar->codec_id;
 
	printf("3ifmt_ctx->video_codec_id:%d\n",ifmt_ctx->streams[0]->codecpar->codec_id);
 
	
	if(ifmt_ctx->streams[0]->codecpar->codec_id==AV_CODEC_ID_H264)
	{
		printf("is h264 file\n");
		avformat_close_input(&ifmt_ctx);
		return 1;
	}
 
	else 
	{
		printf("is not h264 file\n");
		avformat_close_input(&ifmt_ctx);
		return 0;
	}
 
}

判断MP4是否为H.264编码格式,用mediaInfo这个软件是可以查看的
  H264标准的主要特点如下:
  1.更高的编码效率:同H.263等标准的特率效率相比,能够平均节省大于50%的码率。
  2.高质量的视频画面:H.264能够在低码率情况下提供高质量的视频图像,在较低带宽上提供高质量的图像传输是H.264的应用亮点。
  3.提高网络适应能力:H.264可以工作在实时通信应用(如视频会议)低延时模式下,也可以工作在没有延时的视频存储或视频流服务器中。
  4.采用混合编码结构:同H.263相同,H.264也使用采用DCT变换编码加DPCM的差分编码的混合编码结构,还增加了如多模式运动估计、帧内预测、多帧预测、基于内容的变长编码、4x4二维整数变换等新的编码方式,提高了编码效率。
  5.H.264的编码选项较少:在H.263中编码时往往需要设置相当多选项,增加了编码的难度,而H.264做到了力求简洁的“回归基本”,降低了编码时复杂度。
  6.H.264可以应用在不同场合:H.264可以根据不同的环境使用不同的传输和播放速率,并且提供了丰富的错误处理工具,可以很好的控制或消除丢包和误码。
  7.错误恢复功能:H.264提供了解决网络传输包丢失的问题的工具,适用于在高误码率传输的无线网络中传输视频数据。
  8.较高的复杂度:264性能的改进是以增加复杂性为代价而获得的。据估计,H.264编码的计算复杂度大约相当于H.263的3倍,解码复杂度大约相当于H.263的2倍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值