FFmpeg學習總結 一

2021-10-04 12:16:54 字數 3602 閱讀 8683

分解/復用

3、抽取音訊

處理原始資料

濾鏡切割與合併

圖/視互轉

4、轉為gif

直播相關

結尾學習了一段時間的ffmpeg,在此記錄學習過程與走過的彎路,防止大家踩我走過的坑。

1、容器(container)

編解碼器是以幀為單位實現壓縮資料和原始資料之間的相互轉換的。

4、編碼格式(channel)可分為以下大類:

基本資訊查詢

錄製分解/復用

處理原始資料

濾鏡切割與合併

圖/視互轉

直播相關

ffmpeg可以一下命令進行基本資訊查詢,如查詢版本:

ffmpeg -version

-version  顯示版本

-formats 顯示可用的格式

-muxers 顯示可用的復用器

-demuxers 顯示可用的解復用器

-devices 顯示可用的裝置

-codecs 顯示可用的編碼器

-decoders 顯示可用的解碼器

-bsfs 顯示可用的位元流過濾器

-filters 顯示可用的過濾器

-pix_fmts 顯示可用的畫素格式

-protocols 顯示可用的協議

-layouts 顯示channel名稱和標準channel布局

-sample_fmts 顯示可用的音訊取樣格式

-colors 顯示可用的顏色名稱

-sources device 輸入裝置的源列表

-sinks device 輸出裝置的接收器列表

-hwaccels 顯示了可用的hw加速方法

通過ffmpeg -devices檢視當前系統可以支援什麼裝置,

從輸出內容中可以看到資訊分為三大部分:

-解封裝或封裝的支援情況

-裝置列表

-裝置介紹

ffmpeg -f alsa -ac 2 -i hw:0 -f x11grab -s 1200*780 -i :0.0 +10,20

out.mpg

引數說明:
ffmpeg -f x11grab -s 640x480 -i :0.0 -r 30 out.yuv

引數說明:

ffplay -video_size 640x480 -pix_fmt bgr0 out.yuv

引數說明:

引數說明:-an:a 代表音訊,n 代表 no 也就是沒有音訊的意思

ffmpeg -i input.mp4 -acodec copy -vn out.aac

引數說明:將h.264檔案與aac檔案合併生成mp4檔案

ffmpeg -i input.aac -i input.h264 -vcodec copy -acodec copy 2-4.mp4

ffmpeg -i input.mp4 -an -c:v rawvideo -pixel_format yuv420p out.yuv

引數說明

ffplay -s 320x240 -pix_fmt yuv420p out.yuv

ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

引數說明
ffplay -ar 44100 -f s16le -ac 2 out.pcm

濾鏡部分較為繁雜,我也不是很了解,推薦大家幾個文章:

ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:10 -vcodec copy -acodec out.mp4

引數說明:
ffmpeg -f concat -i filelist.txt -c copy out.mp4

引數說明:
file input1.mp4

引數說明:-i 輸入檔案

-r 1 幀率,每秒分解1幀

-f image2 以image2格式儲存

image%2d.jpg 以image00.jpg 遞增的名稱格式儲存

引數說明:

ffmpeg -i input.mp4 -ss 0:0:10 -t 10 -s 320x240 -pix_fmt rgb24 output.gif

引數說明:-pix_fmt 指定格式

ffmpeg -re -i input.mp4 -c copy -f flv rtmp://live/streamname

引數說明:
ffmpeg -i rtmp://server/live/streamname -c copy out.mp4

本次操作需安裝nginx+rtmp伺服器,集體可參考:

示例:

ffmpeg學習筆記

對於每乙個剛開始學習的人,剛開始接觸ffmpeg時,想必會有三個問題最為關心,即ffmpeg是什麼?能幹什麼?怎麼開始學習?本人前段時間開始接觸ffmpeg,在剛開始學習過程中。這三個問題尤其最後乙個問題著實困擾了我一下。如今將我對ffmpeg的一點理解分享出來。希望對正在學習ffmpeg程式設計的...

ffmpeg使用轉碼學習

好了,那我們經常說的轉碼其實就是這麼個過程 原音訊 解碼 音訊資料 編碼 目標音訊 我們使用aac轉 的例子來看ffmpeg在音訊轉碼方面的使用。但是,aac格式的音訊檔案在html5中不是可以被所有的瀏覽器所支援的。瀏覽器對音訊檔案的支援如下 再回到ffmpeg工具,它的格式是這樣的 usage ...

FFmpeg 學習記錄(備忘)

目錄 1.ubuntu環境下 1.1 開啟攝像頭實時監控 1.2 檢視支援的格式 1.3 開啟攝像頭並且儲存錄影 1.4 開啟攝像頭並且rtmp推流 2.windows環境下 2.1 開啟攝像頭實時監控 3.參考文章 ffplay f video4linux2 framerate 30 video ...