FFmpeg 入門詳解 — 命令行與音視頻特效原理及應用
梅會東
買這商品的人也買了...
-
$580$493 -
$354$336 -
$352FFmpeg 從入門到精通
-
$380$296 -
$534$507 -
$980$833 -
$719$683 -
$880$695 -
$414$393 -
$709FFmpeg 入門詳解 — SDK 二次開發與直播美顏原理及應用
-
$534$507 -
$650$507 -
$600$468 -
$500FreeRTOS 實時內核應用指南
-
$354$336 -
$680$537 -
$857Linux 系統安全基礎:二進制代碼安全性分析基礎與實踐
-
$1,200$948 -
$580$458 -
$680$537 -
$839$797 -
$714$678 -
$880$748 -
$800$632 -
$850$672
相關主題
商品描述
本書系統講解了FFmpeg命令行及音視頻特效的基礎理論及應用,包括詳細的FFmpeg命令行參數選項,包括音視頻轉封裝、轉碼、水印、字幕等,包括各種音視頻特效(倍速、倒放、旋轉、模糊、畫中畫、九宮格、浮雕和字幕效果等),包括流媒體方方面面(RTSP、RTMP、HLS)等直播功能,包括音視頻採集,以及各種開發語言(C++、Java、Python)調用FFmepg命令行等。本書為FFmpeg音視頻流媒體系列的第三部。 全書共分為12章:系統講解了FFmpeg命令行的基礎知識、轉封裝與轉碼、圖片水印與文字跑馬燈、各種音視頻特效、流媒體直播功能、音視頻採集功能,以及各種開發語言調用FFmepg命令行等。 書中包含大量的示例,圖文並茂,爭取讓一個音視頻流媒體領域的讀者真正入門,從此開啟流媒體直播編程的大門。本書知識體系比較完整,側重FFmpeg命令行及音視頻特效的原理講解及應用。建議讀者先學習FFmpeg音視頻流媒體系列的第一本《FFmpeg入門詳解——音視頻原理及應用》和第二本《FFmpeg入門詳解——流媒體直播原理及應用》,然後來學習本書。本書的講解過程由淺入深,讓讀者在不知不覺中學會了FFmpeg命令行的基礎知識,並能動手實現各種轉碼功能、音視頻特效處理、並能實現流媒體直播功能。 本書可作為FFmpeg命令行應用及音視頻特效處理方向的入門書籍,也可作為高年級本科生和研究生的學習參考書籍。
目錄大綱
目錄
第1章FFmpeg入門簡介
1.1FFmpeg簡介
1.1.1FFmpeg官網介紹
1.1.2FFmpeg恥辱柱
1.1.3Libav政變
1.1.4開源許可協議簡介
1.2FFmpeg安裝
1.2.1在Windows上安裝FFmpeg
1.2.2在Linux上安裝FFmpeg
1.2.3在macOS上安裝FFmpeg
1.3FFmpeg項目組成
1.3.1工具
1.3.2SDK
1.3.3源碼
1.4FFmpeg常用功能
1.5FFmpeg框架與處理流程
1.5.1FFmpeg的處理流程
1.5.2FFmpeg的關鍵結構體
第2章FFmpeg命令行初體驗
2.1FFmpeg命令行簡介
2.2音視頻格式轉換
2.3視頻縮略圖
2.4圖片拼接成視頻
2.5ffplay視頻播放
2.6ffprobe獲取視頻信息
2.7Y4M視頻文件格式
2.7.1Y4M格式簡介
2.7.2Y4M格式規範
2.8PAL與NTSC
2.8.1制式
2.8.2PAL制式
2.8.3NTSC制式
第3章FFmpeg三大常用工具及應用選項詳解
3.1ffmpeg工具簡介
3.2ffplay工具簡介
3.2.1ffplay常用參數
3.2.2ffplay高級參數
3.2.3ffplay的數據可視化分析應用
3.2.4VLC作為RTSP流媒體服務器
3.3ffprobe工具簡介
3.3.1show_packets
3.3.2show_format
3.3.3show_frames
3.3.4show_streams
3.3.5print_format
3.3.6select_streams
3.4通用選項
3.5視頻選項
3.6音頻選項
3.7字幕選項
3.8高級選項
3.9map詳解
3.10ffmpeg h詳解
3.11FFmpeg其他選項
3.11.1formats: 支持的文件格式
3.11.2muxers: 支持的封裝器格式
3.11.3demuxers: 支持的解封裝器格式
3.11.4devices: 支持的設備
3.11.5encoders: 支持的編碼器格式
3.11.6decoders: 支持的解碼器格式
3.11.7protocols: 支持的協議格式
3.11.8hwaccels: 支持的硬件加速格式
3.11.9layouts: 支持的聲道模式
3.11.10sample_fmts: 支持的採樣格式
3.11.11colors: 支持的顏色名稱
3.11.12pix_fmts: 支持的像素格式
第4章FFmpeg命令行實現音視頻轉封裝
4.1視頻容器及封裝與解封裝簡介
4.2音視頻流的分離與合成
4.2.1從MP4文件中提取音頻流和視頻流
4.2.2h264_mp4toannexb
4.2.3根據音頻流和視頻流合成MP4文件
4.2.4將多個MP4文件合並成一個MP4文件
4.3封裝格式之間的互轉
4.3.1MP4轉換為FLV
4.3.2MP4轉換為AVI
4.3.3其他格式轉換
4.3.4AVI/FLV/TS格式簡介
4.4MP4格式的faststart快速播放模式
4.4.1MP4格式簡介
4.4.2faststart參數介紹
第5章FFmpeg命令行實現音視頻轉碼
5.1音視頻編解碼及轉碼簡介
5.1.1視頻編解碼簡介
5.1.2音頻編解碼簡介
5.1.3音視頻轉碼簡介
5.2提取音視頻的YUV/PCM
5.2.1利用FFmpeg提取視頻的YUV像素數據
5.2.2YUV444/YUV422/YUV420
5.2.3利用FFmpeg提取視頻的RGB像素數據
5.2.4RGB16/RGB24/RGB32
5.2.5利用FFmpeg提取音頻的PCM
5.2.6PCM數據與WAV格式
5.3音頻編解碼簡介及命令行案例
5.3.1PCM編碼為AAC
5.3.2AAC轉碼為MP3
5.3.3AAC轉碼為AC3
5.4視頻編解碼簡介及命令行案例
5.4.1YUV編碼為H.264
5.4.2MP4格式轉碼為FLV格式
5.4.3MP4格式轉碼為AVI格式
5.4.4MP4格式轉碼為TS格式
5.4.5其他格式之間互轉
5.5控制音頻的聲道數、採樣率及採樣格式
5.5.1單聲道與立體聲互轉
5.5.2採樣率轉換
5.5.3採樣格式轉換及音頻重採樣
5.6控制視頻的幀率、碼率及分辨率
5.6.1控制視頻的幀率
5.6.2控制視頻的碼率及分辨率
5.6.3控制視頻的GOP
5.6.4視頻GOP簡介
5.7libx264的常用編碼選項及應用案例
5.7.1FFmpeg中libx264的選項
5.7.2x264.exe中的選項名與選項值
5.8libx265的常用編碼選項及應用案例
5.9FFmpeg的GPU硬件加速原理及應用案例
第6章FFmpeg命令行實現圖片水印及文字跑馬燈
6.1FFmpeg的濾鏡技術
6.2圖片水印及位置控制
6.2.1vf的movie濾鏡
6.2.2vf的movie中的絕對路徑
6.2.3vf的delogo去掉水印
6.3文字水印及位置控制
6.3.1vf的drawtext添加固定文字水印
6.3.2vf的drawtext控制文字顏色及大小
6.3.3查看drawtext的參數
6.3.4drawtext的文字內容來源
6.3.5drawtext的主要參數
6.3.6vf的drawtext添加系統時間水印
6.4文字跑馬燈案例實戰
6.5FFmpeg的overlay技術簡介
6.5.1overlay技術簡介
6.5.2filter_complex overlay添加水印
6.6控制文字的大小和顏色並解決中文亂碼問題
6.6.1vf的drawtext添加中文水印
6.6.2vf的drawtext解決中文亂碼問題
6.6.3vf的drawtext中使用絕對路徑
第7章FFmpeg命令行實現音視頻特效及復雜濾鏡應用
7.1復雜濾鏡filter_complex簡介
7.1.1簡單濾鏡和復雜濾鏡案例入門
7.1.2濾鏡圖、濾鏡鏈、濾鏡的關系
7.1.3簡單濾鏡和復雜濾鏡的區別
7.1.4流和濾鏡的結合使用
7.2視頻縮放及scale參數詳解
7.2.1使用scale實現縮放
7.2.2使用scale保持寬高比縮放
7.2.3使用FFmpeg的內置變量進行縮放
7.2.4使用min或max函數進行縮放
7.2.5使用force_original_aspect_ratio進行縮放
7.2.6使用pad選項填充黑邊
7.2.7使用scale的指定算法進行縮放
7.2.8scale參數說明
7.3音視頻倍速
7.3.1視頻倍速
7.3.2音頻倍速
7.3.3音視頻同時倍速
7.3.4使用ffplay倍速播放
7.4視頻裁剪及crop參數詳解
7.4.1使用crop實現裁剪
7.4.2crop參數說明
7.4.3復雜濾鏡nullsrc、crop、overlay結合使用
7.4.4nullsrc參數說明
7.4.5使用nullsrc生成一段空屏視頻
7.4.6使用color濾鏡生成黑色背景的視頻
7.5視頻倒放
7.6視頻翻轉與旋轉
7.7視頻填充pad濾鏡
7.8視頻倒影及鏡面水面特效
7.9畫中畫
7.9.1畫中畫技術簡介
7.9.2使用overlay實現畫中畫
7.9.3使用overlay與scale的結合實現畫中畫
7.9.4畫中畫的靈活位置
7.10九宮格
7.10.1九宮格簡介
7.10.2使用FFmpeg實現“四宮格”
7.10.3實現“四宮格”的任意順序
7.10.4使用FFmpeg實現“九宮格”
7.10.5實現的視頻“四宮格”
7.11淡入淡出效果
7.11.1fade濾鏡的參數說明
7.11.2fade濾鏡的用法
7.11.3fade濾鏡的案例
7.12黑白效果
7.13模糊處理
7.14視頻顫抖
7.15浮雕效果
7.15.1geq濾鏡參數簡介
7.15.2geq濾鏡的官網介紹
7.16靜音音頻和黑幕視頻
7.16.1生成靜音音頻
7.16.2生成純色視頻
7.17軟字幕和硬字幕
7.17.1字幕簡介
7.17.2字幕處理
第8章FFmpeg命令行實現流媒體功能及直播應用
8.1RTSP簡介及直播流
8.1.1RTSP簡介
8.1.2VLC作為RTSP流媒體服務器
8.1.3FFmpeg實現RTSP直播拉流
8.1.4RTSP交互流程分析
8.1.5VLC使用攝像頭模擬RTSP直播流
8.2RTP簡介及直播流
8.2.1RTP簡介
8.2.2VLC作為RTP流媒體服務器
8.2.3FFmpeg實現RTP直播拉流
8.3HTTP簡介及直播流
8.3.1HTTP簡介
8.3.2HTTP流媒體
8.3.3VLC作為HTTP流媒體服務器
8.3.4FFmpeg實現HTTP直播拉流
8.4UDP簡介及直播流
8.4.1UDP簡介
8.4.2VLC作為UDP流媒體服務器
8.4.3FFmpeg實現UDP直播拉流
8.5流媒體服務器的搭建
8.6RTMP直播推流與拉流
8.6.1RTMP簡介
8.6.2直播推流與拉流
8.6.3使用FFmpeg實現RTMP直播推流
8.6.4使用ffplay播放RTMP直播流
8.7HLS與M3U8直播功能
8.7.1NginxHTTPFLV生成HLS切片
8.7.2M3U8簡介
8.7.3使用ffplay播放HLS直播流
第9章FFmpeg命令行實現音視頻設備採集
9.1FFmpeg枚舉設備
9.2FFmpeg採集本地話筒與攝像頭數據
9.3FFmpeg採集網絡攝像頭獲取的數據並錄制
9.4FFmpeg採集攝像頭與話筒獲取的數據並直播
9.5Linux系統中FFmpeg採集攝像頭獲取的數據
9.5.1VMware中的Ubuntu連接USB攝像頭
9.5.2FFmpeg採集USB攝像頭獲取的數據
9.6FFmpeg錄制電腦屏幕
9.6.1Windows系統中FFmpeg錄屏
9.6.2Linux系統中FFmpeg錄屏
第10章FFmpeg命令行在Linux系統中的應用
10.1使用FFmpeg實現音視頻轉碼
10.2使用ffplay和ffprobe
10.3使用FFmpeg實現文字水印及跑馬燈
10.4使用FFmpeg實現音視頻特效
10.5使用FFmpeg實現流媒體及直播功能
第11章體驗FFmpeg 5.0
11.1安裝FFmpeg 5.0
11.1.1FFmpeg 5.0的官網簡介
11.1.2FFmpeg 5.0的安裝
11.2使用FFmpeg 5.0實現音視頻轉碼
11.3使用FFmpeg 5.0實現文字跑馬燈
11.4使用FFmpeg 5.0實現音視頻特效
11.5使用FFmpeg 5.0實現流媒體及直播功能
第12章各種開發語言調用FFmpeg命令行
12.1C++調用FFmpeg命令行
12.1.1C++調用FFmpeg命令行的跨平臺通用代碼
12.1.2Visual Studio調用FFmpeg命令行
12.1.3Qt調用FFmpeg命令行
12.1.4MinGW調用FFmpeg命令行
12.1.5Linux系統下C++調用FFmpeg命令行
12.1.6popen與pclose
12.2Java調用FFmpeg命令行
12.3Python調用FFmpeg命令行