V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
loken2020
V2EX  ›  程序员

《FFmpeg 原理》第一版完成了

  loken2020 · 84 天前 · 7953 次点击
这是一个创建于 84 天前的主题,其中的信息可能已经有所发展或是发生改变。
本书《 FFmpeg 原理》主要讲解 FFmpeg 原理性的知识,前面几章主要讲解一些音视频开发的基础知识,例如原始数据 YUV 跟 RGB ,封装格式 FLV 跟 MP4 ,压缩编码的基本概念,还有封装格式分析。

前面几章是音视频开发,流媒体技术的基础,后面的章节主要讲解如何搭建 FFmpeg 各种调试环境,同时提供 FFmpeg API 函数的使用示例,最重要的是 分析 ffmpeg.c 跟 ffplay.c 的源码逻辑。

虽然官方没有提供太详细的 API 函数文档教程,但是官方提供了 ffmpeg.c 文件 ,大部分的 API 函数使用方法,都在这个文件的源码里面。

基本上你用到的 FFmpeg 命令行 的所有功能,都是在 ffmpeg.c 里面实现的。包括 转换封装格式,转换编码格式,单独提取音频数据,给视频加滤镜 ,等等这些功能,都是在 ffmpeg.c 里面实现的。

本书会用大量章节来分析 ffmpeg.c 里面的内部逻辑,让读者能从 整体上 理解 FFmpeg API 的使用。对 FFmpeg API 形成系统的理解之后,即便新版本的 FFmpeg 修改了 API 函数的用法,你也能从 ffmpeg.c 里面快速学会新版本的 API 函数的用法。

https://ffmpeg.xianwaizhiyin.net/
56 条回复    2022-11-15 10:38:26 +08:00
Syiize
    1
Syiize  
   84 天前 via Android
感谢楼主分享😋
GTim
    2
GTim  
   84 天前
感谢楼主分享,我有一个问题:Ffplay 定制下可以实时预览 Ffmpeg 的那些特效么?
loken2020
    3
loken2020  
OP
   84 天前
@GTim 有一些特效滤镜可以,ffplay 本身有 -vf 选项来定义滤镜,不过 ffplay 支持的滤镜有限,只支持简单滤镜,复杂滤镜不支持。
book1925
    4
book1925  
   84 天前
感谢分享
Verdure
    5
Verdure  
   84 天前
感谢分享
feather12315
    6
feather12315  
   84 天前 via Android
牛,感谢分享
Ranler
    7
Ranler  
   84 天前
感谢分享
whywaoxaks
    8
whywaoxaks  
   84 天前
FFmpeg 原理,不应该是《信源编码》课本么?😂
closedevice
    9
closedevice  
   84 天前
很不错。。。支持
GTim
    10
GTim  
   84 天前
@loken2020 那些大厂的视频编辑的预览,是不是在 ffplay 上定制的呢?感觉只能自己去定制了
ieliwb
    11
ieliwb  
   84 天前
为楼主的奉献点赞
loken2020
    12
loken2020  
OP
   84 天前
@GTim 视频编辑,剪辑软件,一般不是基于 ffplay 改的。你可以看一下 MLT 多媒体编辑框架,github.com/mltframework/mlt
wildlynx
    13
wildlynx  
   84 天前
谢谢分享
SUP7R9
    14
SUP7R9  
   84 天前 via Android
感谢分享
wangzhiyu
    15
wangzhiyu  
   83 天前
👍
nong99
    16
nong99  
   83 天前 via Android
谢谢分享
freefcw
    17
freefcw  
   83 天前
楼主很赞!
mangoDB
    18
mangoDB  
   83 天前
感谢分享
lifeintools
    19
lifeintools  
   83 天前
感谢分享
cssk
    20
cssk  
   83 天前 via iPhone
想请教一下楼主,rgb888 的 uvc ,为什么有些播放器图像是正的,有些是倒的,amcap ,vlc 之类表现不一样
m1ng
    21
m1ng  
   83 天前
