H.264与音视频编解码
奔跑的哇牛
这个作者很懒,什么都没留下…
展开
-
RFC3984: RTP Payload Format for H.264 Video(中文版)
H.264的RTP协议的数据包封装格式说明,中文版本。URL:http://www.rosoo.net/Files/UpFiles/RsProduct/avtools/2009-4/2009491562537854.txt原创 2016-03-30 08:57:17 · 2669 阅读 · 0 评论 -
ffplay播放音频和视频命令
ffplay详细规则可参考:http://blog.csdn.net/leixiaohua1020/article/details/15186441http://blog.csdn.net/wishfly/article/details/44222297ffplay播放YUV格式视频命令:ffplay -f rawvideo -pix_fmt yuv420p -vide原创 2016-07-07 15:51:24 · 7584 阅读 · 0 评论 -
Ubuntu环境下安装FFMPEG+SDL
最近在学习FFMPEG的相关知识,在学习使用FFMPEG之前,系统环境得安装FFMPEG,对于视频相关的操作一般也需要安装SDL播放器。在我在Ubuntu12.04环境下安装FFMPEG的时候,百度一搜就各种资料。各种介绍什么安装FFMPEG之前要安装依赖库或者依赖平台,但是说为什么要依赖的介绍却很少,对了解的人来说可能一看就懂,但对我这种初入们的看起来就有点不解了。所以记录下我的搭建过程,希望对原创 2016-06-22 18:02:17 · 2064 阅读 · 0 评论 -
FFMPEG封装格式转换(remuxer)
本文主要分析通过FFMPEG函数将音视频容器格式转换成另一种格式。在转换中涉及到h264_mp4toannexb的转换,本文会针对此种情况重点说明下,先上带解析的源代码。原创 2016-07-19 16:42:49 · 3573 阅读 · 0 评论 -
H264视频码流格式浅析
针对H264码流格式说明,网上已经有很多介绍了,最近也在看这个,这里根据自己理解,做个记录。1、H264的功能分为两层:视频编码层(VLC,Video Coding Layer)和网络提取层(NAL, Network Abstraction Layer)。VLC数据即编码处理的输出,它表示被压缩编码后的视频数据序列。在VCL数据传输或存储之前,这些编码的VCL数据先被映射或封装进N原创 2016-07-29 17:01:12 · 18334 阅读 · 0 评论 -
FLV文件格式解析
最近要用到flv,整理了一些flv格式的资料,供参考。 flv文件主要由两部分组成:header和body。1.headerheader部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:文件类型3 bytes“FLV”版本1 byte一般为0x01流信息转载 2016-08-03 14:52:48 · 726 阅读 · 0 评论 -
UDP_RTP+MPEG2-TS浅析
对于TS流的产生和到组成UDP包的发送,通过一下图,大家有个直观的了解:1、TS流的产生:2、TS流组包为RTP数据包,通过UDP发送出去:3、针对MPEG2-TS协议包格式及头参数介绍如下:针对RTP协议及MPEG2-TS具体的详细介绍,下面几篇文章下的很好:http://blog.csdn.net/rootusers/原创 2016-08-04 16:57:21 · 6997 阅读 · 0 评论 -
AAC文件格式及解码流程
文章属转载,红色标题部分是为了更清晰的了解AAC相关结构,我添加进去的:AAC格式分析:http://blog.csdn.net/leixiaohua1020/article/details/11822537http://blog.csdn.net/tx3344/article/details/7414543上面两篇文章对格式中的参数都做了详细的说明。另外针对a转载 2016-08-01 15:11:54 · 1036 阅读 · 0 评论 -
去块效应滤波器介绍
所谓的块效应就是在视频编码中人眼察觉到的小块边界处的不连续。通过下面的图有个直观的感受。 可以感受到(a)中的左上角有一些明显的小块,而(b)看上去比较平滑一些。一、块效应产生的原因: 1)在对图像进行编码的时候,图像被分成16x16,8x8或者4x4这样的块,然后对这些块进行DCT变换,这样就导致块与 块之间的原创 2016-08-19 17:12:13 · 8564 阅读 · 3 评论 -
avcodec_decode_video2解码图像不成功分析
今天在测试解码一个AVI格式的视频文件时,调用解码函数:avcodec_decode_video2(pCodecCtx, pFrame, &got_picture,packet);在解码第一帧的时候,函数返回的是一个大于0的数,但是got_picture返回的确实0,这说明函数没有完整的解码出一帧。但是函数也没执行失败,很大可能是被解码器缓存起来了。1、先看看一段问题,对于一个原创 2016-08-09 18:15:40 · 13546 阅读 · 7 评论 -
FFMPEG解析MP4格式封装的视频为YUV和AAC
此篇文章主要涉及到对封装视频数据的视频和音频的抽取,抽出来的视频解码保存为YUV格式,音频保存为AAC格式。代码都加了注释,虽然全局变量比较多,但主要目的还是熟悉整个流程。原创 2016-07-06 22:13:00 · 3279 阅读 · 3 评论 -
纯净版基于FFMPEG编码器(YUV到H264)
现在正在学FFMPEG相关知识,写此文的目的就是便于自己对一些函数接口的理解,也希望对同样学习FFMPEG的人有一些帮助。代码不是自己写的,主要是在原代码的基础上增加了一些注释。原创 2016-06-29 11:45:43 · 786 阅读 · 0 评论 -
H264参数SPS(序列参数集)和PPS(图像参数集)说明
在文章开始之前,先看图一:图一从图一中我们看到SPS,PPS。这是符合H.264码流中第一个NALU是SPS,第二个NALU是PPS。SPS和PPS包含了初始化H.264解码器所需要的信息参数。SPS包含的是针对一连续编码视频序列的参数,如标识符seq_parameter_set_id、帧数及POC的约束、参考帧数目、解码图像尺寸和帧场编码模式选择标识等。PPS对应的是原创 2016-04-05 11:53:24 · 9594 阅读 · 0 评论 -
H.264预测编码之帧内预测
预测编码是视频压缩中最基本的编码工具,常见的预测编码为帧间预测和帧内预测。帧间预测编码主要是消除时域冗余信息,利用之前编码过的图像来预测现在要编码的图像。帧内预测编码主要是空间冗余信息。原创 2016-04-08 13:55:33 · 8877 阅读 · 1 评论 -
H.264预测编码之帧间预测
预测编码是视频压缩中最基本的编码工具,常见的预测编码为帧间预测和帧内预测。视频编码中,主要的冗余信息是时间冗余,其次是空间冗余,视频编码通过帧间预测消除时间冗余,通过帧内预测消除空间冗余。接下来说说帧间预测。帧间预测就是时域预测,旨在消除时域冗余信息,简单点说就是利用之前编码过的图像来预测要编码的图像。先说下帧间预测的两个概念:1、运动估计。运动估计是寻找当原创 2016-04-08 17:53:00 · 5600 阅读 · 0 评论 -
H.264学习(一)——帧和场的概念
文章转载来至:http://www.cnblogs.com/yinxiangpei/articles/3490236.html一、何谓场?每个电视帧都是通过扫描屏幕两次而产生的,第二个扫描的线条刚好填满第一次扫描所留下的缝隙。每个扫描即称为一个场。因此 25 帧/秒的电视画面实际上为 50 场/秒 (若为 NTSC 则分别为 30 & 60 - 因为我是中国人,因此我采用 PAL转载 2016-03-28 16:52:50 · 680 阅读 · 0 评论 -
色度编码采样
在视频编码的材料中,经常提到色度采样或者色度抽样的概念,而且一般的教材里仅仅说明某些视频编码标准如MPEG4或者H.264编码标准支持某种或者某几种色度取样的编码,有时还贴出几张莫名其妙的图。那色度采样到底是什么意思呢?特别是4:2:0的图总是让人感到费解,下面就详细的介绍。其实很简单,视频一般采用YCbCr的颜色空间。其原理是人类视觉系统对亮度比彩色更敏感,因此可以把亮度信息从彩色信息分转载 2016-04-20 15:19:12 · 2190 阅读 · 0 评论 -
H.264整数DCT公式推导及蝶形算法分析
这篇文章对DCT公式推导和蝶形算法的分析写的比较清晰,所有就转载过来,转载地址:http://www.cnblogs.com/xkfz007/archive/2012/07/31/2616791.html1.为什么要进行变换 空间图像数据通常是很难压缩的:相邻的采样点具有很强的相关性(相互关联的),而且能量一般平均分布在一幅图像中,从而要想丢掉某些数据和降低数据精转载 2016-05-06 11:17:05 · 5062 阅读 · 0 评论 -
音视频编解码好的博客地址
http://blog.csdn.net/cjsycyl/article/details/8024934http://blog.csdn.net/leixiaohua1020/article/category/1843731http://blog.csdn.net/vblittleboy/article/details/8476812http://blog.csdn.n转载 2016-06-10 23:47:45 · 452 阅读 · 0 评论 -
AVFrame中data与linesize关系
AVFrame里面有data[4]和linesize[4]其中data是一个指向指针的指针(二级、二维指针),也就是指向视频数据缓冲区的首地址,而data[0]~data[3]是一级指针,可以用如下的图来表示:data -->xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ^转载 2016-06-30 11:10:40 · 4925 阅读 · 0 评论 -
纯净版基于FFMPEG解码器(H264到YUV)
现在正在学FFMPEG相关知识,写此文的目的就是便于自己对一些函数接口的理解,也希望对同样学习FFMPEG的人有一些帮助。代码不是自己写的,主要是在原代码的基础上增加了一些注释。代码中涉及到的AVFrame中的linesize知识,可以参考下此篇博文介绍:http://blog.csdn.net/h514434485/article/details/51788666原创 2016-06-30 11:25:46 · 6219 阅读 · 0 评论 -
FFMEPG函数avformat_find_stream_info作用
现象:FFMPEG打开媒体文件并查看媒体文件相关信息流程如下:avformat_open_input;avformat_find_stream_info;av_dump_format;针对同一个媒体文件,不调用与调用avformat_find_stream_info函数获取的媒体文件相关信息如下:未调用avformat_find_stream_info信息: 调用avformat_fin原创 2017-09-02 17:12:47 · 2556 阅读 · 0 评论