ffmpeg -f dshow -list_devices true -i dummy
會列出所有它能認出的 dshow devices。接著安裝虛擬的 dshow 裝置,視需求安裝,
- https://github.com/rdp/screen-capture-recorder-to-video-windows-free (錄桌面)
- https://github.com/rdp/virtual-audio-capture-grabber-device (錄電腦音源)
如果要擷取整台電腦的音源(想錄一般麥克風、或是列出的名稱是亂碼的音源裝置),第二項是必須要裝的。注意要用這兩個 virtual device 需要 32bit 的 ffmpeg。
ffmpeg -rtbufsize 512000k -f dshow -i video=screen-capture-recorder:audio=virtual-audio-capturer -vcodec libx264 -preset fast -tune stillimage -x264opts crf=26 -acodec libvorbis -aq 3 screencast.mkv
這樣會將現在看到的桌面與任何動作以 x264 壓縮到 screencast.mkv 這個影片中,就算是在被遠端桌面的狀況下,也能正常錄製;當下桌面的解析度就會是影片壓製的解析度。
最近版本這樣壓出來的影片會是 4:4:4 的,若要丟到 Youtube 上,必須是 yuv420p,所以要指定,
假設你的螢幕解析度是 1440x900,為了上傳 youtube 方便,想弄成 720p 的 16:9,可以先 crop 成 16:9 的 1440x810,然後再 scale 成 1280x720,如上的綠字部份。像是這個測試就是從 1024x640 crop and scale to 1280x720。
如果要流暢一點,還能指定 input 的 framerate (defaults to 25fps),詳細請看 ffmpeg 的 man pages。
最近版本這樣壓出來的影片會是 4:4:4 的,若要丟到 Youtube 上,必須是 yuv420p,所以要指定,
ffmpeg -rtbufsize 512000k -f dshow -i video=screen-capture-recorder:audio=virtual-audio-capturer -vcodec libx264 -preset fast -tune stillimage -x264opts crf=26 -acodec libvorbis -aq 3 -pix_fmt yuv420p -sws_flags lanczos -vf crop=1440:810:0:0,scale=1280:720 screencast.mkv
假設你的螢幕解析度是 1440x900,為了上傳 youtube 方便,想弄成 720p 的 16:9,可以先 crop 成 16:9 的 1440x810,然後再 scale 成 1280x720,如上的綠字部份。像是這個測試就是從 1024x640 crop and scale to 1280x720。
如果要流暢一點,還能指定 input 的 framerate (defaults to 25fps),詳細請看 ffmpeg 的 man pages。
記得,如果是在 mac 下…
可以直接用 QuickTime Player 錄桌面!
沒有留言:
張貼留言