ffmpeg錄屏


使用gdigrab錄制屏幕

  //            gdigrab 錄屏
            //-s 1920x1080 錄制的屏幕寬度、高度
            //- offset_x 100  偏移
            // - offset_y 200  偏移
            //  需要注意寬度、高度分別加上偏移以后不能超出屏幕
            //例如 - s 1920x1080 - offset_x 100 - offset_y 200
            //會有以下報錯
            //Capture area(10, 20),(1930, 1100) extends outside window area(0,-1440),(2560, 1080)desktop: I / O error
            //   - i desktop 錄制屏幕
            //-thread_queue_size 此選項設置從文件或設備讀取時排隊數據包的最大數量。低延遲 / 高速率的直播流,如果不及時讀取數據包可能會被丟棄;設置此值可以強制 ffmpeg 使用單獨的輸入線程並在數據包到達時立即讀取數據包。默認情況下,ffmpeg 僅在指定了多個輸入時才執行此操作。
            //-r 幀率
            //libx264 使用 libx264 編碼所有視頻流並復制所有音頻流。
            //-acodec 設置音頻編解碼器,copy: 所選流的數據包應從輸入文件傳送並在輸出文件中混合
            //- f 強制輸入或輸出文件格式。通常會自動檢測輸入文件的格式,並根據輸出文件的文件擴展名猜測格式,因此在大多數情況下不需要此選項。

常用操作

  1. 抓取整個屏幕保存圖片
ffmpeg -f gdigrab -i desktop test.png
  1. 截屏指定區域
//調整截圖區域需要在輸入-i之前
ffmpeg -f gdigrab -s 500x500 -offset_x 100 -offset_y 100 -i desktop   -frames:v 1 test.png
  1. 截屏指定窗口
//通過title指定窗口標題
//輸出為jpg,若為png將存在透明窗口的問題
ffmpeg -f gdigrab -i title="Windows 7sp1 x64_677408 - VMware Workstation"   -frames:v 1 test.jpg
  1. 截屏指定窗口指定區域
ffmpeg -f gdigrab  -s 500x500 -offset_x 100 -offset_y 100  -i title="Windows 7sp1 x64_677408 - VMware Workstation"   -frames:v 1 test.jpg
  1. 錄制屏幕為視頻文件
ffmpeg.exe -r 1 -f gdigrab  -i desktop -vcodec libx264  a.mp4
  1. 錄制屏幕指定區域
ffmpeg.exe -r 1 -f gdigrab -s 500x500 -offset_x 100 -offset_y 100  -i desktop -vcodec libx264  a.mp4
  1. 錄制屏幕為直播流
ffmpeg -thread_queue_size 1000 -r 30 -f gdigrab -s 1820x880 -offset_x 100 -offset_y 200 -i desktop -vcodec libx264 -acodec copy -preset:v ultrafast -tune:v zerolatency -max_delay 10 -g 50 -sc_threshold 0 -f flv rtmp://xxxxxx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM