
视频编码
文章平均质量分 80
yangzhao0001
这个作者很懒,什么都没留下…
展开
-
sensor输出的四种类型:YUV,RGB,RAW RGB,JPEG。
简单来说,YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的RGB: 传统的红绿蓝格式,比如RGB565,其16-bit数据格式为5-bit R + 6-bit G + 5-bit B。G多一位,原因是人眼对绿色比较敏感。RAW RGB: sensor的每一像素对应一个彩色滤光片,滤光片按B转载 2017-07-24 20:11:51 · 4918 阅读 · 0 评论 -
linux系统中ffmpeg安装配置步骤
http://ffmpeg.org/download.htmlwindows版本比较容易,可以去看看月小升之前的文章点这里Linux安装环境CentOS下载tar.bz2安装包tar -xvf XX.tar.bz2yasm/nasm not found or too old. Use –disable-yasm for a crippled build.转载 2016-01-12 15:28:16 · 523 阅读 · 0 评论 -
centos6.5下安装ffmpeg
一:安装yasm从yasm官网下载最新版本[http://yasm.tortall.net/];然后安装:./configuremakemake install;二:安装ffmpeg从ffmpeg官网下载最新版本[http://www.ffmpeg.org];然后安装:./configure --enable-sh转载 2016-01-12 15:14:53 · 1279 阅读 · 0 评论 -
mkv、rmvb、avi、MP4、flv、wmv特点和区别
mkv、rmvb、avi、MP4、flv、wmv这些指的都是文件格式,也就是封装格式,而不是真正的数据压缩格式,至于他们的特点,下面分别来说。首先纠正一下上面说的一个观点,其实mkv和avi并不能说成是高清格式,所谓的高清(High Definition )指的是分辨率达到一定水平之上才称之为高清,像720p、1080i、1080p、a1080、a720、816p 。进行高清视频编码时一般使用转载 2016-01-08 09:44:07 · 18492 阅读 · 0 评论 -
H264 数据avi文件封装和拆解
为了提高H264的保存效率,抛弃了FFmpeg库的avi封装,直接才源码的方式封装avi文件,源码来源于网络,经改造回馈网络。废话不多说,直接上干货。[cpp] view plaincopyprint?/* * avi_writer.h */ #ifndef AVI_UIILS_WRITER_H_ #defin转载 2016-01-08 09:40:11 · 2753 阅读 · 0 评论 -
AVI 文件格式分析
结合avi视频文件头十六进制码分析AVI格式 这段时间要搞视频合成方面的东西,因此打算先弄明白avi视频的格式,介绍这方面内容的东西google一下一大堆,可是很悲剧,现在的人基本上都喜欢copy,内容基本来源于同一篇,对我没什么实质性的帮助。本来是希望通过看看一些avi合成的源码来分析avi的结构的,可是windows下的程序基本是调用directshow完成的,格式方法都封装好了。转载 2016-01-08 09:38:13 · 6697 阅读 · 0 评论 -
H264编码 封装成MP4格式 视频流 RTP封包
转自:http://www.cnblogs.com/ghw-NO1/archive/2012/08/28/2660848.html一、概述本文讲述的是对H264编码且封装成MP4格式的视频流进行RTP打包过程时需要了解的一些基本知识。二、H264的基础知识1.H264的编码格式H.263 定义的码流结构是分级结构,共四层。自上而下分别为:图像层(转载 2016-01-08 09:33:14 · 1407 阅读 · 0 评论 -
TS流的解码过程-ES-PES-DTS-PTS-PCR
TS 流解码过程:1. 获取TS中的PAT2. 获取TS中的PMT3. 根据PMT可以知道当前网络中传输的视频(音频)类型(H264),相应的PID,PCR的PID等信息。4. 设置demux 模块的视频Filter 为相应视频的PID和stream type等。5. 从视频Demux Filter 后得到的TS数据包中的payload 数据就是 one piece of PE转载 2016-01-25 13:48:39 · 889 阅读 · 0 评论 -
将es打包成pes时,处理PTS和DTS的方法
PES包格式:分组开始码前缀:0x00 0x00 0x01流ID:视频为0x0E,音频为0x0CPES分组长度:这个包中此后数据的长度,包括此后剩余的PES包头长度和帧数据长度。PES首部数据长度:可选字段长度+填充字节长度。其中PTS/DTS标志位的意义为:0x01:表示pes包头长度后面跟一个DTS数据(一个DTS或PTS的长度为5个转载 2016-01-25 13:33:34 · 920 阅读 · 0 评论 -
FLV文件格式解析
1. FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2. FLV文件格式F转载 2016-01-13 11:52:00 · 660 阅读 · 0 评论 -
FFmpeg常用基本命令
【FFmpeg】FFmpeg常用基本命令1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流2.视频解复用ffmpeg –i tes转载 2016-01-13 15:46:59 · 355 阅读 · 0 评论 -
FLV容器分析2
转载:http://blog.youkuaiyun.com/zengraoli/article/details/7747003这是一张网上分析flv文件中File Header和Metadata Tag的图片 我开始我是按照他的格式加上FlvParse.exe来进行分析的,但是这个文件看起来很规范,没有冗余信息的情况。所以补上几个另外的比转载 2016-01-14 09:30:48 · 379 阅读 · 0 评论 -
Bayer RGB和RGB Raw
对于SENSOR来说,Bayer RGB和RGB Raw两者的图象结构都是BG/GR的。(Bayer pattern说的是COLOR FILTER的结构,分为两种:STD Bayer pattern 与Pair pattern,其中STD Bayer pattern的结构是BG/GR的,而Pair Pattern顾名思义是指BGBG/GRGR的结构,即以四行为一转载 2017-07-24 20:00:34 · 1769 阅读 · 0 评论 -
1080i、720p、1080p、N制、P制、帧率、高清电视、全高清
数字电视的发展从1080i到720p再到1080p 1080i和720p同是国际认可的数字高清晰度电视标准。原NTSC国家采用的是1080i/60Hz格式,与NTSC模拟电视场频相同。而欧洲以及中国等一些原PAL制国家则采用了1080i/50Hz模式,场频与PAL模拟电视相同。至于720p,则由于IT厂商更深的渗透到了电视行业而成为了一个可选的标准,目前开始在以光盘为载体的HDTV播放转载 2017-06-30 20:08:03 · 12812 阅读 · 0 评论 -
基础:关于YUV 和 Cr Cb的区别
在网上找了好久,发现各种的版本,现在将其总结于此,方便人们的查看,顺便可以提提意见,看看到底是那个和那个···· 第一种说法:[R G B] -> [Y Cb Cr]转换-------------------------(R,G, B 都是 8bit unsigned) Y = 0.299*R + 0.587*G + 0.114*B (亮度)Cb = - 0转载 2017-03-23 21:05:36 · 3839 阅读 · 0 评论 -
H.264语法分析
http://control.blog.sina.com.cn/admin/article/article_add.php 在 H.264 定义的码流中,句法元素被组织成有层次的结构,分别描述各个层次的信息,如下图所示在H.264 中,句法元素共被组织成 序列、图像、片、宏块、子宏块五个层次。在这样的结构中,每一层的头部和它的数据部分形成管理与被管理的强依赖关系,头转载 2016-02-15 10:23:38 · 600 阅读 · 0 评论 -
H264 帧判断
http://blog.youkuaiyun.com/dxpqxb/article/details/7631304H264以NALU(NAL unit)为单位来支持编码数据在基于分组交换技术网络中传输。NALU定义了可用于基于分组和基于比特流系统的基本格式,同时给出头信息,从而提供了视频编码和外部世界的接口。H264编码过程中的三种不同的数据形式:SODB 数据比特转载 2016-02-15 10:22:43 · 1997 阅读 · 0 评论 -
(转)CMMB中的H264和AAC打包成ts流
原文地址:(转)CMMB中的H264和AAC打包成ts流作者:南冠彤http://blog.youkuaiyun.com/zs_pro_popper/article/details/8179734参照tstools这个开源项目完成了CMMB的merge aac with 264 to TS.在做的过程中,分成了几个阶段。先试着将H264打包成TS,这花了最大的精力和时间;接着将AA转载 2016-02-15 10:21:12 · 1200 阅读 · 0 评论 -
TS流相关问题
转自 http://www.cnblogs.com/wangqiguo/archive/2013/03/29/2987949.html将H264与AAC打包Ipad可播放的TS流的总结由于要在crtmpserver中实现Http Live Streaming ,本人花了接近3个星期的时间,研究将H264与AAC打包为TS流并能在Ipad上通过转载 2016-02-01 14:30:32 · 2168 阅读 · 1 评论 -
ffmpeg 支持aac格式转换
网上搜了一下命令为:[java] view plaincopyffmpeg -i 20120814164324_205.wav -acodec libfaac output.aac 出现了如下提示,没有找到编码器Unknown encoder 'libfaac'那就先去下载 http://downloads.sourcefo转载 2016-01-14 10:23:59 · 4762 阅读 · 0 评论 -
ffmpeg 使用小记 h264 to ts
一、安装 系统运行环境:ubuntu12.04 64bit 安装过程:sudo apt-get install ffmpeg二、命令参数 命令格式:ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件] 1、参数选项: (1) -an: 去掉音频转载 2016-01-23 16:33:09 · 5717 阅读 · 0 评论 -
帧编码和场编码
在帧编码中,参考为帧图像,采用帧运动补偿,两个场是联合编码;在场编码中,参考为场图像,两个场是分别编码,采用场运动补偿。 场编码适用场合:对于运动激烈的情况,也就是画面变化快,画面中的人物、背景等等短时间里就会有很大的变化。这样,如果使用帧编码,由于相邻两行(一行在顶场,一行在底场)的扫描时间相差了许多(因为是隔行扫描),那么由于变化剧烈(画面在短时间内就会产生很大转载 2015-12-21 10:06:55 · 3796 阅读 · 0 评论 -
将h.264视频流封装成flv格式文件(二.开始动手)
前面写了flv文件的解析,有h264裸流的话就开始封装吧。网上大多数都是用ffmeg库来做这个工作的,哎,学习资料少学不会,还是自己动手吧。封装前要先了解下h.264格式,只需要知道一点点就可以了,我看了h.264官方文档,我靠,3百多页,还全是中文,什么,是中文?既然是中文的我就勉强看下吧,我靠,看起来还很复杂的,果断不看了,不需要,也没时间,我又不做解码,这东西具体步骤资料又少,基本都转载 2015-12-30 17:01:05 · 4661 阅读 · 2 评论 -
将h.264视频流封装成flv格式文件(一.flv格式)
flv文件的格式其实网上资料还是不少,但是怎么封装成flv却不多。看了不少资料,找到了一个觉得还比较靠谱的:http://www.cnblogs.com/chef/archive/2012/07/18/2597279.html其实flv还是挺简单的一个视频格式,下面就来先谈一谈FLV的格式吧。 FLV是一个二进制文件,简单来说,其是由一个文件头(FLV header)和很多转载 2015-12-30 16:47:44 · 632 阅读 · 1 评论 -
x264获取sps pps 等信息
通常是通过 x264_nal_t::i_type 判断当前的NAL的类型;其定义的枚举类型:enum nal_unit_type_e{ NAL_UNKNOWN = 0, NAL_SLICE = 1, NAL_SLICE_DPA = 2, NAL_SLICE_DPB = 3, NAL_SLI转载 2015-12-28 15:57:09 · 790 阅读 · 0 评论 -
YUV数据 到 x264赋值
方法1: 来自示例程序;x264_picture_t pic; //定义要编码的 yuv图像;param.i_csp = X264_CSP_I420;x264_picture_alloc( &pic, param.i_csp, param.i_width, param.i_height ) ; //创建 pic空间;转载 2015-12-28 15:56:14 · 316 阅读 · 0 评论 -
x264使用示例
x264使用示例 /** * @note x264的编码示例. * 使用x264的版本为libx264-115 * 1. 示例是个死循环,会源源不断的编码,然后将数据写文件. * 2. 示例的行为是:编码1000帧后,取空编码缓冲区,然后循环执行这两步. * @author 戈 */#include #include #include转载 2015-12-28 15:52:44 · 534 阅读 · 0 评论 -
x264编码后的文件保存
方法1:在x264示例中的保存方法: i_frame_size = x264_encoder_encode( h, &nal, &i_nal, &pic, &pic_out ); if( i_frame_size goto fail; else if( i_frame_size )转载 2015-12-28 15:51:32 · 700 阅读 · 0 评论 -
Windows下编译x264
早期的版本有vc可以直接编译的, 现在的没有vc版本了;如果希望在windows上学习x264,可以直接找到vc版本;这里例举一下,网上的两个版本方法:一:《VS2010编译x264(20091006)》如果你仅仅需要使用x264的话你可以到这下载:http://x264.nl/x264的源码下载地址:http://www.vid转载 2015-12-28 11:51:05 · 468 阅读 · 0 评论 -
VS2010编译x264(20091006)
H264可以说是现在视频发展的趋势,越来越多的视频舍弃了rmvb投入了H264的怀抱。我自己压的视频都是用H264编码的,因此想学习H264的编码,当然这里面也有专业的原因。要想学习H264,第一部就是编译x264。如果你仅仅需要使用x264的话你可以到这下载:http://x264.nl/x264的源码下载地址:http://www.videolan.org/developers转载 2015-12-28 11:47:41 · 898 阅读 · 0 评论 -
RTMP中FLV流到标准h264、aac的转换
这段时间,工作上的需要,在RTMP上做了flv流到标准h264、AAC的转换,服务器是开源项目CRTMPSERVER,客户端flex编写,视频编码h264,音频编码AAC,现将一些协议相关的东西记录如下。 一、分析FLV数据 我们先拿一个flv文件来简单分析一下flv数据的格式 flv标准文档下载地址http://www.cnblogs.com/chef转载 2015-12-30 17:38:30 · 925 阅读 · 0 评论 -
H.264 NAL层解析(0x00000001,编码,打包,NALU)
H.264 NAL层解析(0x00000001,编码,打包,NALU) 1.引言H.264的主要目标:1.高的视频压缩比2.良好的网络亲和性解决方案:VCL video codinglayer 视频编码层NAL network abstraction layer 网络提取层VCL:核心算法引擎,块,宏块及片的转载 2015-12-31 09:51:38 · 760 阅读 · 0 评论 -
NAL技术
1.NAL概述NAL全称Network Abstract Layer,即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。现实中的传输系统是多样化的,其可靠性,服务质量,封装方式等特征各不相同,N转载 2015-12-31 09:56:45 · 1776 阅读 · 0 评论 -
TS流分析
一 从TS流开始 数字电视机顶盒接收到的是一段段的码流,我们称之为TS(Transport Stream,传输流),每个TS流都携带一些信息,如Video、Audio以及我们需要学习的PAT、PMT等信息。因此,我们首先需要了解TS流是什么,以及TS流是怎样形成、有着怎样的结构。(一) TS流、PS流、PES流和ES流都是什么? ES流(Eleme转载 2016-01-21 16:28:00 · 746 阅读 · 0 评论 -
YUV420格式视频下载
地址连接:http://trace.eas.asu.edu/yuv/index.html转载 2016-01-05 15:06:53 · 3596 阅读 · 0 评论 -
H.264 基础及 RTP 封包详解
一. h264基础概念1、NAL、Slice与frame意思及相互关系 1 frame的数据可以分为多个slice.每个slice中的数据,在帧内预测只用到自己slice的数据, 与其他slice 数据没有依赖关系。 NAL 是用来将编码的数据进行大包的。 比如,每一个slice 数据可以放在NAL 包中。I frame 是自己独立编码,不依赖于其他frame转载 2016-01-04 10:03:36 · 333 阅读 · 0 评论 -
FLV rtmp 里存在B帧的情况下,time stamp 应该怎么玩 ?
先来引用stackoverflow的一篇文章:CompositionTime Composition time offsetSee ISO 14496-12, 8.15.3 for an explanation of composition times. The offset in an FLV file is always in millisecondsprovides the转载 2016-01-18 16:42:57 · 648 阅读 · 0 评论 -
x264 代码下载信息
2011-08-111 不同版本的x264下载地址:http://download.videolan.org/pub/videolan/x264/snapshots/2 x264从20061010起(即这个版本x264-snapshot-20061010-2245.tar.bz2)不再支持decoder代码。转载 2015-12-31 15:39:32 · 363 阅读 · 0 评论 -
H.264数据流格式
H.264数据流格式H264码流的两种打包方式,一种为Annex-b byte stream format的格式,字节流格式,这个是绝大部分编码器的默认输出格式,就是每个帧的开头的3~4个字节是H264的start_code,0x00000001或者0x000001,即NALU数据+开始前缀(00000001或000001),针对H.320电话会议。另一种是原始的NAL打包格式,就是开转载 2015-12-31 12:00:12 · 2698 阅读 · 0 评论 -
关于x264的一篇论文:讲解很详细
论文:H.264视频编解码传输算法平台及码率控制研究上海交通大学,陈杰转载 2015-12-31 11:56:06 · 534 阅读 · 0 评论