![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频学习
文章平均质量分 63
shanshenyuyou
这个作者很懒,什么都没留下…
展开
-
音视频同步机制
比如一个视频中,帧的显示顺序是:I B B P,因为B帧解码需要依赖P帧,因此这几帧在视频流中的顺序可能是:I P B B,这时候就体现出每帧都有 DTS 和 PTS 的作用了。对于起播阶段,特别是TS实时流,由于视频解码需要依赖第一个I帧,而音频是可以实时输出,可能出现的情况是视频PTS超前音频PTS较多,这种情况下进行同步,势必造成较为明显的慢同步。也就是其在时间相关性上,还依赖后面的视频帧,也正是由于 B 帧图像采用了后面的帧作为参考,因此造成视频帧的传输顺序和显示顺序是不同的。转载 2022-11-01 16:19:46 · 216 阅读 · 0 评论 -
以mediacodec::getName为例单讲PostAndAwaitResponse的使用
从上面的代码可以看出,postAndAwaitResponse()和postReply()必须出成对出现的。其实这就是一个线程间异步通信的过程。postAndAwaitResponse()是AMessage的一个成员函数,从函数名称可以看出,调用postAndAwaitResponse(),不仅仅post消息,而且还需要等待Response。获取(插件编解码器)组件名,根据下面实现可知,也就是MediaCodec自身接收【kWhatGetName】事件消息,并且是同步线程执行,成功则取出该组件名。原创 2022-10-20 10:31:54 · 212 阅读 · 0 评论 -
Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期
版权声明:我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动.转载务必转载所有,且须注明出处。否则保留追究法律责任 https://blog.csdn.net/hejjunlin/art...转载 2019-07-27 13:52:53 · 313 阅读 · 0 评论 -
GStreamer基础教程01——Hello World
目标 对于一个软件库来说,没有比在屏幕上打印出Hello World更近直观的第一印象了。因为我们是在和一个多媒体的framework打交道,所以我们准备播放一段视频...转载 2019-09-04 09:49:19 · 196 阅读 · 0 评论 -
1. Android MultiMedia框架完全解析 - 从开机到MediaServer的注册过程
版权声明:本文为博主原创文章,...转载 2019-07-23 19:04:46 · 343 阅读 · 0 评论 -
视频压缩:I帧、P帧、B帧 关键帧
**说明: 1.本文通过整理而来,集多个高手的精华,此为最重点!!! 2.因为在海思平台做多媒体视频处理,所以了解I帧、P帧、B帧等压缩-编解码特点是必须的。 3.海思I帧间隔即GOP取值范围:[0, 1000],以帧为单位,为动态属性。 4.欢迎拍砖。*********************************...转载 2019-07-04 13:20:17 · 570 阅读 · 0 评论 -
Android Binder机制原理(史上最强理解,没有之一)(转)
Android Binder机制原理(史上最强理解,没有之一)(转)原文地址: http://blog.csdn.net/universus/article/details/6211589Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有的进程间通信IPC手段包括(Internet Process Connection): 管道(Pipe)、信号(Signal)和...转载 2019-05-24 17:30:02 · 3609 阅读 · 3 评论 -
音视频学习
现在音视频如此火爆,作为一枚专业的程序媛哪能不懂音视频的开发呢,所以踏上了音视频研究之路。对于ios来说音视频编解码主要有两种编解码框架FFmpeg和苹果ios8以后开放的Vid...转载 2019-05-22 11:41:08 · 452 阅读 · 0 评论 -
音视频学习参考
原文地址:http://blog.yundiantech.com/?log=blog&id=4 所谓视频,其实就是将一张一张的图片连续的放出来,就像放幻灯片一样,由于人眼的惰性,因此只要图片的数量足够多,就会觉得是连续的动作。 所以,只需要将一张一张的图...转载 2019-05-22 15:12:59 · 198 阅读 · 0 评论 -
音视频学习之路简述
音视频开发学习——转知乎答案著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:姚冬链接:http://www.zhihu.com/question/31156766/answer/54645514来源:知乎我们先假设某人在音视频方面是零基础,也没学过任何数字信号处理相关知识,数学基础基本是高中水准,但是熟悉 C/C++ 开发,至少熟悉某一个平台下的编译调试IDE...转载 2019-05-22 16:24:34 · 476 阅读 · 0 评论 -
Android 之MediaPlayer类相关函数调用过程
本篇是分析Android设备系统用MediaPlayer类播放视频过程中各个类或函数相互调用的过程,只分析主干过程,不死磕细枝末节, 且着墨于Native层C++的实现,本人资历学识浅薄,忘各位批评指正,多加交流!既然要分析视频播放时的函数调用过程,必然要有一个主干流程可抓,下面就是一个典型的播放序列——一小段Java应用程序,我们以此为主干流程加以分析:A块代码如下: Media...原创 2019-06-05 15:47:20 · 895 阅读 · 0 评论 -
【stagefrightplayer】1 调用过程
概述android中的多媒体播放结构是:client-server模式client端对应的类是:MediaPlayer -- framework/base/media/java/android/media/MediaPlayer.javaserver端对应的类是:MediaPlay...转载 2019-06-03 15:29:25 · 310 阅读 · 0 评论 -
AwesomePlayer实现过程分析
在Android的多媒体框架中,stagefrightplayer是对Awesomeplayer的封装,是AwesomePlayer的代理,所以这里面实际干活的当然是我们今天的主角-AwesomePlayer。AwesomePlayer说白了也是一个普通的播放器,他与VCL、mplayer、ffmpeg等开源的结构是一致的,只是实现的方式有所不同,这里就按照以下四个步骤来分析AwesomePlay...原创 2019-06-11 17:49:18 · 6501 阅读 · 6 评论 -
android MediaPlayer NuPlayer以及Android MediaPlayerService解析
MediaPlayer通常MediaPlayer的调用逻辑是,构造函数-> setDataSource -> SetVideoSurfaceTexture-> prepare/prepareAsync -> start-> stop-> reset...转载 2019-05-24 17:22:54 · 1675 阅读 · 0 评论