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编码相关推荐

  1. V4L2视频采集与H264编码2—v4l2采集YUV数据

    在上一篇中因为是在PC机上使用的USB摄像头只能支持GPEG image格式,但是H264编码需要使用YUV数据,所以我找了个ARM开发板来做测试.本以为代码从PC机移植到开发板是很简单的一个事,谁知 ...

  2. 采集音频和摄像头视频并实时H264编码及AAC编码

    0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...

  3. 采集音频和摄像头视频并实时H264编码及AAC编码[转]

    0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法.那种方法有一些局限性,不适合实时性质的应用,如:视频会议.视频聊天.视频监控等.本文所使用的技术, ...

  4. 音视频开发系列-H264编码原理

    H264简介 来自百度百科的介绍: H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式. H.264是ITU-T以H.26x系列为名称命名的 ...

  5. opencv录制视频 python_Python-OpenCV录制H264编码的MP4视频

    前言 因最近项目需求涉及计算机视觉相关内容,需要实现在Python录制视频,并且录制完成后可在浏览器前端中进行视频回放的功能:特写下此篇文章以记录整体实现过程. 2019-08-02 更新 之前一直在 ...

  6. V4L2视频采集与H264编码1—V4L2采集JPEG数据

    最近在做视频编码,经过一段时间的折腾,终于可以把V4L2采集到的图片数据编码成H264视频,并且成功将工程移植到了ARM开发板上.无奈开发板性能太低,每秒钟只能编码一帧数据,查看CPU已经跑到100% ...

  7. 音视频学习之 - H264解码

    解码流程 解析数据 (SPS PPS NALU Unit) 初始化解码器 将解析后的H264 NALU Unit输入到解码器 解码完成后回调,输出解码数据 解码数据显示(OpenGL ES) 解析数据 ...

  8. 基于iOS的网络音视频实时传输系统(二)- 捕获音视频数据

    下载 GitHub: client 端:https://github.com/AmoAmoAmo/Smart_Device_Client server端:https://github.com/AmoA ...

  9. 分析一段H264视频数据

    分析一段H264视频数据 Posted on 2007-05-31 09:42 vcommon 阅读(1968) 评论(8)  编辑 收藏 引用 分析 00 00 00 01 67 42 00 1E ...

  10. Android音视频【一】H264编码基础

    人间观察 岁月催人,时间过的太快了 音视频编码解码就是指通过特定的压缩/解压技术,将某个音视频格式的数据转换为另一种音视频格式数据.目前在Android中的音视频用的最多的就是H264+aac的方式进 ...

最新文章

  1. c++中的输入输出方法
  2. 使用 Bochs 调试操作系统
  3. μC/OS-Ⅱ 操作系统内核知识
  4. 【转】ABP源码分析二十九:ABP.MongoDb
  5. Spring Boot笔记-@ExceptionHandler拦截500服务器错误自定义数据回前端
  6. android开发GPS定位测试(附效果图和示例)【转】
  7. 三个javascript动态输入列表
  8. Egret入门学习日记 --- 第十三篇(书中 5.2~5.3节 内容)
  9. 11.云计算平台(数据科学概论)
  10. PowerShell,AnkhSVN和Subversion
  11. 2022暑期牛客多校训练第5场 A.Don‘t Starve
  12. tkinter尤克里里爬格子练习器
  13. [Linux Audio Driver] 移植外部CODEC常见编译报错解决(持续更新)
  14. 【缺陷检测】基于matlab GUI印刷电路板自动缺陷检测【含Matlab源码 1912期】
  15. 为什么吃狗肉那么有争议?
  16. java 多线程wait()方法的基本使用——63
  17. 2022-2028全球与中国液态环氧树脂市场现状及未来发展趋势
  18. JAVA网络爬爬学习之HttpClient+Jsoup
  19. 视频教程-Web前端开发利器 SPRY框架之表单验证-JavaScript
  20. 西方艺术史-文艺复兴笔记(第四次考试)

热门文章

  1. Maven安装与配置教程
  2. 四省卫视联手办春晚 展现各地风俗年味
  3. 物联网之NB-IoT技术实践开发二
  4. VM14无法将网络更改为桥接状态:没有未桥接的主机网络适配器
  5. python中pass的使用_Python pass详细介绍及实例代码
  6. Selenium FirePath的安装和使用
  7. 算法速学速用大辞典 pdf_随机梯度蒙特卡洛算法-重要性采样
  8. 用java开发pc软件
  9. 平面设计版式构成实用技巧
  10. AEP(PMM) 傲腾内存特性