H.264 Profiles Profiles are sets of capabilities. If your black box only supports the Baseline profile it'll not be able to decode a stream using High capabilities. In VLC you can set the H.264 profile to be used by the x264 encoder like this: --sout…
版权声明:本文为博主原创文章,未经博主允许不得转载. 首先要阐明所谓的AVC其实就是H.264标准,是由ITU-T和ISO/IEC组成的联合视频组(JVT,Joint Video Team)一起开发的,ITU-T给这个标准命名为H.264(以前叫做H.26L),而ISO/IEC称它为MPEG-4 高级视频编码(Advanced Video Coding,AVC)它定位于覆盖整个视频应用领域,包括:低码率的无线应用.标准清晰度和高清晰度的电视广播应用.Internet上的视频流应用,传输高清晰度的…
提到High Profile H.264解码许多人并不了解,那么到底什么是High Profile H.264解码?其应用效果又是如何呢?  作为行业标准,H.264编码体系定义了4种不同的Profile(类): Baseline(基线类) 提供I/P帧,仅支持progressive(逐行扫描)和CAVLC: Main(主要类) 提供I/P/B/SP/SI帧,仅支持progressive(逐行扫描)和CAVLC: Extended(扩展类) 提供I/P/B帧,支持progressive(逐行扫描…
转自:http://www.5i01.cn/topicdetail.php?f=510&t=3735840&r=18&last=48592660 H.264 / MPEG-4 AVC 是优秀的视讯编码格式就目前已成熟的视讯编码格式而言,H.264的压缩率是最佳的.压缩率极高,可以只用很低 bitrate 提供堪用画质. 而 x264 为免费开放原始码的 H.264 / MPEG-4 AVC 编码器,是目前编码效率最高的开放原始码 H.264 编码器. 此文只是基础知识,说明只是大略…
转自:http://blog.csdn.net/sphone89/article/details/17492433 H.264 Profiles H.264有四种profile,每个profile支持一组特定的编码功能,并支持一类特定的应用,分别是BP.EP.MP.HP: 1.BP-Baseline Profile: a.I/P slices b.Multiple reference frames (–refs <int>, >1 in the x264 CLI) c.In-loop d…
本文档尝试用Video Toolbox进行H.265(HEVC)硬件编码,视频源为iPhone后置摄像头.去年做完硬解H.264,没做编码,技能上感觉有些缺失.正好刚才发现CMFormatDescription.h中enum : CMVideoCodecType提供了kCMVideoCodecType_HEVC枚举值.所以呢,作死试试 iOS 9.2 硬编HEVC. 结论:不支持开发者使用H.265(HEVC),可以用H.264(AVC). 1.读取iPhone后置摄像头 提示:iPhone不支…
一.编码基础概念 1.为什么要进行视频编码? 视频是由一帧帧图像组成,就如常见的gif图片,如果打开一张gif图片,可以发现里面是由很多张图片组成.一般视频为了不让观众感觉到卡顿,一秒钟至少需要16帧画面(一般是30帧),假如该视频是一个1280x720分辨率的视频,那么不经过编码一秒钟的大小: 结果:1280x720x60≈843.75M 所以不经过编码的视频根本没法保存,更不用说传输了. 2.视频压缩编码标准 视频中存在很多冗余信息,比如图像相邻像素之间有较强的相关性,视频序列的相邻图像之间…
俄罗斯的MSU Graphics & Media Lab (Video Group)出品的H.264编码器性能测试报告.测试了主流的H.264编码器的性能.从测试的结果来看,开源产品x264性能已经超过了商用编码器的性能. 参与测试的编码器有如下几种: H.264 DivX H.264 Elecard H.264 Intel Ivy Bridge QuickSync (GPU encoder) MainConcept H.264 (software) MainConcept H.264 (CUD…
背景知识 先科普一下profile&level.(这里讨论最常用的H264) H.264有四种画质级别,分别是baseline, extended, main, high:  1.Baseline Profile:基本画质.支持I/P 帧,只支持无交错(Progressive)和CAVLC:  2.Extended profile:进阶画质.支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC:(用的少)  3.Main profile:主流画质.提供I/P/B 帧…
转自:http://www.cnblogs.com/zyl910/archive/2011/12/08/h264_level.html 对于H.264(MPEG-4 AVC)而言,级别(Level)是与档次(Profile)同等重要的参数.但很多文章说的很简略,只是说标清视频一般用3.1,高清用4,具体含义语焉不详.于是我做了一番研究. 一.级别详表 级别(Level)是用来约束 分辨率.帧率 和 码率 的.详细信息请看表格—— Level Max macroblocks Max video b…
转载 http://www.cardinalpeak.com/blog/worlds-smallest-h-264-encoder/ View from the Peak World’s Smallest h.264 Encoder March 19th, 2010 by Ben Mesander Recently I have been studying the h.264 video codec and reading the ISO spec. h.264 a much more soph…
NAL Unit Stream Network Abstraction Layer,简称NAL. h.264把原始的yuv文件编码成码流文件,生成的码流文件就是NAL单元流(NAL unit Stream).而NAL单元流,就是NAL单元组成的. 标准的Annex B规定了NAL单元组成NAL单元流的方式,下面描述了如何将一个NAL单元打包起来,而多个NAL单元进行组合则形成了NAL单元流. byte_stream_nal_unit( NumBytesInNALunit ) { C Descri…
Status of This Memo This document specifies an Internet standards track protocol for the   Internet community, and requests discussion and suggestions for   improvements.  Please refer to the current edition of the "Internet   Official Protocol Stand…
一.下载JM工程: JM是H.264标准制定团队所认可的官方参考软件.网址如下 http://iphome.hhi.de/suehring/tml/ 从页面中可找到相应的工程源码,本次选择JM 8.6版本,此版本为经典版本: http://iphome.hhi.de/suehring/tml/download/old_jm/ 二.配置编码环境: 下载后打开工程目录中tml.sln文件,VS中会有三个工程,其中rtpdump没用,删掉.另外两个ldecod和lencod分别为解码和编码工程. 首先…
低延迟.全接口(HMDI.DVI.YPb Pr.RGB)H.264全高清编码器解码器 一.产品介绍  1.近零延时的H.264压缩到1920x1080p60  该产品提供分辨率为1920x1080p60以太网络解决方案,是基于H.264压缩引擎,用于对高清视频信号编码/解码.它可以提供完整的全高清晰度(FULL HD)视频传输,码流最高17Mbit /s ,发射器(编码器)和接收器(解码器)之间的延迟几乎是零.这种低延迟的实时视频显示对许多实时应用是特别重要的.比如玩游戏机PSP3000时,使用…
H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+       |0|1|2|3|4|5|6|7|       +-+-+-+-+-+-+-+-+       |F|NRI| Type   |       +---------------+ F: 1 个比特. for…
一 H.264句法 1.1元素分层结构 H.264编码器输出的Bit流中,每个Bit都隶属于某个句法元素.句法元素被组织成有层次的结构,分别描述各个层次的信息. 图1 H.264分层结构由五层组成,分别是序列参数集.图像参数集.片(Slice).和宏块和子块.参数集是一个独立的数据单位,不依赖于参数集外的其它句法元素.图2描述了参数集与参数集外的句法元素之间的关系. 图2 一个参数集不对应某一个特定的图像或序列,同一序列参数集可以被多个图像参数集引用,同理,同一个图像参数集也可以被多个图像引用.…
转债:  http://www.cardinalpeak.com/blog/the-h-264-sequence-parameter-set/ View from the Peak The h.264 Sequence Parameter Set April 20th, 2011 by Ben Mesander This is a follow-up to my World’s Smallest h.264 Encoder post. I’ve received several emails a…
h.264的码流传输是基于目前有限的网络带宽来进行的,以目前的压缩效率来说,运动不算剧烈.细节不多的影像,在720p的情况下,1000kbps压缩损耗较少(psnr较大),能达到比较好的观赏效果,1080p则需要2000kbps.当然,随着图像运动剧烈程度加大,细节增多的情况,则需要更大的bps来保证图像效果. 另外由于图像序列中,并非所有的图像都有相同的细节,因此应该在细节多的图像上分配更多的bit,而细节少的图像则分配更少的bit.同一道理,在一张图像上,可能某些位置的细节较多,那就应该在那…
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x264源代码简单分析:x264命令行工具(x264.exe) x264源代码简单分析:编码器主干部分-1 x264源代码简单分析:编码器主干部分-2 x264源代码简单分析:x264_slice_write() x264源代码简单分析:滤波(Filter)部分 x264源代码简单分析:宏块分析(Anal…
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x264源代码简单分析:x264命令行工具(x264.exe) x264源代码简单分析:编码器主干部分-1 x264源代码简单分析:编码器主干部分-2 x264源代码简单分析:x264_slice_write() x264源代码简单分析:滤波(Filter)部分 x264源代码简单分析:宏块分析(Anal…
转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以我们需要分离器,视频解码器和音频解码器,俗称hdtv的“三件套”,又统称滤镜. H264的分离器: 常见的有Gabest MP4分离器,就是MP4splitter,也是Gabest编写的,Halli的分离器和NDigital分离器等. H264的视频解码器: CoreAVC的H264视频解码器Cor…
浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促使了许多视频编码标准的产生.ITU-T 与ISO/IEC 是制定视频编码标准的两大组织,ITU-T 的标准包括H.261.H.262.H.263.H.264,主要应用于实时视频通信领域,如会议电视:MPEG 系列标准是由ISO/IEC制定的,主要应用于视频存储(DVD).广播电视.因特网或无线网上的…
1.句法 在编码器输出的码流中,数据的基本单位是句法元素,每个句法元素由若干比特组成,它表示某个特定的物理意义,例如:宏块类型.量化参数等. 句法表征句法元素的组织结构,语义阐述句法元素的具体含义. 所有的视频编码标准都是通过定义句法和语义来规范编解码器的工作流程. 1.1.句法元素的分层结构 编码器输出的比特码流中,每个比特都隶属某个句法元素,也就是说,码流是由一个个句法元素依次衔接组成的,码流中除了句法元素并不存在专门用于控制或同步的内容.在 H.264 定义的码流中,句法元素被组织成有层次…
来源:http://www.cnblogs.com/michaellfx/p/understanding_-VideoToolboxDemo.html iOS硬解H.264:-VideoToolboxDemo源码分析[草稿] iOS硬解H.264:-VideoToolboxDemo源码分析 -VideoToolboxDemo为VideoToolbox的简单应用示例. 1 - 初始化 (一)初始化FFmpeg SuperVideoFrameExtractor类提供了两个初始化方法, initWit…
转自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/ 要播放HDTV,就首先要正确地解开封装,然后进行视频音频解码.所以我们需要分离器,视频解码器和音频解码器,俗称hdtv的"三件套",又统称滤镜. H264的分离器: 常见的有Gabest MP4分离器,就是MP4splitter,也是Gabest编写的,Halli的分离器和NDigital分离器等. H264的视频解码器: CoreAVC的H264视频解…
H.264/H265码流解析 一.H.264码流解析 一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成 一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成 NALU组成.jpeg StartCode : Start Code 用于标示这是一个NALU 单元的开始,必须是"00 00 00 01" 或"00 0…
转自:http://www.cnblogs.com/likwo/p/3531241.html 在使用ffmpeg解码播放TS流的时候(例如之前写过的UDP组播流),在连接时往往需要耗费大量时间.经过debug发现是av_find_stream_info(已抛弃,现在使用的是avformat_find_stream_info)这个方法十分耗时,而且是阻塞的.av_find_stream_info方法主要是获得相应的流信息,其中对我的应用最有用的就是视频的分辨率.在av_find_stream_in…
转自:http://my.oschina.net/u/1431835/blog/393315 一. h264基础概念 1.NAL.Slice与frame意思及相互关系 1 frame的数据可以分为多个slice.每个slice中的数据,在帧内预测只用到自己slice的数据, 与其他slice 数据没有依赖关系. NAL 是用来将编码的数据进行大包的. 比如,每一个slice 数据可以放在NAL 包中.I frame 是自己独立编码,不依赖于其他frame 数据.P frame 依赖 I fram…
本文档为iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述续篇,主要描述: CMSampleBufferRef读取实际数据 序列参数集(Sequence Parameter Set, SPS) 图像序列参数(Picture Parameter Set, PPS) 等内容. 1.视频实际内容数据持久化 1.1.可攻可受的CMSampleBufferRef 文档1 概述中回调函数 static void compressionOutputCallback(  …