FFmpeg音视频开发
-
NDK21编译ffmpeg5.0.1 | FFmpeg音视频开发14
对于想要学习音视频开发的android开发者来说,使用NDK对FFmpeg进行交叉编译是一道必须迈过去的坎,网上关于使用NDK对FFmpeg进行交叉编译的教程有很多, 但是不经修改…
-
ffplay音视频同步 | FFmpeg音视频开发13
对于音视频同步是有三种方案的,一种是以外部时钟为基准,音频时钟和视频时钟在播放时都以外部时钟为参考系,谁快了就等待,慢了就丢帧;第二种是以视频时钟为基准, 音频时钟在播放的过程中参…
-
ffplay音视频解码线程 | FFmpeg音视频开发12
前面我们介绍了ffplay的调试环境集成、ffplay总体架构、ffplay的读取线程等相关内容,今天介绍下ffplay解码线程工作流程。 因为视频解码和音频解码的过程大概一致,因…
-
ffplay如何读取数据线程 | FFmpeg音视频开发11
在前面我们介绍了ffplay的总体架构和一些关键的数据结构。今天我们还是从这张图开始,主要介绍ffplay的读取线程部分。 从ffplay的main函数入口开始阅读源码,发现是在函…
-
ffplay整体框架 | FFmpeg音视频开发10
虽说ffplay是一个简单的播放器,但是其实内部一点也不简单,其实笔者也不知道说它简单的理由是什么,是因为它只有一个点c文件??? ffplay内部细节繁多,想要深入分析不单单要掌…
-
ffplay调试环境搭建 | FFmpeg音视频开发9
ffplay是基于FFmpeg的最简单的官方播放器。麻雀虽小,五脏俱全,虽说ffplay简单,但是各种播放器应有的功能一一俱全,说它简单或许仅仅是因为它只有一个点c文件而已吧。 想…
-
FFmpeg视频合并以及替换视频背景音乐实战 | FFmpeg音视频开发8
通过前面的实战,我们实现音视频解封装提取、音视频解码、音视频编码、音频重采样等的功能,今天我们就结合之前所做的功能, 来做一个短视频APP中常见的功能: 1、提取多个mp3文件中的…
-
FFmpeg mp3转码aac | FFmpeg音视频开发7
如今以抖音、快手为代表的短视频秀无处不在,比如它们一个很普通的功能就是使用流行音乐替换作为视频的背景音乐。而在视频中音频一般都是以AAC的形成存在,但流行音乐大多以mp3的格式传播…
-
FFmpeg音频重采样 | FFmpeg音视频开发6
今天我们的实战内容是将音频解码成PCM,并将PCM重采样成特定的采样率,然后输出到本地文件进行播放。 什么是重采样 所谓重采样,一句话总结就是改变音频的三元素,也就是通过重采样改变…
-
FFmpeg音视频编码 | FFmpeg音视频开发5
在前面的我们使用FFmpeg进行相关实践,对音视视频进行了解封装、解码等相关操作,今天我们继续使用FFmpeg进行实践,使用FFmpeg进行音视频编码。 任务一:在前面《FFmpe…
-
FFmpeg音频解码 | FFmpeg音视频开发4
前面我们介绍了使用FFmpeg解码视频,今天我们使用FFmpeg解码音频。我们的目标将mp4中的音频文件解码成PCM数据,并输出到本地文件,然后使用ffplay播放验证。 音频的解…
-
FFmpeg视频解码AVFrame | FFmpeg音视频开发3
在前面我们介绍了FFmpeg的解封装,并且实现了提取视频文件中的音频流和视频流单独输出,使用ffplay播放验证, 今天我们使用FFmpeg解码视频流,将视频解码为YUV并输出到文…
-
FFmpeg分离视频和音频 | FFmpeg音视频开发2
前面我们搭建好了FFmpeg的开发环境,今天我们就来小试牛刀,使用FFmpeg库对mp4文件进行解封装,提取mp4中的视频流和音频流输出到单独的输出文件中。关于FFmpeg开发环境…
-
FFmpeg开发环境搭建基于Mac CLion工具 | FFmpeg音视频开发1
之前笔者从事安卓开发的时候想要学习音视频实践,脑子里面想的是要是有专门针对安卓开发的FFmpeg教程就好了。慢慢地发现这个想法很不靠谱,因为那时关于音视频的相关教程本来就少,如果还…