Chirpy

音视频编解码常用知识点

音视频编解码常用知识点 视频播放器原理 视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。他们的过程如图所示。 解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如H...

音视频同步算法

音视频同步算法 本文是对音视频同步算法的总结,以阅读ffplay.c源码为基础,结合各位博主的分析, 逐渐深入理解同步算法原理, 并根据自身理解, 编写一套简易的视频播放器,用于验证音视频同步算法。 ffplay简介 ffplay是FFmpeg提供的开源播放器,基于FFmpeg和SDL进行视频播放, 是研究视频播放器,音视频同步算法的很好的示例。ffplay源码涉及到很多音视频的基本概...

视音频编解码技术零基础学习方法

视音频编解码技术零基础学习方法 1. 生活中的视音频技术 平时打开电脑中自己存电影的目录的话,一般都会如下图所示 因为下载的来源不同,这些电影文件有不同的格式,用不同的后缀表示:avi,rmvb,mp4,flv,mkv等等(当然也使用不同的图标)。在这里需要注意的是,这些格式代表的是封装格式。何为封装格式?就是把视频数据和音频数据打包成一个文件的规范。仅仅靠看文件的后缀,很难能看出...

视音频数据处理:udp Rtp协议解析

视音频数据处理:UDP-RTP协议解析 本文介绍网络协议数据的处理程序。网络协议数据在视频播放器中的位置如下所示。 本文中的程序是一个UDP/RTP协议流媒体数据解析器。该程序可以分析UDP协议中的RTP 包头中的内容,以及RTP负载中MPEG-TS封装格式的信息。通过修改该程序可以实现不同的UDP/RTP协议数据处理功能。 原理 MPEG-TS封装格式数据打包为RTP/UDP协...

视音频数据处理:rgb、yuv像素数据处理

视音频数据处理:RGB、YUV像素数据处理 本文记录RGB/YUV视频像素数据的处理方法。视频像素数据在视频播放器的解码流程中的位置如下图所示。 本文分别介绍如下几个RGB/YUV视频像素数据处理函数: 分离YUV420P像素数据中的Y、U、V分量 分离YUV444P像素数据中的Y、U、V分量 将YUV420P像素数据去掉颜色(变成灰度图) 将YUV420P像素数据的亮度减半...

视音频数据处理:pcm音频采样数据处理

视音频数据处理:PCM音频采样数据处理 本文记录PCM音频采样数据的处理方法。音频采样数据在视频播放器的解码流程中的位置如下图所示。 本文分别介绍如下几个PCM音频采样数据处理函数: 分离PCM16LE双声道音频采样数据的左声道和右声道 将PCM16LE双声道音频采样数据中左声道的音量降一半 将PCM16LE双声道音频采样数据的声音速度提高一倍 ...

视音频数据处理:h.264视频码流解析

视音频数据处理:H.264视频码流解析 本文介绍视音频码流的处理程序。本文介绍的程序是视频码流处理程序。视频码流在视频播放器中的位置如下所示。 本文中的程序是一个H.264码流解析程序。该程序可以从H.264码流中分析得到它的基本单元NALU,并且可以简单解析NALU首部的字段。通过修改该程序可以实现不同的H.264码流处理功能。 原理 H.264原始码流(又称为“裸流”)是由一...