【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )
FFmpeg 系列文章目錄
【FFmpeg】Windows 搭建 FFmpeg 命令行運行環境
【FFmpeg】FFmpeg 相關術語簡介
【FFmpeg】FFmpeg 相關術語簡介 二
【FFmpeg】FFmpeg 幫助文檔使用
【FFmpeg】使用 FFmpeg 處理音視頻格式轉換流程
文章目錄
- FFmpeg 系列文章目錄
- 一、視頻格式轉換
- 1、x264 視頻格式轉換
- 2、x265 視頻格式轉換
- 二、視頻格式轉換流程
一、視頻格式轉換
1、x264 視頻格式轉換
使用 x264 壓縮格式 , 將原始 大小 1920x1040 大小的 mp4 格式的視頻轉為 960x520 的 flv 格式的視頻 ;
進入視頻所在目錄 , 執行如下命令 :
ffmpeg -i 1920x1040.mp4 -acodec copy -vcodec libx264 -s 960x520 960x520.flv命令執行過程 :
轉換前的視頻信息 :
轉換后的視頻信息 :
2、x265 視頻格式轉換
使用 x265 壓縮格式 , 將原始 大小 1920x1040 大小的 mp4 格式的視頻轉為 960x520 的 mkv 格式的視頻 ;
進入視頻所在目錄 , 執行如下命令 :
ffmpeg -i 1920x1040.mp4 -acodec copy -vcodec libx265 -s 960x520 960x520.mkv命令執行結果 :
轉換前的視頻信息 :
轉換后的視頻信息 :
二、視頻格式轉換流程
分析如下命令的詳細流程 :
ffmpeg -i 1920x1040.mp4 -acodec copy -vcodec libx264 -s 960x520 960x520.flv將 1920x1040 大小的 mp4 格式的視頻文件 , 使用 x264 編解碼器 , 轉為 960x520 大小的 flv 格式的視頻文件 ;
藍色的是 文件 / 中間產物 , 紅色的是過程 ;
輸入文件 : 輸入 1920x1040 大小的 mp4 格式文件 , 1920x1040.mp4 ;
解復用 : 使用 demuxer 解復用器 , 將輸入文件進行解復用操作 , 從容器中分別將 AVC 視頻流 , AAC LC 音頻流取出 , 得到編碼數據包 ;
編碼數據包 : 該數據包中的音視頻數據都是編碼后的數據 , 不能直接使用 ; 編碼數據包中的視頻流數據是 AVC 編碼格式的 , 音頻流數據是 AAC LC 編碼格式的 ;
解碼 : 使用 decoder 解碼器 , 解碼 AVC 編碼的視頻流數據 , AAC LC 編碼的音頻流數據 , 得到解碼后的數據 ;
解碼后的數據幀 : 音頻數據是 PCM 采樣 , 視頻幀 數據是一張張 YUV 格式的圖片 ;
幀處理 : 使用 filter 過濾器 處理 解碼后的數據幀 , 將其轉為 處理后的數據幀 ; 該過程中將視頻的分辨率進行了修改 , 分辨率從 1920x1040 轉為 960x520 ;
如果要修改視頻的相關參數 , 如 時間 , 幀率 , 都在該步驟進行操作 , 操作的主體一定是解碼后的數據幀 ;
處理后的數據幀 : 該數據幀是可以直接用于播放 ; 音頻數據是 PCM 采樣 , 視頻幀 數據是一張張 YUV 格式的圖片 ;
編碼 : 使用 encoder 編碼器 , 將處理后的數據幀進行編碼 , 音頻從 PCM 采樣轉為 AAC LC 編碼格式 , 視頻從 YUV 圖片編碼為 AVC 編碼格式 ,
編碼數據包 : 音頻數據是 AAC LC 編碼格式 , 視頻數據是 AVC 編碼格式 ;
復用 : 使用 muxer 復用器 , 將編碼后的 視頻流 和 音頻流 封裝到 容器中 , 即 flv 格式的視頻文件 , 得到輸出文件 ;
輸出文件 : 格式轉換完畢的 960x520.flv 視頻文件 ;
總結
以上是生活随笔為你收集整理的【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )的全部內容,希望文章能夠幫你解決所遇到的問題。

- 上一篇: 【FFmpeg】FFmpeg 帮助文档使
- 下一篇: 【FFmpeg】ffmpeg 命令查询二