幫助中心 | 我的帳號 | 關於我們

FFmpeg入門詳解(流媒體直播原理及應用)/電腦技術開發與應用叢書

  • 作者:編者:梅會東|責編:趙佳霓
  • 出版社:清華大學
  • ISBN:9787302608639
  • 出版日期:2023/05/01
  • 裝幀:平裝
  • 頁數:361
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

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

作者介紹
編者:梅會東|責編:趙佳霓
    梅會東,一個在音視頻領域摸爬滾打20年的老程序員、培訓師、作者,精通多種IT技術。參與設計和開發了多個音視頻項目,包括播放器、視頻伺服器、全套直播系統等。精通多個音視頻開源庫項目,包括FFmpeg、Live555、SRS、Darwin、Nginx、WebRTC、ZLMediaKit等。目前專註于音視頻流媒體的教育傳播事業,為多家大型國企單位培訓音視頻專業技術人員。

目錄
第1章  流媒體與直播基礎理論
  1.1  流媒體簡介
  1.2  流媒體協議
    1.2.1  TCP的三次握手與四次揮手
    1.2.2  視頻流協議與編解碼器
    1.2.3  常見的流媒體協議
  1.3  直播原理及應用
    1.3.1  視頻直播原理與流程
    1.3.2  通用的視頻直播模型
    1.3.3  視頻直播系統的模塊
第2章  RTSP流媒體協議
  2.1  RTSP簡介
    2.1.1  RTSP支持
    2.1.2  RTSP特點
  2.2  RTSP消息格式
    2.2.1  請求消息
    2.2.2  應答消息
  2.3  RTSP交互流程
  2.4  RTSP重要概念
  2.5  RTSP重要方法
  2.6  RTSP狀態機
    2.6.1  客戶端狀態機
    2.6.2  伺服器端狀態機
  2.7  VLC作為RTSP流媒體伺服器
  2.8  RTSP抓包流程分析
    2.8.1  安裝Wireshark
    2.8.2  Wireshark抓取本地localhost的包
    2.8.3  使用Wireshark抓包分析RTSP交互流程
  2.9  RTSP與HTTP
  2.10  SDP
第3章  RTP與RTCP流媒體協議
  3.1  RTP
    3.1.1  RTP格式
    3.1.2  RTP封裝H.264
    3.1.3  RTP的會話過程
    3.1.4  RTP的抓包分析
  3.2  RTCP
    3.2.1  RTCP的5種分組類型
    3.2.2  RTCP包結構
    3.2.3  RTCP的注意事項
    3.2.4  RTCP的抓包分析
  3.3  RTP/RTCP與RTSP的關係
  3.4  開源庫JRTPLIB簡介
    3.4.1  Windows 10+VS 2015編譯JRTPLIB
    3.4.2  Ubuntu 18編譯JRTPLIB
    3.4.3  使用VS 2015搭建JRTPLIB開發環境並收發包案例解析
    3.4.4  RTP與H.264的相關結構體
    3.4.5  使用JRTPLIB發送H.264碼流
  3.5  RTP擴展頭結構
    3.5.1  RTP單擴展頭

    3.5.2  RTP多擴展頭
第4章  RTMP流媒體協議
  4.1  RTMP簡介
  4.2  RTMP交互流程
    4.2.1  RTMP握手
    4.2.2  RTMP建立連接
    4.2.3  RTMP建立流
    4.2.4  RTMP播放
    4.2.5  RTMP相關名詞解釋
  4.3  直播推流與拉流
    4.3.1  直播推流
    4.3.2  直播拉流
  4.4  RTMP消息
    4.4.1  RTMP塊流
    4.4.2  消息塊格式
    4.4.3  塊基本頭
    4.4.4  塊消息頭
    4.4.5  擴展時間戳
    4.4.6  消息分塊流程解析
    4.4.7  協議控制消息
    4.4.8  用戶控制消息
    4.4.9  其他消息類型
第5章  HLS流媒體協議
  5.1  HLS協議簡介
    5.1.1  HLS的索引文件的嵌套
    5.1.2  HLS伺服器端和客戶端工作流程
    5.1.3  HLS優勢及劣勢
    5.1.4  HLS主要的應用場景
  5.2  HLS協議詳細講解
    5.2.1  m3u8簡介
    5.2.2  HLS播放模式
    5.2.3  TS文件
  5.3  m3u8格式講解
  5.4  TS與PS格式簡介
    5.4.1  ES、PES、PS、TS
    5.4.2  PS/TS編碼基本流程
    5.4.3  PS/TS碼流小結
  5.5  TS碼流詳細講解
    5.5.1  TS包格式
    5.5.2  TS碼流分析工具
    5.5.3  TS碼流結構分析
    5.5.4  PAT及PMT表格式
  5.6  PS碼流詳細講解
    5.6.1  PS碼流結構
    5.6.2  PS碼流的解析流程
  5.7  TS格式與m3u8切片
