关闭

[置顶] HEVC标准概览(一)引言

原文地址:http://www.tuicool.com/articles/6JrEN3HEVC(高效视频编码标准)是ITU-T VCEG(国际电联电信标准化部视频编码组)与ISO/IEC MPEG(国际标准化组织国际电工委员会视频标准化组)的合作组织JCT-VC最新项目。ITU-T和ISO/IEC计划在2013年1月共同发布第一个版本(译者按:ITU-T已经在2013-01-25 发布 ,标准可见...
阅读(128) 评论(0)

[置顶] FFMPEG中最关键的结构体之间的关系

FFMPEG中结构体很多。最关键的结构体可以分成以下几类: a)        解协议(http,rtsp,rtmp,mms) AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中文件也被当做一种协议“file”) b...
阅读(308) 评论(0)

ffmpeg.c源码阅读

入口函数mainint main(int argc, char **argv) { int i, ret; int64_t ti; init_dynload(); register_exit(ffmpeg_cleanup); setvbuf(stderr,NULL,_IONBF,0); /* win32 runtime needs this */ av_log...
阅读(13) 评论(0)

ts码流结构语法学习总结

引言标准文档给自己的定义是:论述了将音频和视频的一个或多个基本流以及其他数据组合成为一个单独的流或多个流,以适于存储或传输。系统编码遵循本规范中提出的句法和语义规则,并且提供信息使得解码器缓冲区可以在各种检索或接收条件下进行同步解码。 节目流:它是由一个或多个具有共同时间基的PES 包的流组合成一个单独的流而形成的。 传输流:是将具有一个或多个独立时间基的一个或多个节目组合成为一个单独的流。...
阅读(129) 评论(0)

H264码流结构语法学习

h264封装结构学习...
阅读(121) 评论(0)

HEVC帧内预测

HEVC帧内预测hevc有35种预测模式,都是基于PU定义的,而具体帧内预测过程的实现是以TU为单位。标准规定PU可以以四叉树的形式划分TU,且一个PU 内的所有TU共享统一种预测模式。HEVC帧内预测的步骤 判断当前TU相邻参考像素是否可用,病做相应的处理 对参考像素进行滤波 根据滤波后的参考像素计算当前TU的预测像素值...
阅读(140) 评论(0)

HEVC标准概览(五)Profile、Tier和Level

Profile、Tier和Level的概念这三个概念主要用于需要类似功能的不同实现之间的沟通。Profile指出码流中使用了哪些编码工作和算法。Level指出一些对解码端的负载和内存占用影响较大的关键参数约束。主要包括采样率、分辨率、码率的最大值,压缩率的最小值,DPB的容量,CPB(解码缓冲区)的大小。在HEVC的设计中,应用可以只依据最大的码率和CPB大小就可以区分。为了解决这个问题,有些Lev...
阅读(942) 评论(0)

HEVC标准概览(三)高层语法

概述HEVC从H.264/AVC的NAL继承了大量的语法元素。NAL是负责把那些装载了视频的视频编码层的数据映射到RTP/IP、ISO MP4、H.222.0/MPEG-2等多种视频传输层上,同时提供处理丢包情况的框架。本章节不复述NAL单元、参数集、存取单元、码流格式、包格式等基本概念。NAL单元根据是否装载有视频编码数据分为VCL和non-VCL两类。为了支持任意点解码和解码初始化,HEVC标准...
阅读(444) 评论(0)

HEVC标准概览(二)设计和技术要点

概述HEVC的设计兼顾提高编码效率、降低传输压力、增强丢包容忍性、优化并行处理在内的多个目标。 本章将简要描述HEVC实现这些目标的关键技术以及标准HEVC编码器的处理流程;解码流程和具体的语法会在之后的章节讨论。编解码层面HEVC的编码分层沿用了H.261以来的(混合模式帧间预测、帧内预测、2D转换)。下图表达了编码HEVC标准码流的基本过程。 HEVC标准编码过程大致如下:帧首先被切分成多个块状...
阅读(454) 评论(0)

MP3文件格式学习

MP3文件格式学习概述 MP3 文件是由帧(frame)构成的,帧是 MP3 文件最小的组成单位。MP3 的全称应为MPEG1 Layer-3音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG音频文件是 MPEG1 标准中的声音部分,也叫 MPEG 音频层,它根据压缩质量和编码复杂程度划分为三层,即Layer-...
阅读(214) 评论(0)

RTMP协议学习

前段时间一直在看RTMP协议,但是只是对文档看!收获甚微;再群里聊天的时候看有人用Winreshark结合文档来分析,感觉效率不错,工作需要最近又开始捡起来直播服务器这一块,所以就决定再结合工具好好看一遍文档 RTMP简介 RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议簇,包括RTMP基本协议及RTMPT/RTM...
阅读(437) 评论(0)

SDL_Init()代码阅读

首先调用的是: int SDL_Init(Uint32 flags) { return SDL_InitSubSystem(flags); } 所以就需要看看这个SDL_InitSubSystem(flasg)到底做了什么 #define SDL_InitSubSystem SDL_InitSubSystem_REAL 跳转到宏定义了,看来只能找SDL_InitSubSyste...
阅读(680) 评论(0)

SDL的使用

关于视频 SDL_Init(); //初始化SDL SDL_CreateWindow(); //创建一个窗口 SDL_CreateRender(); //创建一个渲染器,在创建的窗口的基础上 SDL_CreateTexture(); //给予以上创建一个纹理 循环更新渲染器对视频进行更新 SDL_UpdateTexture(); //更新纹理 SDL_Ren...
阅读(218) 评论(0)

ffmpeg键盘命令响应程序详解

一、对终端进行读写 当一个程序在命令提示符中被调用时, shell负责将标准输入和标准输出流连接到你的程序, 实现程序与用户间的交互。 1. 标准模式和非标准模式 在默认情况下, 只有用户按下回车键后,程序才能读到终端的输入。 在大多数情况下,这样做是有益的, 因为它允许用户使用退格键和删除键来纠正输入中的错误, 用户只在对自己在屏...
阅读(258) 评论(0)

ffmpeg 内存转码

文章的末尾有原文的地址, 这里只是记录源码方便自己时不时的看看代码 FFmpeg读写内存的关键点有2个: 1.       初始化自定义的AVIOContext,指定自定义的回调函数。 2.       自己写回调函数。注意函数的参数和返回值(尤其是返回值)。   流程 程序的流程图如下图所示。从图中可以看出,首先分别初始化了输入和输出的AVFormatContext。然后首先...
阅读(519) 评论(0)

ffmpeg数据结构-AVInputFormat

typedef struct AVInputFormat { /** * A comma separated list of short names for the format. New names * may be appended with a minor bump. * 一个逗号分隔的格式的短名称列表。新的名称可以附加一个轻微的碰撞。 */ ...
阅读(830) 评论(0)

FFMPEG结构体分析:AVFrame

FFMPEG有几个最重要的结构体,包含了解协议,解封装,解码操作,此前已经进行过分析: FFMPEG中最关键的结构体之间的关系 在此不再详述,其中AVFrame是包含码流参数较多的结构体。本文将会详细分析一下该结构体里主要变量的含义和作用。 首先看一下结构体的定义(位于avcodec.h): /* *雷霄骅 *leixiaohua1020@126.com *中国传...
阅读(466) 评论(0)

ffmpeg数据结构-URLContext

typedef struct URLContext { const AVClass *av_class; /**< information for av_log(). Set by url_open(). */ struct URLProtocol *prot; void *priv_data; char *filename; /...
阅读(276) 评论(0)

ffmpeg 数据结构-AVPacket

//结构体有点多,所以就单个拿出来看 //数据包结构体 typedef struct AVPacket { /** * A reference to the reference-counted buffer where the packet data is stored. * 一个参考计数的缓冲区,数据存储   * May be NULL, then th...
阅读(255) 评论(0)

ffmpeg数据结构-AVFormatContext

/** * Format I/O context. * New fields can be added to the end with minor version bumps. * Removal, reordering and changes to existing fields require a major * version bump. * sizeof(AVFormatCont...
阅读(314) 评论(0)
22条 共2页1 2 下一页 尾页
    个人资料
    • 访问:8717次
    • 积分:235
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条