Java电子书:FFmpeg从入门到精通 PDF 电子书 Java吧 java8.com
3 b3 d, C- [* y3 L* p; a
. e: l' @0 }) _' c作者:刘歧出版社:机械工业出版社出版时间:2018年04月
% x! n9 `: e7 T6 ?
+ ^: u$ q3 e% H7 P! k' C编号:166-Java吧资源免费-X0233【Java吧 java8.com】; S% N% v/ [4 A: @+ M1 A
8 P+ ?) W1 r# R. X- C! C" w) z9 ^3 p6 v. G( ]7 E4 u) i
5 W6 \! a" W! e; ?6 a1 ?, D2 p
目录:
# w% c' X1 _: P# w目 录
. l0 n* L! }4 N/ S8 f本书赞誉
% M3 G& p* h6 ~/ C$ e4 K推荐序一. b/ Z o1 T# @9 _1 M6 _
推荐序二1 _9 f0 t6 e7 { ?" s
推荐序三
$ C* E4 I5 B4 Z* {/ o2 U, G前言
: h# c( N) K* C# b4 n! s% m5 R部分 FFmpeg的命令行使用篇
# I p# F- c% B第1章 FFmpeg简介 2
8 h r/ b) c7 k! P: [$ z2 Q1.1 FFmpeg的定义 2
, A9 d# ]6 T% W$ L6 C, n; K& X- u1.2 FFmpeg的历史 2
# x8 ~) q% ^% w6 D* y# V1.3 FFmpeg的基本组成 3$ g& w/ c- k' ?% i! P, b4 F
1.4 FFmpeg的编解码工具ffmpeg 6( K$ ?8 V* K& i. g
1.5 FFmpeg的播放器ffplay 9
$ k/ p7 X# x n9 z7 j1.6 FFmpeg的多媒体分析器ffprobe 9
3 t. L2 b! m* i$ S ^# D6 `1.7 FFmpeg编译 11/ X. H, C' z; i" ]
1.7.1 FFmpeg之Windows平台编译 11
4 R f' j3 F9 I, q1 o" B# i1.7.2 FFmpeg之Linux平台编译 13
. a3 G# ]- { w* r1.7.3 FFmpeg之OS X平台编译 15
$ }; e' W1 W9 f1 h1 ~( f/ [0 ]1.8 FFmpeg编码支持与定制 16
, x/ f5 L) j$ F B1.8.1 FFmpeg的编码器支持 240 X& K9 ?8 N$ k+ G" O
1.8.2 FFmpeg的解码器支持 25
( q6 v& R3 f8 Y( m* H' A" p3 Z, ^1.8.3 FFmpeg的封装支持 27& m+ l, G2 d. P. e- Z( @
1.8.4 FFmpeg的解封装支持 28, @; j3 H9 {! v0 z% j2 v
1.8.5 FFmpeg的通信协议支持 29
/ i! _! T) m, t7 @: Z5 a- m1 |: k1.9 小结 291 n. i4 W& n& t0 a6 O+ a
第2章 FFmpeg工具使用基础 30
9 d, W/ X. {1 y2.1 ffmpeg常用命令 30
' C. G6 B Y3 c ?$ Q* t2.1.1 ffmpeg的封装转换 37! l/ N; v5 g5 W/ s8 f
2.1.2 ffmpeg的转码参数 383 d+ L5 d3 G2 s0 Q2 K( Z, X" X
2.1.3 ffmpeg的基本转码原理 388 \# K9 n7 j* N9 c/ f
2.2 ffprobe常用命令 409 m5 M# x1 q E. H
2.3 ffplay常用命令 50
4 N$ E# L* e% Q3 }1 J) z2.3.1 ffplay常用参数 50* y D# D" n1 s7 N' L2 _
2.3.2 ffplay高级参数 538 o; U+ U. H& [2 W5 e( v
2.3.3 ffplay的数据可视化分析应用 57( c8 f* s- ]% u: @: G+ a" v$ |1 N
2.4 小结 59
" \+ C7 x( Q4 T第3章 FFmpeg 转封装 60* ]6 Z& t7 n+ ?, q3 g7 q: d5 E$ [
3.1 音视频文件转MP4格式 607 ~( E" x- K; X i+ R$ ^
3.1.1 MP4格式标准介绍 61
8 h% v- K c$ J W% u3.1.2 MP4分析工具 763 U E1 E, s& q1 ~! X4 k
3.1.3 MP4在FFmpeg中的Demuxer 79
& Y. F9 Z! B+ X, O# R8 ^ ^3.1.4 MP4在FFmpeg中的Muxer 806 T, M9 t5 X$ m1 g0 b, w {
3.2 视频文件转FLV 847 @ l" c3 J+ [: U; P# ]
3.2.1 FLV格式标准介绍 84 z) L* |7 i1 O
3.2.2 FFmpeg转FLV参数 89$ \3 }+ T2 C" ?, k6 J
3.2.3 FFmpeg文件转FLV举例 89
& h3 R& k/ ]" u, f3.2.4 FFmpeg生成带关键索引的FLV 913 _+ _: \- |2 ^; x ?
3.2.5 FLV文件格式分析工具 913 ]0 T$ q( E' ], s ?
3.3 视频文件转M3U8 93
7 _. r5 \9 Q5 ~8 C. G& \1 U3.3.1 M3U8格式标准介绍 93
4 G% u4 j+ ^% Z2 e3.3.2 FFmpeg转HLS参数 95" N+ p0 a9 N5 _: e$ I
3.3.3 FFmpeg转HLS举例 96
+ I! _: R9 P1 [3.4 视频文件切片 105
, O3 j5 I; }/ j2 {3.4.1 FFmpeg切片segment参数 105
$ J( P0 n6 d$ O; E! U* \3.4.2 FFmpeg切片segment举例 106
8 a i1 k/ S6 P3.4.3 FFmpeg使用ss与t参数进行切片 110
! N# |+ O/ W# r ]3.5 音视频文件音视频流抽取 111: V1 v! V. ^( K! R' k
3.5.1 FFmpeg抽取音视频文件中的AAC音频流 111( ^" T& f4 { g4 _
3.5.2 FFmpeg抽取音视频文件中的H.264视频流 1121 K& Y! i0 n5 M" D" E) p
3.5.3 FFmpeg抽取音视频文件中的H.265数据 113
! t; W9 m+ E; L3.6 系统资源使用情况 114
! S* S$ \' y( L, m; D3.7 小结 115
- ]6 `- o& u, r3 q第4章 FFmpeg转码 116
* L* j, l6 ~) Q4.1 FFmpeg软编码H.264与H.265 1168 b8 \2 Z6 t" G* U u
4.1.1 x264编码参数简介 117% @3 h1 p. M0 N
4.1.2 H.264编码举例 1186 P2 M( r" {' X/ \8 n; X
4.2 FFmpeg硬编解码 130
2 S* k5 O" K) Z/ h4.2.1 Nvidia GPU硬编解码 1305 q- I" n& @% n1 ]2 H
4.2.2 Intel QSV硬编码 133
* W" c# Z& v( _8 l4.2.3 树莓派硬编码 1376 y; @8 ?5 W( A% y. P
4.2.4 OS X系统硬编解码 139
4 ]( j7 O/ `# ], X( s4.3 FFmpeg输出MP3 141& r8 C: W9 c5 x
4.3.1 MP3编码参数介绍 1410 n' F' i9 f& J2 |& B5 D
4.3.2 MP3的编码质量设置 142* Q, Q6 x) p6 b
4.3.3 平均码率编码参数ABR 144
( e! {* R: O* A5 p2 r- q2 F4.4 FFmpeg输出AAC 145; ]( p0 O7 I3 g' V7 J& V
4.4.1 FFmpeg中的AAC编码器使用 145 N" s1 f- @ U( e4 J
4.4.2 FDK AAC第三方的AAC编解码Codec库 146$ n- _) f3 w ]9 A' U/ D
4.4.3 高质量AAC设置 148
6 e! o5 a- J" V, r6 o4.4.4 AAC音频质量对比 149
5 [1 H& m O7 f/ A4.5 系统资源使用情况 149/ d* Q3 b. Y) s3 Z2 [; P5 G: s0 q
4.6 小结 1506 B; O, D$ F3 U: Y H' O; h5 X$ u' ?
第5章 FFmpeg流媒体 151
( v; W4 T: ^. `0 e5 G; X5.1 FFmpeg发布与录制RTMP流 151/ E+ V0 N* y: G- z0 t) a
5.1.1 RTMP参数说明 152
' b6 J: I! |2 U% [" f. [! ^5.1.2 RTMP参数举例 152
5 X0 k. L) @+ V2 i2 s: ]3 a3 U" W5.2 FFmpeg录制RTSP流 1599 I; P3 L$ L$ Y9 x* \- C
5.2.1 RTSP参数说明 159
; W0 r# h5 a4 m( z. j/ A2 p5.2.2 RTSP参数使用举例 159% d: I( G* }. R2 |$ f2 G
5.3 FFmpeg录制HTTP流 1632 `/ T e' Q( _6 U z$ V# ]
5.3.1 HTTP参数说明 163/ B3 }: p4 m1 G9 ~- N. T
5.3.2 HTTP参数使用举例 163# V$ e: X; @; K! S
5.3.3 HTTP拉流录制 166
( u3 j- r' S( i+ p" O2 p8 M5.3.4 拉取HTTP中的流录制FLV 166- b) q+ d+ b" ~# ?/ { ]8 L
5.4 FFmpeg录制和发布UDP / TCP流 166" J. m& f7 Q) k. t
5.4.1 TCP与UDP参数说明 166
& u' Q3 M f0 l6 D4 o1 J ~5.4.2 TCP参数使用举例 1678 e! J$ w) j6 H" f5 L- q# U0 v
5.4.3 TCP/UDP使用小结 172$ s: J3 Q- j7 Y( I0 ]
5.5 FFmpeg推多路流 173! c* G- N; X( P
5.5.1 管道方式输出多路流 173
* y& U* G k# F+ l* g# p$ T2 ~7 m/ a5.5.2 tee封装格式输出多路流 174
- }) W# `$ b9 d+ t! u5.5.3 tee协议输出多路流 175
7 @8 d! {+ D6 C, x0 E' M+ b5.6 FFmpeg生成HDS流 176' p q6 @% k- ~5 D" X# T
5.6.1 HDS参数说明 177/ M9 }; H& X* O, y( H# K
5.6.2 HDS使用举例 1773 D1 e0 Z. O! t) D3 J L7 o
5.7 FFmpeg生成DASH流 179
$ m# k4 E3 Z: h# S1 D) t5.7.1 DASH参数说明 180
J; I+ f! @% V2 \6 j) F5.7.2 DASH参数使用举例 1802 f5 s' F/ a1 d. ~7 W- s* I
5.8 小结 181
5 h" \- W5 f2 L8 |$ K第6章 FFmpeg滤镜使用 182$ c" Y2 Z+ d O9 T
6.1 FFmpeg滤镜Filter描述格式 182* U3 Q1 Y; `% C' |; ~$ h; i
6.1.1 FFmpeg滤镜Filter的参数排列方式 182
6 a9 t# F C6 u. K' j* Z6.1.2 FFmpeg滤镜Filter时间内置变量 183
: l5 J' S/ c# e d6.2 FFmpeg为视频加水印 183
. b6 |# j$ ^* U% c: r3 ], s1 T t- V8 @6.2.1 文字水印 183 s+ E! x& J7 }) P! g
6.2.2 图片水印 187
8 I+ h: F* n! R! \- x6.3 FFmpeg生成画中画 189
` T6 z" m2 _9 @6 M1 |: n6.4 FFmpeg视频多宫格处理 1920 N8 H! @5 u& Y# V8 {+ W% ^8 G
6.5 FFmpeg音频流滤镜操作 193
& d! h+ ~- G% c- Z6.5.1 双声道合并单声道 193
6 @+ q% G' Q$ i' ^6.5.2 双声道提取 194
! H; o, N- X; H6.5.3 双声道转双音频流 195# U! Y0 @8 i3 k
6.5.4 单声道转双声道 196
% B% S/ ^- o4 j6.5.5 两个音频源合并双声道 1977 Z9 N0 h' I3 z( d
6.5.6 多个音频合并为多声道 198' K0 R% _. P5 b
6.6 FFmpeg音频音量探测 1994 t0 }# b* c, l( y: q
6.6.1 音频音量获得 199' u0 q2 E% U* R: {2 {
6.6.2 绘制音频波形 200
4 c- N1 y5 i. s9 ]6.7 FFmpeg为视频加字幕 201
$ ], p* l2 L) K" f8 ]6.7.1 ASS字幕流写入视频流 201
9 i! @& D2 T8 |, O+ u( G6.7.2 ASS字幕流写入封装容器 202
a% b+ Z, c& `6.8 FFmpeg视频抠图合并 205
Y* z! Q1 |0 H% ]+ h( Q6.9 FFmpeg 3D视频处理 206: k* w. f+ V* O
6.9.1 stereo3d处理3D视频 206 X* _! M9 ?; L3 C# A" Y
6.9.2 3D图像转换举例 207
" o) V4 T$ W" G( | r& M( h# Z( \: L1 G6.10 FFmpeg定时视频截图 208
2 G3 z4 b( z* P5 } y8 r6.10.1 vframe参数截取一张图片 208
: I; `/ B, S& x0 h9 G% P+ |, E6.10.2 fps滤镜定时获得图片 209, Z3 K# O4 J+ b6 ?5 t8 I( `
6.11 FFmpeg生成测试元数据 210
) r* _2 `" ^; z6 w$ p, A0 E- O6.11.1 FFmpeg生成音频测试流 210( x. U! Q( ]3 b
6.11.2 FFmpeg生成视频测试流 211
& g6 Z# {, f3 B3 m8 |( P# x6.12 FFmpeg对音视频倍速处理 212& Q) h6 x# H P
6.12.1 atempo音频倍速处理 212
0 e7 E/ N. o- C4 w; |6.12.2 setpts视频倍速处理 213
. x- \6 S* l5 `: v# A V6.13 小结 215
@+ w: Z8 r; O7 q2 i/ E+ a! s; A第7章 FFmpeg采集设备 216
) t/ A( H% f! R7 p7.1 FFmpeg中Linux设备操作 2166 G3 ^: }0 O8 [% P
7.1.1 Linux下查看设备列表 2168 t/ S$ x7 C' N/ d( F
7.1.2 Linux采集设备fbdev参数说明 217
8 X9 y7 s. K6 C3 H7 _6 j( J) Y7.1.3 Linux采集设备fbdev使用举例 217
+ W2 q; n# c$ Z( X" {* ?+ J7.1.4 Linux采集设备v4l2参数说明 218
2 x( `, D" w C, K; y% t7.1.5 Linux采集设备v4l2使用举例 2180 D" D- [" `9 V; a: J$ M
7.1.6 Linux采集设备x11grab参数说明 220$ B2 {1 P* ^/ o3 v6 x# Y
7.1.7 Linux采集设备x11grab使用举例 220' C! i' p) ^: t. u( M, N7 G
7.2 FFmpeg中OS X设备操作 222
* U" E# l! N4 X* f( N7.2.1 OS X下查看设备列表 223+ J' z' P' C8 g% m7 n% K
7.2.2 OS X下设备采集举例 223
) Z; b* C$ X$ o* D6 h `7 o' }/ b7.3 FFmpeg中Windows设备操作 227
8 q) t+ l" @: i7.3.1 FFmpeg使用dshow采集音视频设备 2277 n) ^8 z2 M9 f7 Y0 [/ R
7.3.2 FFmpeg使用vfwcap采集视频设备 228
- W6 B2 \) o1 D% C( C8 y7.3.3 FFmpeg使用gdigrab采集窗口 229
4 |# |- j" Y9 B5 S7.4 小结 230
9 S8 v! P3 n: n ~% s8 `7 k$ n1 \' R第二部分 FFmpeg的API使用篇
, g( i1 l# z4 R第8章 FFmpeg接口libavformat的使用 232$ M. F* S! ]; k, z _
8.1 音视频流封装 2329 R3 y& H- M1 Q: E4 S2 a
8.2 音视频文件解封装 235! n7 `4 o6 I2 b3 E
8.3 音视频文件转封装 237, Z2 U* T9 _7 @6 X
8.4 视频截取 240
2 m2 p+ x. u, s8.5 avio内存数据操作 242; I3 T5 Y7 p3 J' Y% ~
8.6 小结 244, I3 |! m1 q! J. V
第9章 FFmpeg接口libavcodec的使用 245; X7 q( h5 H" |5 C) K
9.1 FFmpeg旧接口的使用 245# x* C, N) Z1 ~. L
9.1.1 FFmpeg旧接口视频解码 2454 S2 i+ s& A2 O: |" `
9.1.2 FFmpeg旧接口视频编码 248" n( d% n" Q! t3 h. s9 N
9.1.3 FFmpeg旧接口音频解码 251
; p3 q1 c, a# y u9.1.4 FFmpeg旧接口音频编码 252, O. X2 e, \) Z7 X3 y$ h5 c
9.2 FFmpeg新接口的使用 2545 |5 z# B% [6 L+ V7 j
9.2.1 FFmpeg新接口音频编码 2550 B5 Z( w& l1 o/ @- N9 H
9.2.2 FFmpeg新接口音频解码 257
6 C% b8 S/ {. G+ H. d9.2.3 FFmpeg新接口视频编码 260
/ a) ^: P- s3 S5 ]9.2.4 FFmpeg新接口视频解码 2600 e/ F3 ^0 f- `( \7 F- w/ u* i: _
9.3 小结 261' U+ }7 o& h! _
第10章 FFmpeg接口libavfilter的使用 262
/ N7 { V3 A9 H10.1 filtergraph和filter简述 262
$ Z: f4 B0 z# Z! Y+ s3 ~0 w10.2 FFmpeg中预留的滤镜 263 j! p6 A, H9 }
10.2.1 音频滤镜 263
6 t: M! U8 n/ Q10.2.2 视频滤镜 265
, a+ I; Z/ R5 }7 a/ j10.3 avfilter流程图 271$ ?& P5 b1 a4 R. A8 g1 Q
10.4 使用滤镜加LOGO操作 272
# t+ @* Q( ?& ]10.5 小结 275 ]5 T& B( d$ p. M# n. ~
. q6 F! P8 j! _% A3 l
3 e. Z$ o4 @# @( ` ?# i2 @; a
百度云盘下载地址(完全免费-绝无套路):
$ E- N2 J2 Z5 i, Q4 l' W' o' @, i/ F0 p4 G
本资源由Java吧收集整理【www.java8.com】
, U4 t9 |5 ^2 w5 p' Z
+ t J; b' t( h2 c, |
9 O% J% T8 A# m! ~: x3 E
7 w) J2 g& r2 w/ G: I& f, D" ?! j( W1 c+ Y
/ N9 j1 v) s6 H' l6 N" @, y2 u- p3 i: X# F1 u; ^0 s
|