音视频
有心好书
种一棵树最好的时间是十年前,其次是现在
展开
-
音视频资料清单(相关资料最终都收集到这里)
学习路线及综合 Android音视频开发入门指南 http://blog.51cto.com/ticktick/1956269 先学习基础播放器,再看解析 https://blog.csdn.net/zuo_er_lyf/article/details/82629847 https://blog.csdn.net/moonpure/article/details/52093737 学习方法: 输出倒逼、分享搞起来...原创 2020-10-15 15:17:32 · 1413 阅读 · 1 评论 -
so库远程加载方案管中窥豹
0x01.为什么要so库远程加载?(又叫动态加载)so体积过大,如果直接集成在apk里面的话,会造成包体积膨胀。所以有了这种方案。运行app的时候,在需要的时候再去下载so库。这样可以减少apk的体积,并且对于推广收益很大。当然不只so库可以这样,所有体积比较大的资源都可以采用这种方案。0x02.动态加载so库方案原理Android加载so文件的方式有两种:System.loadLibra...原创 2019-10-25 15:57:10 · 893 阅读 · 1 评论 -
音视频学习思考实践活动进展Post
2019-10-12ijk预加载moov段前置so远程加载faceunity原创 2019-10-12 17:39:01 · 893 阅读 · 0 评论 -
FFmpeg说明
FFmpeg 历史FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译...原创 2018-11-16 21:28:58 · 1538 阅读 · 0 评论 -
一些音视频相关概念学习笔记
什么是窄带高清?窄带节省不必要的bits,高清是把bits分配到最能产生价值的地方,从而实现,在同样的带宽条件下收看更加清晰的画质。https://www.jianshu.com/p/3662ed5fd0e7https://blog.csdn.net/maoreyou/article/details/80049141阿里巴巴 江文斐:窄带高清,打造新优酷极致体验https://mysli...原创 2019-07-14 14:56:29 · 805 阅读 · 0 评论 -
Android图形架构学习笔记(待修改)
以下简单总结来自Android官网,稍作总结:https://source.android.google.cn/devices/graphics概览Android应用开发者可通过两种方式将图像绘制到屏幕上:使用 Canvas 或 OpenGL。android.graphics.Canvas 是一个 2D 图形 API,而且是最受开发者群体青睐的图形 API。Canvas 运算可在 Andr...原创 2019-08-25 16:23:04 · 443 阅读 · 0 评论 -
C语言语法简单复习
word编写最近在看ijk源码,发现ijk底层源码基本都是C语言编写的。看来有必要简要回顾下大学的c语言语法了。01. 分类 C语言 备注 语言由来 1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言 ...原创 2019-08-25 17:31:27 · 1533 阅读 · 1 评论 -
动手写一个抖音首页的效果
如何实现一个抖音首页的沉浸式视频播放效果01.疑问怎么实现一个顺畅的类似抖音的沉浸式播放效果02.方案方案1:viewpager+复用,低端机教卡方案2:recycleview,比较顺畅方案3:viewpager203.实现public class TestActivity extends BaseActivity { LinearLayoutManager mLinear...原创 2019-09-20 19:28:38 · 716 阅读 · 0 评论 -
Android笔记之使用CMake进行JNI开发(Android Studio)
不知道有多少朋友像我一样,被Android NDK开发的环境配置折腾到吐,然后放弃。从事Android工作几年了,也不太愿意接触NDK开发。不过福利终于来了,新的AS中开始使用CMake开发jni,开发c跟开发java一样简单,你只需单纯的执着于业务目标,跟折腾环境说拜拜。那我们现在就开始吧!环境需求要进行jni开发,AS需要以下环境:方式一、在工程创建的时候添加首先使用AS(3.0)新...转载 2018-11-18 17:30:05 · 323 阅读 · 0 评论 -
视频处理——添加滤镜效果
视频处理——添加滤镜效果 前段时间学习了视频编解码,感觉比较枯燥,因为实际应用的少且偏理论,导致学习效果比较差。 后来思考了一下,怎么去提高学习效果。得出一个结论,先设定一个目标,然后全力去把这个东西做出来,之后再自上到下的去吃透效果会好一些。有反馈有趣才会有动力去继续学习。引入这篇博客的目的是基于GpuImage库实现给视频增加滤镜效果的功能。问题:GpuI...原创 2018-09-10 18:33:57 · 2668 阅读 · 0 评论 -
MediaExtractor&MediaMuxer解析和封装MP4文件
MediaExtractor API介绍MediaExtractor主要用于多媒体文件的音视频数据的分离。 该类主要用于音视频混合数据的分离,接口比较简单,首先要通过setDataSource(String path)函数设置数据源,数据源可以是本地文件地址,也可以使用HTTP协议的网络码流地址。然后,可以通过下面的代码块,来获取码流的详细信息,如:MimeType,分辨率、编码格式、码...转载 2018-08-28 19:35:15 · 1177 阅读 · 0 评论 -
硬编码和软编码
工作中,经常被问硬编码、软编码怎么区分的问题,还是对这个问题整理一下吧。转载 2018-08-03 17:08:17 · 4530 阅读 · 1 评论 -
MediaCodec基本原理及使用
MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合使用,能够编解码诸如H.264、H.265、AAC、3gp等常见的音视频格式。广义而言,MediaCodec的工作原理就是处理输入数据以产生输出数据。具体来说,MediaCodec在编解码的过程中使用了一组输入/输出缓存区来同步或异步处理数据:首先,客户端向获取到的编解码器输入缓存区写入要编解码的数据并将其提交转载 2018-08-06 16:07:24 · 36048 阅读 · 1 评论 -
mediacodec使用涉及的相关API介绍
MediaExtractor类说明MediaExtractor相当于一个reader,它用于读取媒体文件,并提取出其中的视音频数据。MediaExtractor的作用是把音频和视频的数据进行分离。主要API介绍:setDataSource(String path):即可以设置本地文件又可以设置网络文件 getTrackCount():得到源文件通道数 getTrackForm...转载 2018-08-10 16:51:55 · 1009 阅读 · 0 评论 -
mp4parser库
功能介绍https://github.com/sannies/mp4parserJava MP4 Parser是一个读取和写入MP4容器的java api。直接操作容器而不是对音视频进行编解码。功能:MP4parser的典型功能如下:混合音频视频到MP4文件中合并同样编码设置的MP4文件增加或者改变MP4文件的metadata通过省略帧的方式分割MP4文件例子采用的...原创 2018-08-02 18:11:34 · 8300 阅读 · 2 评论 -
音轨与声道区别
音轨与声道区别音轨过去,当歌手在录音棚里录音的情况跟现在大不一样 就是让歌手和乐队一起录音 歌手一边唱,乐队一边伴奏 然后录音机把这些声音一起录下来。 大多数读者都认为录音就是这样录 而且过去也的确这样录的 不过这样录音有一个很不方便的地方 那就是,如果歌手唱错了,录音师要歌手从新开始唱 那么乐队也要重新开始伴奏 如果歌手唱错一两次还没大关系 如...转载 2018-08-28 17:54:39 · 3477 阅读 · 0 评论 -
MimeType、码流、码率、比特率、帧速率、分辨率、高清概念理解
码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清/MimeType码流 / 码率 码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,通俗一点的理解就是取样率,是视频编码中画面质量控制中最重要的部分,一般我们用的单位是kb/s或者Mb/s。一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越...转载 2018-08-28 18:12:50 · 1938 阅读 · 0 评论 -
音视频开发系列1:音视频开发基本概念
视频文件的本质一张图音视频技术=封装技术+视频压缩编码技术+音频压缩编码技术+流媒体协议技术每个阶段做了什么?一.采集采集内容1.音频采集面临问题:延时敏感、噪音消除、回声消除、静音检测等 主要参数:采样率、位宽、声道数、音频帧2.图像采集面临问题:设备兼容性差、延时敏感、卡顿敏感以及图像处理如美颜和水印等 主要参数:图像传输格式,图像格...原创 2018-03-09 11:55:29 · 8501 阅读 · 5 评论