![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
SuperDali
写写博客,记记生活
展开
-
Android音视频学习路线
Android音视频学习路线茫茫人海中,与别人有一点点不同关于Android 学习Java语言。 初步了解Android基础组件,调用简单的API,实现简单功能。 研究Android常用组件原理,自定义空间,网络以及广为流传的三方空间原理。 可以搞定市面上大部分项目,解决疑难杂症。 以上,大概就是我在Android学习上,所经历的四个不同的阶段。这四...原创 2018-03-15 08:41:31 · 2314 阅读 · 0 评论 -
MPEG2-TS标准分析
基本概念ES流(Elementary Stream):基本码流,经过编码后的连续码流。PES流(Pakckaged Elementary Stream):将ES流分割成段,加上相应的头文件打包后的码流。PES包的长度可变,包头中最重要的是PTS(Presentation Time Stamp)、和DTS(Decode Time Stamp)时间,再加上参考PCR参考时钟,播放器便能从PES流中...原创 2019-06-24 23:38:41 · 3407 阅读 · 0 评论 -
MP4文件结构解析
文章目录MP4相关文档MP4分析工具术语和缩略语Mp4文件的组织结构Box对象结构FullBox对象结构常见的BoxFile Type BoxMovie 结构Movie BoxMovie Header BoxTrack BoxTrack Header BoxMedia BoxMedia Header BoxHandler Reference Box : 'hdlr'Media Informatio...原创 2019-06-21 00:36:56 · 9082 阅读 · 0 评论 -
Android Framework层播放器评分机制
本文涉及源码版本为:Oreo 8.0.0_r4/frameworks/av/media/libmedia/mediaplayer.cpp/frameworks/av/include/media/mediaplayer.h/frameworks/av/media/libmediaplayerservice/MediaPlayerFactory.cpp/frameworks/av/media...原创 2019-04-30 21:34:42 · 862 阅读 · 0 评论 -
YUV格式到底是什么?
简介YUV是视频、图片、相机等应用中使用的一类图像格式,实际上是所有“YUV”像素格式共有的颜色空间的名称。 与RGB格式(红 - 绿 - 蓝)不同,YUV是用一个称为Y(相当于灰度)的“亮度”分量和两个“色度”分量表示,分别称为U(蓝色投影)和V(红色投影),由此得名。YUV也可以称为YCbCr,虽然这些术语意味着略有不同,但它们往往会混淆并可互换使用。Y表示亮度分量:如果只显示Y的话,...原创 2019-05-08 19:43:40 · 33708 阅读 · 2 评论 -
FFmpeg:AVFrame结构体分析
最近发现了ffmpeg有个网页版的文档,分享给大家:ffmpeg文档,查询起来看是挺方便的。现在才发现,是不是有点太晚了?之前都是直接看源码上的注释,反过来想想,那些注释写的也都听清晰易懂的哈(自我安慰)。AVFrameAVFrame结构体描述了解码后的(原始)音频或视频数据。AVFrame通常被分配一次,然后多次重复使用以持有不同的数据(例如,单个AVFrame持有从解码器接收的帧)。 ...原创 2019-05-02 11:48:37 · 5728 阅读 · 0 评论 -
FFmpeg:AVIOContext结构体分析
分享一个FFmpeg的文档地址,如果本文有什么没讲清楚的,建议直接去查找:传送门AVIOContext这个结构体,是FFmpeg中有关io操作的顶层结构体,是avio的核心。FFmpeg支持打开本地文件路径和流媒体协议的URL。虽然AVIOContext时avio操作的核心,但AVIOContext中的所有函数指针都不应该直接调用,它们只应在实现自定义I / O时由客户端应用程序设置。 通常...原创 2019-05-02 11:51:53 · 2402 阅读 · 0 评论 -
FFmpeg:AVCodecContext结构体解析
文档:传送门AVCodecContextAVCodecContext也是FFmpeg使用过程中比较重要的结构体,保存了编解码器上下文相关信息。不管是编码,还是解码都会用到,但在两种不同应用场景中,结构体中部分字段作用和表现并不一致,这一点需要特别注意。AVFormatContext包含了一个媒体流的解码器的上下文信息,比较重要的有:AVMediaType:解码器类型,表示这个解码器是用来...原创 2019-05-02 11:50:38 · 3554 阅读 · 1 评论 -
FFmpeg:AVInputFormat结构体解析
AVInputFormat文档:传送门AVInputFormat是解复用器(解封装)作用时读取媒体文件并将其拆分为数据块(数据包)。每个数据包,包含一个或者多个编码帧比较重要的字段有:long_name:格式的长名称(相对于短名称而言,更易于阅读)。mime_type:mime类型,它用于在探测时检查匹配的mime类型。next:用于链接下一个AVInputFormat。(*rea...原创 2019-05-02 11:46:59 · 1415 阅读 · 0 评论 -
FFmpeg:AVPacket结构体分析
AVPacket文档地址:传送门在AVPacket结构体的说明部分:有这么一段描述,足够说明它的作用和重要性。该结构存储压缩数据。 它通常由解复用器导出,然后作为输入传递给解码器,或作为编码器的输出接收,然后传递给复用器。对于视频而言,它通常应包含一个压缩帧。 对于音频,它可能包含几个压缩帧。 允许编码器输出空包,没有压缩数据,只包含不重要的附加信息数据。例如在编码结束时更新一些流参数。...原创 2019-05-02 11:43:50 · 1267 阅读 · 0 评论 -
Android媒体底层通信框架Native Handler(二):AMessage
这是Native Handler系列的第二部分,第一部分传送门在这里:Android媒体底层通信框架Native Handler(一):AHandler ALooper本篇详解讲述AMessage源码。先来回顾一下第一部分的图:AMessageAOSP Version: Oreo 8.0.0_r4AMessage可以算的上市整个消息系统中的核心接口了。自然,它的接口也比其它两个...原创 2019-04-13 22:04:50 · 7210 阅读 · 0 评论 -
Android媒体底层通信框架Native Handler(一):AHandler ALooper
AOSP Version: Oreo 8.0.0_r4所谓的Native Handler,只是我自己臆想出来的名词(或许也有前人创造了,但我没发现也说不定),用来对Android媒体框架中消息通信部分进行描述。之所以这么命名,主要基于如下几点:Android 媒体框架涉及到消息通信部分,主要由ALooper、AHandler、AMessage三个类组成,但并没有一个官方的名称,这对于写...原创 2019-04-13 21:48:19 · 3900 阅读 · 1 评论 -
MediaCodec 官方文档中文翻译
MediaCodecMediaCodec 类可以用来访问底层媒体编解码器,如编码器/解码器组件。是Android底层多媒体支持框架的一部分(通常和MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image, Surface, and AudioTrack一起使用)。 广义而言,编解码器通过处理输入数据生成输出数据。它使用一...翻译 2018-05-13 17:18:03 · 1132 阅读 · 0 评论 -
音视频开发第一篇——音视频基础概念。
研究音视频的数字化技术之前,必须对声音和图像的的物理性质有基本的了解。音视频技术的本质就是声音和图像信息的采集、存储和回放。学习音视频的数字化技术,不能上来就去编解码,这样有点本末倒置。通过阅读本文,你将会回顾中学关于光学和声学部分知识,并了解音视频技术中的一些关键概念。声音的物理特性声音的本质是波: 物体通过振动,对空气(传播介质)产生挤压,使空气有节奏的振动并产生疏...原创 2018-04-26 08:49:40 · 2859 阅读 · 1 评论 -
PSI/SI信息表
缩写全称中文说明PSIProgram Specific Information节目引导信息对单一码流的描述SIService Information业务信息对系统中所有码流的描述TSTransport Stream传输流(常称为TS流)一个频道(多个节目及业务)的TS包复用后称TS流TS包Transport Packet传输包数字视...原创 2019-06-24 23:40:01 · 1280 阅读 · 0 评论