點選 ffmpeg官網,選擇windows,然後點選Windows builds from gyan.dev
:
也可以直接點選 https://www.gyan.dev/ffmpeg/builds/ ,在點選ffmpeg-git-full.7z
,即可下載:
下載到的檔案格式為7z(一種壓縮格式),用電腦安裝的壓縮工具解壓即可。如果沒有安裝支援7z的壓縮工具,可以點選https://www.7-zip.org/,下載:
下載完,雙擊開啟,一路同意
和下一步
直到完成即可。
解壓後剪下至自己習慣放軟體的資料夾下即可:
我把它放在了D:\opt\ffmpeg\
。然後記住這個路徑D:\opt\ffmpeg\bin
,後面的錄屏命令用的到。
選做:將D:\opt\ffmpeg\bin
新增到系統環境變數。目的是不用記住上一步的這個路徑D:\opt\ffmpeg\bin
,就可以用ffmpeg。具體方法請自行百度。
至此,ffmpeg就安裝完了。
按下Windows
+R
鍵,輸入cmd
,回車,開啟命令提示字元視窗:
依次輸入以下命令
# 跳轉至ffmpeg程式所在路徑,設定了ffmpeg環境變數的可以略過
d:
cd /opt/ffmpeg/bin/
# 上面的碟符`d:`和路徑`/opt/ffmpeg/bin/` 要根據你ffmpeg的安裝路徑靈活修改!
ffmpeg -list_devices true -f dshow -i dummy
,檢視可用裝置的清單(每臺電腦的請結果都不太一樣,但是相似,可以根據我下面的結果甄別自己電腦的裝置):麥克風陣列 (Realtek(R) Audio)
裝置,注意是這一部分,不包含引號:電腦畫面改選哪個呢?有兩種方案:
Screen Capturer Recorder
然後選擇上面的裝置清單中的screen-capture-recorder
(見上圖;安裝好後再執行檢視裝置的命令才會出現)。gdigrab
。麥克風陣列 (Realtek(R) Audio)
。輸入ffmpeg -encoders |findstr "hevc 265"
,檢視可用的編碼器。我的電腦支援這些:
該選擇哪一個呢?
libx265
是通用的,選這個最保守,但是它再不做優化的情況下是靠cpu運算。簡單理解,一旦開啟錄屏,你的電腦cpu使用率會飆升,甚至造成電腦卡頓。嘗試一下,如果沒有造成卡頓,就可以計需用這個編碼器了。hevc_nvenc
編碼器。hevc_amf
,如果是Intel的,就選hevc_qsv
。 或者乾脆挨個嘗試一下,反正又不多。hevc_nvenc
。通過上面兩步,我記住了我的音訊輸入裝置是麥克風陣列 (Realtek(R) Audio)
,編碼器是hevc_nvenc
。下面在命令提示字元視窗輸入我的錄屏命令
ffmpeg -f dshow -i audio="麥克風陣列 (Realtek(R) Audio)" -f gdigrab -i desktop -c:v hevc_nvenc -r 8 -b 0.6M -minrate 0.4M -maxrate 2M -bufsize 4M -y D:\Personal\Desktop\錄屏%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.mp4
其中-f dshow -i audio="麥克風陣列 (Realtek(R) Audio)"
是指定採集的音訊裝置,你可以將麥克風陣列 (Realtek(R) Audio)
換成你想要採集的音訊輸入裝置。
其中-f gdigrab -i desktop
是指定採集的視訊裝置,含義為採集電腦螢幕畫面。
其中-c:v hevc_nvenc
是指定視訊編碼器,你可以將hevc_nvenc
換成適合你的編碼器。如果實在不知道該選哪個,就用libx265
,如果用這個電腦錄屏會卡,就用libx264
。還卡?就放棄吧。
如果開始錄屏後,cpu飆升,說明使用的cpu進行編碼運算:
如果是GPU生生明顯,cpu上升不明顯,則說明編碼器再用獨顯計算:
其中-r 8
是指定視訊的影格率。影格率是什麼,可自行百度。簡單說,這個值越高,視訊就會越流暢,但是錄屏後的視訊檔越大(其他引數不變的情況下);反之,視訊就會越跳躍,極端情況下會變成ppt的效果,但是視訊檔的體積會越小。對於錄屏來說,建議設定在5--30之間,通過多次嘗試,找到自己滿意的數值。
其中-b 0.6M -minrate 0.4M -maxrate 2M -bufsize 4M
是設定視訊的位元率,就是每秒會產生多大的體積。0.6M就是每秒會佔600kbp,簡單說就是一秒的視訊體積是600➗8也就是不到100K。-b
後面跟的是基準位元率,-minrate
是最小位元率 -maxrate
是最大位元率。位元率不能過低,雖然會降低檔案體積,但是過低會導致畫面的清晰度慘不忍睹!過高也沒有意義,因為畫面的效果還收其他引數的影響,比如解析度、影格率等等。推薦的最小值是-b 0.6M -minrate 0.4M -maxrate 2M -bufsize 4M
,最大值是-b 2M -minrate 1M -maxrate 4M -bufsize 8M
其中D:\Personal\Desktop\錄屏%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.mp4
是錄屏檔案儲存位置和名稱。可根據自己的需要修改。
-r
,位元速率-b
,解析度等引數,可以在多次嘗試中找到檔案體積和錄製效果間的一個權衡。這裡給出一個參考:通常H265編碼下,1080p的視訊大小應該在300M到1.5G之間,我按照上手引數錄製的視訊在400M左右。D:
/opt/ffmpeg/bin/ffmpeg.exe -f dshow -i audio="麥克風陣列 (Realtek(R) Audio)" -f gdigrab -i desktop -c:v hevc_nvenc -r 8 -b 0.6M -minrate 0.4M -maxrate 2M -bufsize 4M -y D:\Personal\Desktop\錄屏%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.mp4
注意:儲存後的bat檔案編碼得是windows預設的GBK,如果是UTF-8會導致執行失敗!
最後,如有交代不清的,或者錯誤之處,歡迎交流指正!