注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡人工智能FFMPEG入門詳解:流媒體直播原理及應用

FFMPEG入門詳解:流媒體直播原理及應用

FFMPEG入門詳解:流媒體直播原理及應用

定 價:¥89.00

作 者: 梅會東
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302608639 出版時間: 2023-05-01 包裝: 平裝
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  本書系統(tǒng)講解了流媒體和直播的基礎理論及應用,包括RTSP、RTP、RTCP、RTMP、HLS、HTTP-FLV等常用的流媒體協(xié)議,包括Live555、SRS、Nginx-RTMP、ZLMediaKit等開源流媒體直播服務器。本書為FFmpeg音視頻流媒體系列叢書的第二部。全書共分為14章:系統(tǒng)講解了流媒體協(xié)議的基礎知識、直播的原理流程及架構(gòu)分析、Live555、SRS、Nginx-RTMP、ZLMediaKit等開源直播點播庫。書中包含大量的示例,圖文并茂,爭取讓一個音視頻流媒體領域的讀者真正入門,從此開啟流媒體直播編程的大門。本書知識體系比較完整,側(cè)重流媒體與直播的原理講解及應用。建議讀者先學習FFmpeg音視頻流媒體系列叢書的第一部,即音視頻原理及應用。講解過程由淺入深,讓讀者在不知不覺中學會了流媒體協(xié)議的基礎理論知識,并動手搭建直播平臺。本書可作為流媒體和直播方向的入門書籍,也可作為高年級本科生和研究生的學習參考書籍。

作者簡介

  梅會東,一個在音視頻領域摸爬滾打20年的老程序員、培訓師、作者,精通多種IT技術(shù)。參與設計和開發(fā)了多個音視頻項目,包括播放器、視頻服務器、全套直播系統(tǒng)等。精通多個音視頻開源庫項目,包括FFmpeg、Live555、SRS、Darwin、Nginx、WebRTC、ZLMediaKit等。 目前專注于音視頻流媒體的教育傳播事業(yè),為多家大型國企單位培訓音視頻專業(yè)知識。

圖書目錄

第1章流媒體與直播基礎理論


1.1流媒體簡介


1.2流媒體協(xié)議


1.2.1TCP的三次握手與四次揮手


1.2.2視頻流協(xié)議與編解碼器


1.2.3常見的流媒體協(xié)議


1.3直播原理及應用


1.3.1視頻直播原理與流程


1.3.2通用的視頻直播模型


1.3.3視頻直播系統(tǒng)的模塊


第2章RTSP流媒體協(xié)議


2.1RTSP簡介


2.1.1RTSP支持


2.1.2RTSP特點


2.2RTSP消息格式


2.2.1請求消息


2.2.2應答消息


2.3RTSP交互流程


2.4RTSP重要概念


2.5RTSP重要方法


2.6RTSP狀態(tài)機


2.6.1客戶端狀態(tài)機


2.6.2服務器端狀態(tài)機


2.7VLC作為RTSP流媒體服務器


2.8RTSP抓包流程分析


2.8.1安裝Wireshark


2.8.2Wireshark抓取本地localhost的包


2.8.3使用Wireshark抓包分析RTSP交互流程


2.9RTSP與HTTP


2.10SDP


第3章RTP與RTCP流媒體協(xié)議


3.1RTP


3.1.1RTP格式


3.1.2RTP封裝H.264


3.1.3RTP的會話過程


3.1.4RTP的抓包分析


3.2RTCP


3.2.1RTCP的5種分組類型


3.2.2RTCP包結(jié)構(gòu)


3.2.3RTCP的注意事項


3.2.4RTCP的抓包分析


3.3RTP/RTCP與RTSP的關(guān)系


3.4開源庫JRTPLIB簡介


3.4.1Windows 10+VS 2015編譯JRTPLIB


3.4.2Ubuntu 18編譯JRTPLIB


3.4.3使用VS 2015搭建JRTPLIB開發(fā)環(huán)境并收發(fā)包案例解析


3.4.4RTP與H.264的相關(guān)結(jié)構(gòu)體


3.4.5使用JRTPLIB發(fā)送H.264碼流


3.5RTP擴展頭結(jié)構(gòu)


3.5.1RTP單擴展頭


3.5.2RTP多擴展頭






第4章RTMP流媒體協(xié)議


4.1RTMP簡介


4.2RTMP交互流程


4.2.1RTMP握手


4.2.2RTMP建立連接


4.2.3RTMP建立流


4.2.4RTMP播放


4.2.5RTMP相關(guān)名詞解釋


4.3直播推流與拉流


4.3.1直播推流


4.3.2直播拉流


4.4RTMP消息


4.4.1RTMP塊流


4.4.2消息塊格式


4.4.3塊基本頭


4.4.4塊消息頭


4.4.5擴展時間戳


4.4.6消息分塊流程解析


4.4.7協(xié)議控制消息


4.4.8用戶控制消息


4.4.9其他消息類型


第5章HLS流媒體協(xié)議


5.1HLS協(xié)議簡介


5.1.1HLS的索引文件的嵌套


5.1.2HLS服務器端和客戶端工作流程


5.1.3HLS優(yōu)勢及劣勢