感谢分享
wpei
    22
wpei  
   83 天前
最近正接触到这方面,刚好想去学习一下,感谢分享
610915518
    23
610915518  
   83 天前
感谢分享
safari9
    24
safari9  
   83 天前
学习下,感谢分享
MrKrabs
    25
MrKrabs  
   83 天前
谢谢分享
kevinlia0
    26
kevinlia0  
   83 天前
感谢分享,楼主很赞!!👍🏻
ijrou
    27
ijrou  
   83 天前
牛,感谢分享
liuguang
    28
liuguang  
   83 天前
好东西啊,感谢分享
newlifeinsc
    29
newlifeinsc  
   83 天前
感谢分享,没接触过音视频开发,以后学的时候来看
dream4ever
    30
dream4ever  
   83 天前
多谢分享,超级干货。
fenmuer
    31
fenmuer  
   83 天前
感谢分享
a90120411
    32
a90120411  
   83 天前
感谢分享!
lidalu
    33
lidalu  
   83 天前 via Android
感谢分享
tairan2006
    34
tairan2006  
   83 天前
为啥还在用 msys2 ,直接 wsl2 走起啊
dobelee
    35
dobelee  
   83 天前
感谢分享
lukaz
    36
lukaz  
   83 天前
感谢分享
lzynb
    37
lzynb  
   83 天前
感谢大佬分享
SP00F
    38
SP00F  
   83 天前
感谢分享,另外不知道有没有提供 PDF 版?碎片时间方便 iPad 阅读 😃
loken2020
    39
loken2020  
OP
   83 天前
@SP00F 没有 PDF
jifengg
    40
jifengg  
   83 天前
点个赞。我作为只会使用 ffmpeg.exe 的人来说,实在是佩服楼主。
jifengg
    41
jifengg  
   83 天前
@GTim 我在 windows 下使用 ffmpeg.exe 时,是如何预览效果的:

ffmpeg <...> -f mpegts - | ffplay -

mpegts 可以换成其他流式的封装,如 mkv
GTim
    42
GTim  
   83 天前
@jifengg 的确,谢谢
Zizpop
    43
Zizpop  
   83 天前
mark 了, 周末学习学习, 技多不压身.
谢谢题主, 互联网会铭记你
Flylcw
    44
Flylcw  
   83 天前
学习了,感谢楼主给我们铺的路
acerest
    45
acerest  
   82 天前
感谢分享!
MXXXXXS
    46
MXXXXXS  
   82 天前
感谢楼主分享!
296727
    47
296727  
   82 天前
赞👍
zzxCNCZ
    48
zzxCNCZ  
   82 天前
感谢楼主分享😋
wodong
    49
wodong  
   82 天前
感谢楼主分享
asm
    50
asm  
   82 天前
感谢大佬分享!
zzwyh
    51
zzwyh  
   82 天前
感谢分享
luozic
    52
luozic  
   82 天前
感谢分享
shellcmd
    53
shellcmd  
   82 天前 via Android
我想請教下各位大佬:流媒體 WEB-DL 回來的視頻,在播放器文件屬性裡顯示的是 progressive 逐行掃描,然而播放的時候仍然有隔行掃描的後遺症比如有橫紋,格柵。這個時候可以怎樣快速去隔行?是否有專門的濾鏡幹這事兒,還是犧牲一點碼率和時間重新編碼,又或者不處理視頻,只在播放器裡開啟反交錯?
merlinX
    54
merlinX  
   82 天前
感谢楼主分享
RangerWolf
    55
RangerWolf  
   82 天前
楼主写得实在是太好了,有很多基础知识让我查缺补漏
duty
    56
duty  
   82 天前
为什么最近发现这个 ffmpeg 突然越来越多的进入我的视野,我看了一下,也不是新出来的呀
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1425 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 42ms · UTC 03:27 · PVG 11:27 · LAX 19:27 · JFK 22:27
Developed with CodeLauncher
♥ Do have faith in what you're doing.