知识点概要 音视频基础知识开发环境支持 WIN/LINUX/<em>MAC</em> 三大平台FFmpeg 命令FFmpeg APIFFmpeg 播放器FFmpeg 转码器RTMP/RTSP/HLS/HTTP-FLV 流媒体客户端开 发SRS 流媒体服务器源码分析WebRTC 一对一通话Web
2021-05-17 10:31:00
知識點概要
音視訊基礎知識開發環境支援 WIN/LINUX/MAC 三大平臺FFmpeg 命令FFmpeg APIFFmpeg 播放器FFmpeg 轉碼器RTMP/RTSP/HLS/HTTP-FLV 流媒體客戶端開 發SRS 流媒體伺服器源碼分析WebRTC 一對一通話WebRTC 多人通話Janus SFU(WebRTC)伺服器源碼分析
1、音視訊基礎知識
基礎知識:
PCM 格式、編碼原理等YUV 格式、IPB 幀原理等
Ffmpeg 環境搭建:
掌握Windows 平臺、Linux 平臺、 MAC 平臺 三個平臺的搭建
常用工具:
MediaInfo
2、FFmpeg 命令學習
2.1 命令幫助
如何查詢 Ffmpeg 命令幫助 Ffmpeg 命令分類
2.2 ffplay 命令
ffplay 播放控制ffplay 播放 pcm 、yuv 、使用 filter
2.3 ffmpeg 命令
pcm 、yuv 、aac、h264提取視訊錄製命令多媒體檔案的分解/複用命令裁剪與合併命令圖片/視訊互轉命令直播相關命令各種濾鏡命令
3、FFmpeg 程式設計實戰
3.1 音視訊渲染實戰
SDL 環境搭建 、事件處理 、執行緒處理YUV 視訊播放實戰PCM 聲音播放實戰
3.2 FFmpeg API
FFmpeg 框架分析 、記憶體模型分析、常用結構體
3.3 音視訊編解碼
FFmpeg 解碼流程分析AAC、H264 編解碼原理AAC、H264 解碼實戰MP3 轉 AAC 實戰
3.4 音視訊封裝格式
FLV、MP4 封裝格式分析 封裝格式分析多媒體解複用實戰多媒體複用實戰多媒體轉封裝格式實戰音訊重取樣視訊尺寸變換
3.5 音視訊過濾器
音視訊過濾器視訊過濾器過濾器實際項目實現
3.6 ffplay 播放器
掌握 ffplay.c 的意義ffplay 框架分析音視訊解碼 、控制 、同步參數機制
3.7 播放器開發實戰
播放器框架分析模組劃分音視訊解碼播放器控制音視訊同步
3.8 ffmpeg 錄製轉 碼
掌握 ffmpeg.c 的意義ffmpeg 框架分析 音視訊編碼封裝格式轉換提取音訊 、視訊 logo 疊加 音視訊檔案拼接 filter 機制
4、流媒體客戶端實戰
4.1 RTMP 流媒體
RTMP 協議分析wireshark 抓包分析H264 RTMP 、AAC RTMP封裝RTMP 拉流實戰H264 RTMP 、AAC RTMP解析RTMP 推流實戰
4.2 HLS 流媒體
HLS 、HTTP協議、TS 格式分析 、wireshark 抓包、FFmpeg HLS 源碼分析HLS 拉流實戰、多位元速率機制
4.3 HTTP-FLV 流媒體
HTTP-FLV 協議分析 、wireshark 抓包分析 、http chunk 機制分析HTTP-FLV 拉流實戰FFmpeg HTTP-FLV 源碼分析
4.4 RTSP 流媒體實戰
RTSP 、RTP、RTCP協議分析H264 RTP封裝、 解析AAC RTP封裝 、解析RTSP流媒體伺服器搭建、推流、拉流實戰wireshark 抓包分析
FFmpeg視訊私信獲取、備註FFmpeg資料。
5、SRS 流媒體伺服器
SRS 4.0 源碼剖析
整體框架分析RTMP 推流分析、拉流分析HLS 拉流分析HTTP-FLV 拉流分析FFmpeg 轉碼分析首屏秒開技術分析forward 叢集源碼分析edge 叢集源碼分析負載均衡部署方式
6、WebRTC 實戰
6.1 WebRTC 中級開發
WebRTC 通話原理分析WebRTC 開發環境搭建coturn 最佳搭建方法如何採集音視訊資料一對一通話時序分析信令伺服器設計SDP 分析Candidate 類型分析Web 一對一通話Web 和 Android 通話AppRTC 快速演示
6.2 WebRTC 高階開發
自定義攝像頭解析度位元速率限制調整編碼器順序Mesh 模型多方通話Janus 框架分析Janus Web、Android、Windows客戶端源碼分析Janus 信令設計基於 Janus 實現會議系統WebRTC 源碼編譯擁塞控制演算法FEC jitter buffer
6.3 Janus 伺服器源碼分析
源碼結構插件機制執行緒分析信令互動過程videoroom 分析sdp、rtp、srtp、rtcp 、stun、turn 分析
7、Android NDK 開發
音視訊開發
So 庫適配總結JNI Native 層構建 Java 物件JNI 異常處理編譯 FFmpeg、ijkplayer基於 ijkplayer 二次開發OpenSL ES 播放音訊資料MediaCodec 硬體解碼OpenGL ES Shader 顯示視訊RTMP 推流直播
ps:音視訊學習知識體系
相關文章
知识点概要 音视频基础知识开发环境支持 WIN/LINUX/<em>MAC</em> 三大平台FFmpeg 命令FFmpeg APIFFmpeg 播放器FFmpeg 转码器RTMP/RTSP/HLS/HTTP-FLV 流媒体客户端开 发SRS 流媒体服务器源码分析WebRTC 一对一通话Web
2021-05-17 10:31:00
说说为什么今天会分享这个小知识吧!因为自己的邮箱今天提醒我有一个账号异地登陆了,显示了一个IP,正好我不知道自己电脑的IP,就说查一下吧,然后就想着把这个小知识跟大家分享一下吧~1⃣️打开设置 2⃣️ 找到网络并打开 3...
2021-05-17 10:30:57
内存为8GB DDR4 2666,方便升级。512GB M.2 <em>SSD</em>,预留一个M.2接口,以及2.5英寸HHD接口。显卡上,自然是RTX3050了,虽然RTX2060为1920个CUDA核心,但显存位宽达到192bit,还是要比RTX3050更强的。从雷神实验室给出的数据,R
2021-05-17 10:30:49
纵观行业上下,有条件、有实力扮演这个角色的,为数不多,<em>高通</em>恰是其中之一。并且他们乐于担当此任,也正积极地做出很多成绩。刚好,5 月 21 日,<em>高通</em>将在北京举办以“一起连接美好未来”为主题的 2021 <em>高
2021-05-17 10:30:37
自从买了<em>iPhone</em>12以来,一直在物色方便实用的手机配件,因为工作原因上班经常出外,为了给手机充电,自己配了无线充电宝,回办公室工作期间,就又换回了有线充电,因为有时候充电没多久就又有工作需要出门,习惯了无线充电
2021-05-17 10:30:11
#<em>英特尔</em># 一提起“挤牙膏”,大家都会不约而同想到<em>英特尔</em>。那么除了<em>英特尔</em>,AMD就没有“挤”吗?当然不是,AMD同样也“挤牙膏”,只不过与<em>英特尔</em>相比,AMD“挤”得多一点而已。我们就以AMD
2021-05-17 10:00:48