1
A
回答
3
How to capture screen with ffmpeg:
使用x11grab設備:
ffmpeg的-f x11grab -r 25 -s 1024×768 -i:0.0 + 100200 output.flv
這將從桌面抓取圖像,從左上角的 拐角開始(x = 100,y = 200),寬度和高度均爲1024x768。
如果您需要的音頻也可以使用ALSA這樣的:
ffmpeg的-f x11grab -r -s 25 1024x768的-i:0.0 + 100,200 -f ALSA -ac 2 -i 脈衝output.flv
所以,你可以簡單地將這個在capture.sh
,並從你的代碼運行:
#include <cstdlib>
int main(){ std::system("./capture.sh"); }
如果你必須這樣做,而不調用外部工具,您可以使用libffmpeg directly.
0
開源「scrot」程序可能會滿足您的需求。
Licenses BSD Original
Operating Systems POSIX BSD Linux
Implementation C language
得到scrot源代碼的here
scrot-0.8/src$ wc -l *.{c,h}
187 getopt1.c
1043 getopt.c
57 imlib.c
632 main.c
264 options.c
31 debug.h
136 getopt.h
51 options.h
96 scrot.h
31 structs.h
2528 total
相關問題
- 1. GLUT屏幕捕獲在C
- 2. 在C++中發送屏幕捕獲流
- 3. 屏幕捕獲無法使用C++和GDI捕獲整個屏幕
- 4. 在Linux上的屏幕捕獲
- 5. 屏幕捕獲的C++代碼
- 6. C#捕獲的Direct 3D屏幕
- 7. 屏幕捕獲C#ASP.NET web應用程序
- 8. 捕獲桌面屏幕QT/C++ WinAPI
- 9. C#:從Windows服務捕獲屏幕
- 10. 如何捕捉Metro C#應用程序中的屏幕
- 11. C++程序清除屏幕
- 12. 在windows和linux中使用python捕獲屏幕截圖
- 13. 登錄屏幕中的屏幕捕獲
- 14. 屏幕捕獲在IOS中
- 15. 在Go中捕獲屏幕?
- 16. 爪哇屏幕捕獲小程序
- 17. Linux:啓動窗口,捕獲屏幕
- 18. 捕獲屏幕
- 19. 捕獲屏幕
- 20. 在C++中獲取Linux上可用屏幕空間的方法
- 21. 是否有可能在linux中捕獲應用程序屏幕緩衝區?
- 22. 在Android的屏幕捕獲
- 23. 在Windows XP中的後臺進程中捕獲屏幕視頻C#.NET
- 24. 在Solaris,Linux,Windows和Mac上清除C中的屏幕
- 25. 在C#中捕獲屏幕但不是當前窗體?
- 26. C++ linux - 在C++ linux應用程序中獲取IP
- 27. 在C(linux)中捕獲鼠標事件
- 28. 保存表面在C#中的位圖和優化的DirectX屏幕捕獲
- 29. 捕獲屏幕和音頻與目標-c
- 30. 屏幕捕獲的代碼屏幕捕獲Android的任何屏幕
可能重複的[最快方法在Linux的屏幕捕獲(http://stackoverflow.com/questions/13479975/fastest-method-for- screen-capturing-on-linux) –
閱讀libX11手冊:您可以抓取顯示並將其內容保存到文件中。 –
從'xwd'來源獲取代碼:您只需要1-2頁的代碼! –