第6章  HTTP-FLV流媒體協議
  6.1  HTTP-FLV協議簡介
  6.2  HTTP簡介
    6.2.1  HTTPS簡介

    6.2.2  HTTP請求內容
    6.2.3  HTTP響應內容
    6.2.4  URL簡介
  6.3  FLV格式簡介
    6.3.1  FLV格式解析
    6.3.2  FLV的重要Tag說明
第7章  流媒體開源庫簡介
  7.1  FFmpeg簡介
    7.1.1  FFmpeg的模塊與命令行工具
    7.1.2  FFmpeg命令行
    7.1.3  FFmpeg開發包
  7.2  Live555
  7.3  VLC播放器簡介
    7.3.1  VLC播放器
    7.3.2  VLC的功能列表
    7.3.3  VLC播放網路串流
  7.4  EasyDarwin
    7.4.1  EasyDarwin開源項目
    7.4.2  EasyDarwin商業項目
    7.4.3  EasyDarwin雲平台
  7.5  SRS
  7.6  ZLMediaKit
  7.7  WebRTC
    7.7.1  WebRTC架構
    7.7.2  視頻分析
    7.7.3  聲頻分析
    7.7.4  瀏覽器支持
    7.7.5  組成部分
    7.7.6  重要API
第8章  Live555搭建直播平台
  8.1  Live555簡介
    8.1.1  Live555實現本地視頻推流
    8.1.2  openRTSP客戶端流程
  8.2  Live555源碼編譯
    8.2.1  Live555在Ubuntu下的源碼編譯
    8.2.2  Live555在Windows 10下的源碼編譯
  8.3  Live555點播伺服器流程分析
第9章  EasyDarwin搭建直播平台
  9.1  EasyDarwin項目簡介
    9.1.1  主體框架
    9.1.2  模塊分類
  9.2  EasyDarwin的安裝部署
第10章  Nginx搭建直播平台
  10.1  Nginx項目簡介
  10.2  Nginx的安裝方式
    10.2.1  Windows 10下安裝Nginx
    10.2.2  Windows 10下安裝OpenSSL
    10.2.3  Ubuntu 18下安裝Nginx
    10.2.4  CentOS 8下安裝Nginx
  10.3  編譯rtmp及http-flv模塊

    10.3.1  Ubuntu 18下編譯nginx-rtmp-module
    10.3.2  Ubuntu 18下編譯nginx-http-flv-module
    10.3.3  Windows 10下編譯nginx-http-flv-module
  10.4  nginx.conf配置文件詳細講解
    10.4.1  Nginx配置文件結構
    10.4.2  Nginx配置文件的指令解析
    10.4.3  Nginx配置文件關於nginx-rtmp-module配置指令詳細講解
第11章  SRS搭建直播平台
  11.1  SRS項目簡介
  11.2  SRS源碼安裝與編譯
    11.2.1  在Ubuntu 18上安裝SRS
    11.2.2  在CentOS 7上安裝SRS
  11.3  SRS集群cluster
    11.3.1  SRS集群簡介
    11.3.2  SRS集群配置
  11.4  SRS配置文件詳細講解
    11.4.1  SRS配置文件的組成結構
    11.4.2  srs.conf
    11.4.3  ingest.conf
    11.4.4  hls.conf
  11.5  SRS啟用WebRTC播放
    11.5.1  編譯支持WebRTC的SRS
    11.5.2  推送RTMP視頻流
    11.5.3  WebRTC播放視頻流
第12章  ZLMediaKit搭建直播平台
  12.1  Windows編譯配置ZLMediaKit
  12.2  Linux編譯安裝ZLMediaKit
  12.3  ZLMediaKit二次開發簡介
    12.3.1  test_httpApi.cpp文件
    12.3.2  test_pusher.cpp文件
    12.3.3  lambda函數介紹
第13章  WebRTC網頁直播
  13.1  WebRTC項目簡介
  13.2  網路打洞STUN和TURN
    13.2.1  NAT穿透
    13.2.2  STUN與TURN
  13.3  WebRTC網頁直播
    13.3.1  基於Coturn項目的STUN/TURN伺服器搭建
    13.3.2  搭建信令伺服器SignalMaster
    13.3.3  安裝Web伺服器Nginx
    13.3.4  創建基於WebRTC的網頁視頻會話
第14章  FFmpeg直播應用綜合案例分析
  14.1  直播系統架構簡介
  14.2  流媒體伺服器的應用
    14.2.1  完整的流媒體伺服器系統
    14.2.2  開源的流媒體伺服器項目應用
  14.3  使用FFmpeg進行RTMP推流
  14.4  使用VLC進行RTMP拉流並播放

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032