概念: FFmpeg 本身是一個龐大的項目衷掷,包含許多組件和庫文件,最常用的是它的命令行工具柿菩。本文介紹 FFmpeg 命令行如何處理視頻戚嗅,比桌面視頻處理軟件更簡潔高效
FFmpeg 一般調(diào)用函數(shù)
- 注冊組件:av_register_all()
- 打開封裝格式->打開文件:av_open_input_file()
3.查找視頻流->拿到視頻信息:av_find_stream_info()
4.窮舉所有的流,查找其中種類為CODEC_TYPE_VIDEO
5.查找對應(yīng)視頻的解碼器:avcodec_find_decoder() - 打開解碼器:avcodec_open2()
- 為解碼幀分配內(nèi)存:avcodec_alloc_frame()
- 讀取視頻壓縮數(shù)據(jù)->循環(huán)讀取 取出每一幀數(shù)據(jù):av_read_frame()
- 判斷幀的類型枢舶,對于視頻幀調(diào)用:avcodec_decode_video()
- 解碼完后懦胞,釋放解碼器:avcodec_close()
- 關(guān)閉輸入文件:av_close_input_file()