FFmpeg开发笔记(十七)Windows环境给FFmpeg集成字幕库libass

5 月 19 日
阅读 7 分钟
20
​libass是一个适用于ASS和SSA格式(Advanced Substation Alpha/Substation Alpha)的字幕渲染器,支持的字幕类型包括srt、ass等,凡是涉及到给视频画面添加字幕,均需事先集成libass。
封面图

FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库

5 月 18 日
阅读 2 分钟
23
​《FFmpeg开发实战:从零基础到短视频上线》一书的例程主要测试本地的音视频文件,当然为了安全起见,很多网络视频都采用了https地址。FFmpeg若要访问https视频,就必须集成第三方的openssl库,但编译FFmpeg时却默认关闭了openssl。为了让App能够播放采用https的在线视频,需要编译安装并启用openssl。
封面图

FFmpeg开发笔记(十五)详解MediaMTX的推拉流

5 月 16 日
阅读 2 分钟
35
​MediaMTX是个开源的轻量级流媒体服务器,它的安装过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2  FFmpeg向网络推流”。MediaMTX下载后的压缩包包括可执行程序mediamtx.exe和配置文件mediamtx.yml,看起来非常简约,但它提供的流媒体服务一点也没缩水。双击mediamtx.exe,MediaMTX弹出一个命令行窗口,...
封面图

FFmpeg开发笔记(十四)FFmpeg音频重采样的缓存

5 月 13 日
阅读 2 分钟
34
​FFmpeg在很多地方都运用了缓存机制,比如《FFmpeg开发实战:从零基础到短视频上线》一书的“3.3.2  对视频流重新编码”介绍了编解码的数据缓存,不单是视频编码过程和视频解码过程有缓存,甚至连音频重采样都用到了缓存。
封面图

FFmpeg开发笔记(十三)Windows环境给FFmpeg集成libopus和libvpx

5 月 12 日
阅读 3 分钟
39
​MP4是最常见的视频封装格式,在《FFmpeg开发实战:从零基础到短视频上线》一书的“1.2.3  自行编译与安装FFmpeg”介绍了如何给FFmpeg集成x264和x265两个库,从而支持H.264和H.265两种标准的编解码。
封面图

FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx

5 月 11 日
阅读 2 分钟
57
​MP4是最常见的视频封装格式,在《FFmpeg开发实战:从零基础到短视频上线》一书的“1.2.3  自行编译与安装FFmpeg”介绍了如何给FFmpeg集成x264和x265两个库,从而支持H.264和H.265两种标准的编解码。
封面图

FFmpeg开发笔记(十一)Windows环境给FFmpeg集成vorbis和amr

5 月 10 日
阅读 4 分钟
38
​FFmpeg内置了aac音频格式,在《FFmpeg开发实战:从零基础到短视频上线》一书的“5.2.2  Linux环境集成mp3lame”又介绍了如何给FFmpeg集成mp3格式,常见的音频文件除了这两种之外,还有ogg和amr两种格式也较常用。其中ogg格式的编解码依赖于libogg和libvorbis,而amr格式的编解码依赖于opencore-amr。前文介绍了在Linux环...
封面图

FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr

5 月 7 日
阅读 3 分钟
29
​FFmpeg内置了aac音频格式,在《FFmpeg开发实战:从零基础到短视频上线》一书的“5.2.2  Linux环境集成mp3lame”又介绍了如何给FFmpeg集成mp3格式,常见的音频文件除了这两种之外,还有ogg和amr两种格式也较常用。其中ogg格式的编解码依赖于libogg和libvorbis,而amr格式的编解码依赖于opencore-amr。因此要先安装编译这三...
封面图

FFmpeg开发笔记(九)Linux交叉编译Android的x265库

5 月 5 日
阅读 3 分钟
38
​《FFmpeg开发实战:从零基础到短视频上线》一书的“12.1.2  交叉编译Android需要的so库”介绍了如何在Windows环境交叉编译Android所需FFmpeg的so库,前文又介绍了如何在Linux环境交叉编译Android所需FFmpeg的so库,接下来介绍如何在Linux环境交叉编译Android所需x265的so库。
封面图

FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库

5 月 4 日
阅读 2 分钟
46
​《FFmpeg开发实战:从零基础到短视频上线》一书的“12.1.2  交叉编译Android需要的so库”介绍了如何在Windows环境交叉编译Android所需FFmpeg的so库,接下来介绍如何在Linux环境交叉编译Android所需FFmpeg的so库。
封面图

FFmpeg开发笔记(七)欧拉系统编译安装FFmpeg

5 月 1 日
阅读 5 分钟
35
FFmpeg支持Linux、macOS、Windows、Android等操作系统,其中Linux系列包括Ubuntu、Debian、Mint、CentOS、RHEL、Fedora等分支。FFmpeg官网的编译入口地址为[链接],在这里可以找到FFmpeg对各系统的编译说明。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。
封面图

FFmpeg开发笔记(六)如何访问Github下载FFmpeg源码

4 月 28 日
阅读 2 分钟
33
学习FFmpeg的时候,经常要到GitHub下载各种开源代码,比如FFmpeg的源码页面位于[链接]。然而国内访问GitHub很不稳定,经常打不开该网站,比如在命令行执行下面的ping命令。
封面图

FFmpeg开发笔记(五)更新MSYS的密钥环

4 月 27 日
阅读 3 分钟
41
《FFmpeg开发实战:从零基础到短视频上线》一书提到:使用MSYS对FFmpeg进行交叉编译时,需要事先安装交叉编译工具链,也就是执行下面命令。
封面图

FFmpeg开发笔记(四)FFmpeg的动态链接库介绍

4 月 21 日
阅读 2 分钟
68
FFmpeg不仅提供了ffmpeg、ffplay和ffprobe三个可执行程序,还提供了八个工具库,使得开发者能够调用库里面的函数,从而实现更精准的定制化开发需求。这八个库的名字是avcodec、avdevice、avfilter、avformat、avutil、postproc、swresample、swscale,下面分别对这些库展开介绍。更多详细的FFmpeg开发知识参见《FFmpeg开...
封面图

FFmpeg开发笔记(三)FFmpeg的可执行程序介绍

4 月 21 日
阅读 3 分钟
53
外界对于FFmpeg主要有两种使用途径,一种是在命令行运行FFmpeg的可执行程序,该方式适合没什么特殊要求的普通场景;另一种是通过代码调用FFmpeg的动态链接库,由于开发者可以在C代码中编排个性化的逻辑,因此该方式适合厂商专用的特制场景。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。
封面图

FFmpeg开发笔记(二)搭建Windows系统的开发环境

4 月 21 日
阅读 2 分钟
73
由于Linux系统比较专业,个人电脑很少安装Linux,反而大都安装Windows系统,因此提高了FFmpeg的学习门槛,毕竟在Windows系统搭建FFmpeg的开发环境还是比较麻烦的。不过若有已经编译好的Windows版本FFmpeg开发包,那就免去了繁琐的Windows编译过程,所以直接安装已编译的FFmpeg开发包,还是相对容易的。在Windows系统安装...
封面图

FFmpeg开发笔记(一)搭建Linux系统的开发环境

4 月 20 日
阅读 3 分钟
70
对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库,即可着手编写简单的FFmpeg程序。比如这...
封面图