我一直在嘗試使用FFmpeg的X11grab模塊錄製截屏視頻,目前爲止它的工作或多或少都很好。我知道a/v編碼是一個複雜的過程,有很多細節,但我正在盡我所能學習。FFmpeg截屏錄像:使用哪些編解碼器?
我想對視頻流進行「輕量級」錄製,在錄製流時儘可能減少系統壓力。我用pacat和sox分別記錄兩個音頻流。後來,整個事情被過濾,規範化,編碼,並組合成一個Matroska容器。
現在,我有ffmpeg記錄一個rawvideo流被送到x264的yuv4 demuxer。我之前用ffv1和直x264錄製進行了實驗。我的系統無法使用x264處理我想要的最終流的設置的實時編碼,因此一旦記錄完成後我必須單獨進行再壓縮。我發現ffv1給了我可怕的丟幀,而yuv4也是如此,但更少。我懷疑這是由於硬盤驅動器的速度所致,即使我坐在SATA3魚子醬黑色中,專門用於存放錄製的數據。
問題是,我應該看看哪些視頻編解碼器的組合?直接在x264上記錄,並在以後重新壓縮到「更好」x264?原始視頻,然後壓縮?我將如何去尋找問題,例如我遇到的幀丟失問題?
編輯:這是我目前使用的ffmpeg行。
ffmpeg -v warning -f x11grab -s 1920x1080 -r 30000/1001 -i :0.0\
-vcodec rawvideo -pix_fmt yuv420p -s 1280x720\
-threads 0\
recvideo.y4m
屏幕錄像的分辨率是多少? – 2012-04-16 00:52:03
我以1080p錄製整個屏幕,並在飛行中縮放至720p。 – mkaito 2012-04-16 14:38:09
https://trac.ffmpeg.org/wiki/StreamingGuide提到一些不錯的編解碼器使用 – rogerdpack 2015-10-28 16:52:52