如何判断视频数据是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倍。
如何判断视频数据是H264编码相关推荐
- V4L2视频采集与H264编码2—v4l2采集YUV数据
在上一篇中因为是在PC机上使用的USB摄像头只能支持GPEG image格式,但是H264编码需要使用YUV数据,所以我找了个ARM开发板来做测试.本以为代码从PC机移植到开发板是很简单的一个事,谁知 ...
- 采集音频和摄像头视频并实时H264编码及AAC编码
0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...
- 采集音频和摄像头视频并实时H264编码及AAC编码[转]
0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...
- 音视频开发系列-H264编码原理
H264简介 来自百度百科的介绍: H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式. H.264是ITU-T以H.26x系列为名称命名的 ...
- opencv录制视频 python_Python-OpenCV录制H264编码的MP4视频
前言 因最近项目需求涉及计算机视觉相关内容,需要实现在Python录制视频,并且录制完成后可在浏览器前端中进行视频回放的功能:特写下此篇文章以记录整体实现过程. 2019-08-02 更新 之前一直在 ...
- V4L2视频采集与H264编码1—V4L2采集JPEG数据
最近在做视频编码,经过一段时间的折腾,终于可以把V4L2采集到的图片数据编码成H264视频,并且成功将工程移植到了ARM开发板上.无奈开发板性能太低,每秒钟只能编码一帧数据,查看CPU已经跑到100% ...
- 音视频学习之 - H264解码
解码流程 解析数据 (SPS PPS NALU Unit) 初始化解码器 将解析后的H264 NALU Unit输入到解码器 解码完成后回调,输出解码数据 解码数据显示(OpenGL ES) 解析数据 ...
- 基于iOS的网络音视频实时传输系统(二)- 捕获音视频数据
下载 GitHub: client 端:https://github.com/AmoAmoAmo/Smart_Device_Client server端:https://github.com/AmoA ...
- 分析一段H264视频数据
分析一段H264视频数据 Posted on 2007-05-31 09:42 vcommon 阅读(1968) 评论(8) 编辑 收藏 引用 分析 00 00 00 01 67 42 00 1E ...
- Android音视频【一】H264编码基础
人间观察 岁月催人,时间过的太快了 音视频编码解码就是指通过特定的压缩/解压技术,将某个音视频格式的数据转换为另一种音视频格式数据.目前在Android中的音视频用的最多的就是H264+aac的方式进 ...
最新文章
- c++中的输入输出方法
- 使用 Bochs 调试操作系统
- μC/OS-Ⅱ 操作系统内核知识
- 【转】ABP源码分析二十九:ABP.MongoDb
- Spring Boot笔记-@ExceptionHandler拦截500服务器错误自定义数据回前端
- android开发GPS定位测试(附效果图和示例)【转】
- 三个javascript动态输入列表
- Egret入门学习日记 --- 第十三篇(书中 5.2~5.3节 内容)
- 11.云计算平台(数据科学概论)
- PowerShell,AnkhSVN和Subversion
- 2022暑期牛客多校训练第5场 A.Don‘t Starve
- tkinter尤克里里爬格子练习器
- [Linux Audio Driver] 移植外部CODEC常见编译报错解决(持续更新)
- 【缺陷检测】基于matlab GUI印刷电路板自动缺陷检测【含Matlab源码 1912期】
- 为什么吃狗肉那么有争议?
- java 多线程wait()方法的基本使用——63
- 2022-2028全球与中国液态环氧树脂市场现状及未来发展趋势
- JAVA网络爬爬学习之HttpClient+Jsoup
- 视频教程-Web前端开发利器 SPRY框架之表单验证-JavaScript
- 西方艺术史-文艺复兴笔记(第四次考试)