5.1.4HLS主要的應用場景


5.2HLS協(xié)議詳細講解


5.2.1m3u8簡介


5.2.2HLS播放模式


5.2.3TS文件


5.3m3u8格式講解


5.4TS與PS格式簡介


5.4.1ES、PES、PS、TS


5.4.2PS/TS編碼基本流程


5.4.3PS/TS碼流小結(jié)


5.5TS碼流詳細講解


5.5.1TS包格式


5.5.2TS碼流分析工具


5.5.3TS碼流結(jié)構(gòu)分析


5.5.4PAT及PMT表格式


5.6PS碼流詳細講解


5.6.1PS碼流結(jié)構(gòu)


5.6.2PS碼流的解析流程


5.7TS格式與m3u8切片


第6章HTTPFLV流媒體協(xié)議


6.1HTTPFLV協(xié)議簡介


6.2HTTP簡介


6.2.1HTTPS簡介


6.2.2HTTP請求內(nèi)容


6.2.3HTTP響應內(nèi)容


6.2.4URL簡介


6.3FLV格式簡介


6.3.1FLV格式解析


6.3.2FLV的重要Tag說明


第7章流媒體開源庫簡介


7.1FFmpeg簡介


7.1.1FFmpeg的模塊與命令行工具


7.1.2FFmpeg命令行


7.1.3FFmpeg開發(fā)包


7.2Live555


7.3VLC播放器簡介


7.3.1VLC播放器


7.3.2VLC的功能列表


7.3.3VLC播放網(wǎng)絡串流


7.4EasyDarwin


7.4.1EasyDarwin開源項目


7.4.2EasyDarwin商業(yè)項目


7.4.3EasyDarwin云平臺


7.5SRS


7.6ZLMediaKit


7.7WebRTC


7.7.1WebRTC架構(gòu)


7.7.2視頻分析


7.7.3聲頻分析


7.7.4瀏覽器支持


7.7.5組成部分


7.7.6重要API


第8章Live555搭建直播平臺


8.1Live555簡介


8.1.1Live555實現(xiàn)本地視頻推流


8.1.2openRTSP客戶端流程


8.2Live555源碼編譯


8.2.1Live555在Ubuntu下的源碼編譯


8.2.2Live555在Windows 10下的源碼編譯


8.3Live555點播服務器流程分析


第9章EasyDarwin搭建直播平臺


9.1EasyDarwin項目簡介


9.1.1主體框架


9.1.2模塊分類


9.2EasyDarwin的安裝部署


第10章Nginx搭建直播平臺


10.1Nginx項目簡介


10.2Nginx的安裝方式


10.2.1Windows 10下安裝Nginx


10.2.2Windows 10下安裝OpenSSL


10.2.3Ubuntu 18下安裝Nginx


10.2.4CentOS 8下安裝Nginx


10.3編譯rtmp及httpflv模塊


10.3.1Ubuntu 18下編譯nginxrtmpmodule


10.3.2Ubuntu 18下編譯nginxhttpflvmodule


10.3.3Windows 10下編譯nginxhttpflvmodule


10.4nginx.conf配置文件詳細講解


10.4.1Nginx配置文件結(jié)構(gòu)


10.4.2Nginx配置文件的指令解析


10.4.3Nginx配置文件關(guān)于nginxrtmpmodule配置指令詳細講解


第11章SRS搭建直播平臺


11.1SRS項目簡介


11.2SRS源碼安裝與編譯


11.2.1在Ubuntu 18上安裝SRS


11.2.2在CentOS 7上安裝SRS


11.3SRS集群cluster


11.3.1SRS集群簡介


11.3.2SRS集群配置


11.4SRS配置文件詳細講解


11.4.1SRS配置文件的組成結(jié)構(gòu)


11.4.2srs.conf


11.4.3ingest.conf


11.4.4hls.conf


11.5SRS啟用WebRTC播放


11.5.1編譯支持WebRTC的SRS


11.5.2推送RTMP視頻流


11.5.3WebRTC播放視頻流


第12章ZLMediaKit搭建直播平臺


12.1Windows編譯配置ZLMediaKit


12.2Linux編譯安裝ZLMediaKit


12.3ZLMediaKit二次開發(fā)簡介


12.3.1test_httpApi.cpp文件


12.3.2test_pusher.cpp文件


12.3.3lambda函數(shù)介紹


第13章WebRTC網(wǎng)頁直播


13.1WebRTC項目簡介


13.2網(wǎng)絡打洞STUN和TURN


13.2.1NAT穿透


13.2.2STUN與TURN


13.3WebRTC網(wǎng)頁直播


13.3.1基于Coturn項目的STUN/TURN服務器搭建


13.3.2搭建信令服務器SignalMaster


13.3.3安裝Web服務器Nginx


13.3.4創(chuàng)建基于WebRTC的網(wǎng)頁視頻會話


第14章FFmpeg直播應用綜合案例分析


14.1直播系統(tǒng)架構(gòu)簡介


14.2流媒體服務器的應用


14.2.1完整的流媒體服務器系統(tǒng)


14.2.2開源的流媒體服務器項目應用


14.3使用FFmpeg進行RTMP推流


14.4使用VLC進行RTMP拉流并播放



本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號