Мне нужно повернуть рабочий стол моего Mac и сделать так, чтобы другие люди смотрели, что я делаю. Я пробовал использовать VLC (который больше не работает в текущей стабильной версии). Я пробовал ffmpeg, который больше не работает с опцией x11grab в osx. Знаете ли вы какое-либо программное обеспечение, коммерческое или бесплатное, с функцией записи и потоковой передачи экрана? Или, альтернативно, что-то, что можно передать в ffmpeg или vlc? Или, может быть, вы можете указать мне где-нибудь, чтобы изучить, как создать очень простое приложение для osx, которое захватывает экран? ThanksЗахват экрана на osx
3
A
ответ
0
Это пример кода для захвата экрана и сохранения его как файла, который работал для меня.
/** Запишите текущий экран на указанный путь назначения. **/
- (Недействительными) screenRecording: (NSURL *) DestPath {
//Create capture session
mSession = [[AVCaptureSession alloc] init];
//Set session preset
//mSession.sessionPreset = AVCaptureSessionPresetMedium;
mSession.sessionPreset = AVCaptureSessionPreset1280x720;
//Specify display to be captured
CGDirectDisplayID displayId = kCGDirectMainDisplay;
//Create AVCaptureScreenInput with the display id
AVCaptureScreenInput *input = [[AVCaptureScreenInput alloc] initWithDisplayID:displayId];
if(!input) {
//if input is null
return;
}
//if input is not null and can be added to the session
if([mSession canAddInput:input]) {
//Add capture screen input to the session
[mSession addInput:input];
}
//Create AVCaptureMovieFileOutput
mMovieFileOutput = [[AVCaptureMovieFileOutput alloc] init];
mMovieFileOutput.delegate = self;
if([mSession canAddOutput:mMovieFileOutput]) {
//If movie file output can be added to session, then add it the session
[mSession addOutput:mMovieFileOutput];
}
//Start running the session
[mSession startRunning];
//Check whether the movie file exists already
if([[NSFileManager defaultManager] fileExistsAtPath:[destPath path]]) {
NSError *err;
//If the movie file exists already, then delete it
if(![[NSFileManager defaultManager] removeItemAtPath:[destPath path] error:&err]) {
NSLog(@"Error deleting existing movie file %@", [err localizedDescription]);
}
}
//Start recording to destination path using the AVCaptureMovieFileOutput
[mMovieFileOutput startRecordingToOutputFileURL:destPath recordingDelegate:self];
}
Вы можете найти образец кода на http://developer.apple.com/library/mac/#qa/qa1740/_index.html
Перейди через URL. Это может помочь вам при создании базового приложения, которое захватывает ваш экран.
Смежные вопросы
- 1. Захват экрана на OSX с использованием MonoMac?
- 2. Захват экрана экрана на сервере Linux
- 3. Захват экрана, вызываемого на карте
- 4. Захват экрана IN IOS
- 5. Мгновенный захват экрана Java
- 6. Захват экрана в Linux
- 7. быстрый захват экрана iphone
- 8. Захват экрана эмулятора (андроида):
- 9. Android, Захват экрана
- 10. ASP.NET - Захват снимка экрана
- 11. Захват экрана в android
- 12. ASP.NET Захват экрана
- 13. AlertDialog setContentView захват экрана
- 14. Захват экрана Видео
- 15. Захват снимка экрана «Android»
- 16. Отключить захват экрана функциональность
- 17. захват экрана вызывает разрастись
- 18. Быстрый захват экрана Java
- 19. Эффективный захват всего экрана
- 20. Delphi EOutOfResources Захват экрана
- 21. Захват экрана, как DOM-захват с javascript?
- 22. Захват экрана SurfaceView
- 23. Захват какао-экрана?
- 24. Окно монитора (захват экрана)
- 25. Захват экрана эмулятора MEmu
- 26. Захват экрана Flash
- 27. захват экрана vlc player
- 28. ASP.NET - Возьмите захват экрана определенной области экрана?
- 29. Захват экрана графики, нарисованный на GPU?
- 30. Поделиться на Twitter захват экрана iOS5
Вы прочитали это [Capture Screen Image в C++ на OSX] [1]? Много ссылок, особенно последний. [1]: http://stackoverflow.com/questions/1537587/capture-screen-image-in-c-on-osx –
Я запрограммировал этот код C для захвата экрана Маков и показать он в окне OpenGL через функцию glDrawPixels: opengl-capture.c http://pastebin.com/pMH2rDNH –