TA的每日心情 | 开心 2 小时前 |
---|
签到天数: 162 天 [LV.7]常住居民III
管理员
- 积分
- 6157
|
Java吧 视频教程: C++音视频实战-FFmpeg基础到工程-多路H265监控录放开发视频教程8 e, X$ u) C8 X: e, C* a& u
Java教程编号:【S0278】-166
/ d# Q: v# [* n! O- c* C& k2 n/ m- ?# ^" K8 v( t5 _
, D- c# Q f2 M8 O: v1 q" {" y" _. J0 u
〖课程目录〗:
% R: q& V) U* j& B7 j├─第1章 开发环境准备和ffmpeg跨平台源码编译(2小时33分钟13节): Z# e/ f+ @! i
│ 1-1 音视频实训课程介绍.mp4
, C$ @0 E" u% H, p│ 1-2 学习引导和章节介绍必看.mp4
# _. }: K8 ?# c- I% P│ 1-3 环境准备步骤说明VS2019控制台和msys2运行.mp4: j0 s* `4 B1 Z A" s0 ?
│ 1-4 msys2使用pacman安装编译依赖工具.mp4: {3 ^ | x. O& D# y9 i, D
│ 1-5 完成x264源码编译和安装.mp4
; ?2 D! `2 f0 [- F3 Y* K│ 1-6 完成音频编码fdk-aac源码编译和安装.mp4
5 q( T6 [& \- f6 R3 V% M9 I│ 1-7 完成x265源码编译和安装.mp4
& @& V7 ~6 v* T2 \3 }! }│ 1-8 ffmpeg4.3在vs2019完成源码编译.mp47 f( @5 b; \4 M' p; n9 u, C" n
│ 1-9 第一个vs2019ffmpeg项目创建和源码.mp4
7 d! q H& d# \+ ? ?: K- ?1 S│ 1-10 Linux编译x264_x265_aac.mp4- m! j ]' m6 r! F( W' z/ b) j
│ 1-11Linux编译ffmpeg4.3并编写测试程序.mp4
7 r/ v3 G( }' \1 x! u* L│ 1-12 QT5.14安装和项目创建并切换不同的QT版本.mp4
- Y$ O7 V) u6 [4 P. q│ 1-13 章节总结和ffmpeg代码调试设置.mp47 ~/ C) J- T( A* s
│
D1 E [9 _2 x6 Y# ^/ X├─第2章 图像格式_基于QT和SDL渲染(3小时57分钟16节)' _( B/ [' ?- M: W, ]: S
│ 2-1 学习引导和章节介绍必看.mp4) P* v5 a: b" P0 `" _& S v/ M
│ 2-2 RGB像素格式原理讲解并使用QT渲染RGB数据.mp4
: E! z* X4 ^ H: N; J( D│ 2-3 合并两幅图像并使用SDL_QT渲染和保持.mp4
- w Q% v S9 {' @2 K│ 2-4 SDL2源码编译安装和渲染视频接口详解.mp4
( x8 ] ?2 Z' I0 M% Q) b! c│ 2-5 SDL2渲染RGB数据画面定时变化.mp4# [* V. |, V7 @) N; x! H" u6 Z
│ 2-6 SDL渲染RGB数据到QT的控件中通过定时器刷新.mp4( {: |9 P& e. j4 w- D6 c8 B( A
│ 2-7 合并两幅图像法使用SDL渲染并用QT保存文件.mp48 X# |: A; F# `6 G% |
│ 2-8 YUV格式详解并使用ffmpeg生成yuv文件.mp4$ N% b! q/ m' v, A0 m
│ 2-9 使用SDL_QT直接播放渲染YUV格式文件.mp4
+ s* T& E0 ~$ o0 x0 u│ 2-10 XVideoView工厂模式封装SDL接口设计.mp4) i$ p: c+ u1 V( W9 j9 s
│ 2-11 XSDL封装完成窗口渲染器和材质的初始化.mp4+ u) g" m- x7 z2 {2 B( {
│ 2-12 完成XSDL渲染Draw接口并测试渲染.mp40 d( y% H& O+ V$ {& \# c- x }
│ 2-13 渲染画面随着窗口大小自动缩放并解决锯齿问题.mp4
2 Z) m- N5 J( i1 C3 ?│ 2-14 完成XSDL资源清理接口接收窗口退出事件放.mp4
- |1 Y" r$ J$ K│ 2-15 总结_代码下载编译说明和作业.mp4* g$ f# q0 d0 I0 ? N
│
p0 {% ~1 H z" [* v├─第3章 FFmpeg AVFrame视频渲染 (2小时28分钟 9节)8 U* T8 [9 H4 T7 z2 r3 ?
│ 3-1 学习引导和章节介绍必看.mp4
m! r1 w% r& O4 ]│ 3-2 AVFrame结构体和相关ffmpeg接口详解.mp4- B/ N" W% C) M) D- t
│ 3-3 测试AVFrame的空间分配引用计数接口齐.mp4/ D/ D9 z; ^" {' k# }! [% X2 {
│ 3-4 读取YUV数据到AVFrame并添加渲染e.mp4! {. t5 {; |& y( B# M! V9 ~
│ 3-5 视频帧率详解帧率控制策略分析和sleep时间.mp48 B. d! l. k/ ~1 p0 S2 W, h
│ 3-6 测试sleep和wait的精确度并实现精确控制.mp4
) q* k: a3 l9 H5 H+ c: ^1 v6 _│ 3-7 多线程控制帧率渲染AVFrame的YUV数据.mp4
1 |; i3 X ~& k/ ~( d9 m2 w│ 3-8 渲染界面中添加显示fps和设置fps的控件.mp4% [" |& i& L# q- {! P- B k+ H g, u
│ 3-9 总结_代码下载编译说明和作业.mp4
" `# z, R1 _# c- H│
4 w& H" u5 @8 \, E* v; L0 _├─第4章 FFmpeg像素格式转换和多路YUV、RGB渲染 (2小时37分钟 11节)
/ P7 R7 ~' ~! d" n. ]+ O│ 4-1 学习引导和章节介绍必看.mp4
7 ^( G- j4 F! i8 `7 J│ 4-2 FFMpeg的像素格式转换接口解.mp4$ H9 n5 u: x' X* I! w! E" l3 i
│ 4-3 像素格式转换YUV420P转换为RGBA.mp48 E- \! m: H0 j0 ? b( r- B
│ 4-4 sws_scale像素格式转换RGBA转.mp4
2 {4 a; @5 Y7 Y7 p% t% n│ 4-5 多路YUV_RGB文件播放器需求和设计说明.mp4) a; z$ ]+ V- z: B- r% H0 k2 j2 G
│ 4-6 YUV_RGB播放器QT界面设计和打开文件处理.mp4
; I* h2 H& q( ?, y│ 4-7 完成多路XVideoView窗口初始化并生成测试.mp4' {& W6 R; N& h; }1 \6 ^+ H( _
│ 4-8 XVideoView_Read接口读取像素数据.mp42 G/ f; a* k3 w' F4 C6 ?) A
│ 4-9 完成了支持YUV和RGB格式两路视频同时播放.mp4
w7 v8 T& N2 b- n" v/ l│ 4-10 完成了两路视频帧率显示并能设置不同的播放帧率.mp4+ R* ^4 r" [/ g+ l2 H' ]8 T+ N
│ 4-11 总结_代码下载编译说明和作业.mp47 `/ t( i6 S4 q. O* V( n
│
/ k& t4 w5 {) b+ K' G7 Z5 C/ c├─第5章 FFmpeg视频编码原理和实战 (4小时26分钟 19节), J0 s0 J2 Y' f* X+ W
│ 5-1 学习引导和章节介绍必看.mp49 z" o& X% @3 z; {# M. {$ }
│ 5-2 视频编码原理概述.mp4- N7 b7 D! d/ Y+ d. ~4 v/ m) x; t1 ?
│ 5-3 FFMpeg编码接口和AVPacket结构体详解.mp4
. _. d3 @$ v+ d b+ X│ 5-4 FFmpeg编码器获取和上下文打开.mp41 t) M: J( r3 p! T# R8 d
│ 5-5 完成了视频帧创建和编码.mp4
: Z5 N+ S# w; K0 \1 Q3 L* d' U) D│ 5-6 完成h264和h265编码并使用VLC测试播放.mp4 r/ m- L- g0 F
│ 5-7 H264原理分析宏块划分_帧间预测I帧_.mp4
2 U0 F( m' c3 K7 I& Y. w- J│ 5-8 变换_量化和熵编码_变长和算数.mp4
9 e7 y* P$ u" N8 T/ d* X* {│ 5-9 x264预设编码器preset_tune设置编码.mp4 _! u: ~. }8 p5 p
│ 5-10 代码试验ultrafast最快编码.mp4
* }: u( g7 H N7 [4 Z' E│ 5-11 ABR平均比特率CQP恒定质量X264.mp4
; J) m; _! m/ x+ }& s, [( r│ 5-12 CBR恒定比特率_CRF恒定速率因子.mp47 m3 ^7 g: j; C9 v' n9 i
│ 5-13 H264码流中NALU_SPS_PPS_I.mp48 ]+ U6 E3 F Q3 n
│ 5-14 代码测试解析出AVPacket中的.mp4: E# g3 [: M0 W' h: t
│ 5-15 XEncode编码封装完成上下文创建码.mp43 s% D; h, u: I+ D
│ 5-16 XEncode添加线程安全锁并添加支持.mp4
( J, ~# j; p& A T│ 5-17 XEncode完成编码和AVFrame创.mp4
9 Y3 ~+ O3 |6 E1 H│ 5-18 XEncode解决丢帧添加获取编码.mp4* k$ v& i% S- f9 N7 ^, y8 @& P* M
│ 5-19 总结_代码下载编译说明.mp4
5 N. e! T2 t: {' s& z6 e4 O│ 3 `% N R4 D n1 J* ?- `
├─第6章 FFmpeg视频软解码和硬解码 (3小时5分钟 12节)
0 [. V7 J' P g# ^│ 6-1 学习引导和章节介绍必看.mp4
" r% \. H, f! }. I/ k│ 6-2 FFmpeg视频解码接口详细分析.mp4
! E7 e6 r! m" Z M3 Q$ [* p│ 6-3 av_parser_parse2从h264文件.mp4
1 _* T s& Q+ Y│ 6-4 基于ffmpeg接口完成视频解码.mp4
* V: C S$ H: Z1 s! O│ 6-5 完成解码视频渲染并测试多线解码帧率.mp43 w2 {% F# |4 g1 [
│ 6-6 完成硬件GPU加速解码DXVA2.mp4
. h1 h3 K- H' @) Q' R│ 6-7 修改XVideoView支持渲.mp4
7 d+ h9 ^& o- |' h0 E- t│ 6-8 重构XEncode添加基类XCodec.mp4) A; f, g% r- J+ `
│ 6-9 完成XDecode解码支持硬解并做.mp4/ y' s& [- ~" d& L3 |
│ 6-10 DXVA硬解码到GPU不复制到内存.mp4: |( @, w) J* F; ] q6 ~
│ 6-11 DXVA硬解到GPU不复制内存渲染代码实现.mp4
- o9 C4 q2 Z: s/ A│ 6-12 总结和作业要求.mp48 Q3 u! ?$ [" f, g1 j! |
│
) U' l: z" W W+ n& H0 u, u, i; _) l2 c├─第7章 FFmpeg封装和解封装 (5小时13分钟 14节)
" R6 e( q( c1 r$ f1 d. H2 B1 p% e│ 7-1 学习引导和章节介绍必看.mp4
8 b% X# X0 |1 O: y│ 7-2 封装分析和MP4封装格式详解.mp4
! ]: F1 j2 c4 p! V" d; p d│ 7-3 FFmpeg解封装流程和接口详解.mp4
9 D7 a9 ~' w; [* T! {0 ~│ 7-4 FFmpeg解封装代码示例并区分音频视频包.mp4
9 @4 d# p( @, N/ h│ 7-5 完成解封装后对视频进行解码和渲染代码.mp4
0 K" P' r% o5 B: Z6 i│ 7-6 封装流程分析ffmpeg封装文件接口详解.mp41 l& u" z/ h2 V, H. E: K& d% D
│ 7-7 av_seek_frame控制播放进度函数详解.mp4) u- F W3 B0 C; j! j
│ 7-8 完成重封装mp4文件测试基本代码.mp4& T2 L; q0 H) v) f* D# x7 M) c2 X8 T$ T
│ 7-9 重封装剪切中间10秒视频并重新计算pts_dts.mp4$ r( }* H6 J4 G; A8 Y2 F- T p
│ 7-10 完成XFormat和XDemux重构解封装.mp4
4 N3 Z2 ]$ q3 Q& w│ 7-11 完成封装代码重构XMux并测试重新封装音视频文件(8.15).mp4
! f% {2 d2 l3 ~2 m│ 7-12 根据输入的文件名和时间参数完成截断视频功能.mp4% p7 A1 q7 t0 ^
│ 7-13 完成视频重编码为h265并写重新封装MP4.mp42 v6 ] _1 H2 F: ~. Q, d
│ 7-14 总结和代码说明.mp4
5 f2 g) n% ]# i/ Y( S& @6 P│ : P1 i1 M2 _! W/ c7 x9 r8 C1 a/ H
├─第8章 FFmpeg解封装rtsp并录制视频 (4小时31分钟 16节); s6 w9 S- @% y! u. l7 W
│ 8-1 学习引导和章节介绍必看.mp4
5 f6 J: @" o, J0 e2 j$ T8 a4 e│ 8-2 使用VLC模拟一个rtsp服务器.mp4
' C, ?+ {; Q/ b4 ?│ 8-3 RTSP协议详细分析包括鉴权协议分析.mp4
3 k! [1 F; h9 P6 K│ 8-4 大华和海康相机设置和rtsp协议抓包分析.mp4; A. Q9 ]4 ?5 o' j9 L0 I( E
│ 8-5 ffmpeg的rtsp相关接口分析和多线程处理.mp4' u$ m h; J0 X+ k
│ 8-6 完成XThread线程类的启动和安全退出.mp40 T; h- G6 M! D/ B1 l
│ 8-7 开发XDemuTask线程类使用上下文的回调函数.mp4
0 T& f7 w8 J0 k1 J& U│ 8-8 解封装rtsp断网或摄像机重启后自动重连处理.mp4- G0 q% w3 `1 u
│ 8-9 解封装解码线程责任链设计模式明.mp4
" S% I; Z. s( L1 G' w# p( G: b│ 8-10 完成责任链代码和返回智能指针类型的解封装视频参数.mp4
; E$ a8 E, B2 `- H+ R│ 8-11 完成解码线程初始化和并实现线程t.mp4
6 n1 O, A6 e7 Z; Y; N j/ g│ 8-12 完成通过责任链接收解封装AVPacket数据.mp41 k) K3 b( N4 U" i
│ 8-13 完成rtsp的多线程责任链解封装解码和渲染.mp4
2 h5 r" V ?0 X- Q) p: p│ 8-14 封装音视频处理线程代码初始化传递音视频参数.mp4) p) G9 n- s7 Z; z
│ 8-15 完成相机录制重新封装处理pts计算问题.mp4
l. I8 R4 W# C3 n" G! T│ 8-16 总结和代码测试本地模拟rtsp.mp4, I8 J6 A' i0 y5 Y
│ & ?5 B5 \% {6 E% Q# k4 [) d
├─第9章 XViewer多路H265监控录放系统0.1版本开发 (7小时43分钟 24节)
- {$ [& h! b6 U& p│ 9-1 学习引导和章节介绍必看.mp4
( @: [6 w+ k6 o│ 9-2 XViewer多路H265监控录放开发项目.mp4% u1 }# w) O2 V7 w
│ 9-3 XCodec封装音视频编解码和渲染的动态链接库编.mp4
5 x( T' E# M/ q! d& x# l8 U* b│ 9-4 预览界面设计说明XViewer项目创建标.mp46 F1 S O3 y7 c5 P
│ 9-5 XViewer窗口自定义标题_关闭_最小化按钮.mp45 J! X! z, j- Z4 Y o
│ 9-6 XViewer窗口布局设计和窗口最大化和恢复处理.mp4
4 j" x, }& L3 ~% C* S* C% c│ 9-7 右键菜单调整预览窗口数量1_4_9_16通过t.mp4! q" O. J, r6 H% w5 x2 M0 ^( p, A# @8 v9 m
│ 9-8 完成摄像机管理的数据的增删改模型层代码.mp4: N) Y1 f4 f$ d7 s
│ 9-9 XCameraConfig持久化写入和读取文件.mp4
, }1 N: Q; }+ V$ @1 W# l│ 9-10 完成相机配置读取和列表显示列表显示.mp4
Y: C \# y( C: @│ 9-11 代码生成新增摄像机配置界面.mp4% y) h+ Z0 `$ r2 r. I9 U2 a
│ 9-12 完成摄像机管理的修改和删除功能.mp4( [* n( F3 o# ^
│ 9-13 通过QListWidget拖拽实现指定播放.mp4# g6 y' L8 J8 e4 Q
│ 9-14 通过拖拽配置完成多窗口rtsp相机的渲染.mp4% b0 z0 Q, ]8 |0 A2 C# C) G
│ 9-15 多路音视频录制模块设计说明.mp4
8 X; k1 ^+ j' U7 b│ 9-16 定时创建新的视频文件并解决录制文件开发花屏问题.mp4& E1 S# h! P6 I# S: _5 E9 c2 p+ n! L
│ 9-17 多路相机录制界面交互功能完成.mp4
0 f" k, [6 |( X' v( J│ 9-18 回放界面设计并实现与预览界面的切换按钮.mp4
: O" }3 z3 a/ g( r$ o│ 9-19 自定义日历控件显示有视频日期继承.mp4
. }! B" _% E" W/ ^% a) H│ 9-20 点击摄像机刷新日历改变有视频文件日期的背景.mp4
" X) M7 Q7 W5 l9 _0 f0 t8 {+ B) z│ 9-21 点击视频时间列表获取视频绝对路径.mp4
& c# K" o- S; @) _& @8 S│ 9-22 添加回放日历中的视频播放器.mp4: t; X5 P) A0 D" p/ s* F' Z
│ 9-23 完成回放视频播放器的播放速度控制.mp4# s f. w' q2 b8 E! q( |
│ 9-24 总结和XViewer0.1编码和准备发布版本.mp4
* z- `8 d. @+ D" H9 g/ m' ]│ $ q; ~- O: l; h
├─第10章 音频原理_ffmpeg&SDL播放音视频同步 (4小时4分钟 12节)
% a' t) e; P6 x. c9 s# K9 t│ 10-1 学习引导和章节介绍必看.mp4
" A3 P8 i$ a- h9 a/ p│ 10-2 音频核心基础声波频率_采样频率_采样大小.mp4) D2 Q4 w S9 T( W# U% |- V4 _
│ 10-3 PCM格式_音频编码分析_SDL音频.mp4! H# l5 Q1 x' E" d: E' k. E
│ 10-4 完成SDL播放PCM音频文件项目.mp4: O h! Z) E2 U" C! [6 E
│ 10-5 完成了XAudioPlay类的单件模式初始化.mp40 B) o; c/ V, q$ _
│ 10-6 完成XAudioPlay播放音频通过缓冲队.mp4
. y z8 r6 o( o) ]0 [& K6 c│ 10-7 音频播放音量和播放速度_慢放.mp4
* x' B9 j# V% ~1 r6 Y│ 10-8 mp4中音频解码解封装手动转换平面格式.mp4( z Y( M+ ^5 j
│ 10-9 音视频同步_初始化_渲染播放和时间.mp4+ B+ |) L) |/ n P+ ~8 F
│ 10-10 音视频播放XPlayer视频打开和线程初始化.mp4& }! a8 L d E0 R. {# l
│ 10-11 完成音视频文件多线程同步播放.mp4
) z0 G6 r5 v- D. N6 B$ h, n│ 10-12 章总结和代码说明.mp49 h, a% w# e: z
│
- N Q- t( s/ ]- U. D$ ]% c. y6 @├─第11章 XViewer 0.2版本 (2小时9分钟 6节)! N8 h0 }; [8 L$ J- }' T1 m4 v% b
│ 11-1 学习引导和章节介绍必看.mp4
6 W; U5 T9 j# ]+ @6 }! I5 W1 f% M% Z│ 11-2 xviewer0.2监控工具支持音视频同步播放.mp4
9 A3 @" w! b% ?+ S7 b│ 11-3 完成QT界面设置音视频播放速度.mp4
& c8 B; g% N$ S0 a6 [$ f9 {2 R# b│ 11-4 完成QT进度条显示视频播放进度.mp4
3 X1 c* U, K' C6 u' O4 \2 l/ u1 ]│ 11-5 完成音视频的暂停和播放.mp4
5 M8 e: M, N& I: N B9 _│ 11-6 完成SEEK进度条控制播放进度.mp4
! ^( D- V W! @2 F+ [│
7 K. i$ o# C8 E1 A├─第12章 ffmpeg_gsoap_onvif探测和预览onvif协议 (3小时33分钟 13节)
$ o' V, \6 b+ O4 ^+ j+ `│ 12-1 第十二章学习引导和章节介绍必看.mp4! Z2 @% S9 l4 E3 g3 L2 l3 i
│ 12-2 修正无法删除摄像机和修改线程退出函数后录制.mp4
& F) B+ b( P& f0 Q+ T│ 12-3 Onvif协议分析和测试工具使用.mp4( J5 `% J# |9 X) l5 s9 u6 t
│ 12-4 gsoap的wsdl2h_vs2019.mp4# Y, P) V+ D4 z0 W
│ 12-5 生成支持鉴权的onvif代码gsoap.mp4
, j. [# i3 _0 s: ~│ 12-6 创建第一个test_onvif项目.mp4' F5 \5 M$ n6 s0 Q! V( a
│ 12-7 初始化和清理相机探测probe的soap消息头.mp4 O4 j4 t9 U5 e' g: ~9 N
│ 12-8 完成gsoap的onvif_discovery.mp4, F1 M1 r( e: z5 A8 ?
│ 12-9 封装gsoap代码使用c++调用重构设备探测.mp4
8 ?6 [6 p4 E1 l1 ?0 c, X/ o│ 12-10 完成鉴权并获取onvif设备能力.mp4
" b- ?& h6 {, E( T0 k% K: ]7 a│ 12-11 完成onvif鉴权和获取媒体信息.mp4" D' k+ C% h% P0 N# H6 N$ r
│ 12-12 完成onvif的rtsp地址获取.mp4
' Z: N ^, ]2 r% C* c g│ 12-13 基于gsoap的ffmpeg预览onvif.mp4
( `3 P: e+ h2 d; d2 \( {│ 6 H# a) ?0 y' z7 o9 p$ ~% N
└─第13章 CMake自动构建FFmpeg6.0 (4小时41分钟 20节). h/ n, c2 g& O' Y( f; {
13-1 cmake构建ffmpeg6.0和课程项目说明.mp4
* ]. V) m9 f9 p2 |6 g+ D% U 13-2 cmake_msys2_vs2022环境准备.mp4
3 X( H" }) e Y; B; p4 H! R9 j' P3 F 13-3 创建批处理自动运行vs控制台和msys2.mp4
* r/ ^ `/ e: g- e/ J# j 13-4 使用cmake分步骤手动构建SDL源码.mp4
! C$ _ c7 p% Y& x6 h 13-5 使用cmake自动解压SDL源码.mp4! j4 t7 f7 Q$ F+ ~
13-6 使用cmake自动化构建和安装SDL.mp4% Q! J) d9 V7 K$ l! l* q% @; n4 z, ]
13-7 使用cmake自动化构建fdk-aac.mp42 e1 j5 y$ c( ]" v
13-8 使用cmake自动化构建opus.mp46 k% f r' c1 q- k/ t, O
13-9 使用cmake自动化构建x265.mp4 java8.com, H/ L6 H4 w4 J+ Q: l
13-10 使用cmake构建x264生成并执行shell.mp45 H# L7 X; p! i1 y4 X' [5 r; m, y* t. M
13-11 手动构建ffmpeg6.0.mp4 {+ ?0 J5 w5 D, t2 j$ g
13-12 准备好自动化构建的目录和文件.mp4) l. D. _: Y9 T! }: ~, U& n
13-13 实现cmake的build_and_install函数构建SDL.mp4
! H0 R a% M6 j/ p% B6 q5 b 13-14 使用build_and_install构建x265_opus_fdk-acc.mp4. R, o0 Y. L3 s4 b; H4 V$ x
13-15 实现cmake的config_and_build函数构建x264.mp49 u R/ _* W3 }* t3 ]# C$ t; W: U
13-16 使用cmake完成ffmpeg6.0的自动化构建.mp4
" r q0 Q& X: w 13-17 使用cmake构建xcodec.mp4; ]+ z- Q% B# T: g F1 k" a8 P
13-18 使用cmake构建xviewer支持QT.mp4# Z( i/ }, O4 p7 E+ p
13-19 使用cmake自动部署xviewer包含自动复制QT动态库.mp4
9 V9 I( U" b8 G/ `. G! G 13-20 一次性自动构建和安装ffmpeg和xviewer.mp4
/ t6 P: X% z& i( ?1 M4 O( [, i- L0 ^8 z; B C# O) q
百度云盘下载地址(完全免费-绝无套路):
`' Z- p9 W9 T8 v0 W7 f& M
' N: t! d3 x6 Q( q1 c4 w本资源由Java吧收集整理【www.java8.com】9 ?/ y, `8 K" f4 b
2 [8 w! g, d# x7 {; J, o5 \/ \
4 N* g0 @" \7 U' W' C
" r. k5 s4 a( \& m |
|