J'ai besoin de diffuser le bureau de mon Mac et de permettre à d'autres personnes de regarder ce que je fais. J'ai essayé d'utiliser VLC (qui ne fonctionne plus dans la version stable actuelle). J'ai essayé ffmpeg qui ne fonctionne plus avec l'option x11grab sur osx. Connaissez-vous un logiciel commercial ou gratuit qui permet l'enregistrement et la diffusion d'écran ? Ou alternativement quelque chose qui peut être transmis à ffmpeg ou vlc ? Ou peut-être pouvez-vous m'indiquer un endroit où étudier comment construire une application très basique pour osx qui capture l'écran ? Merci
Réponse
Trop de publicités?
SG39
Points
43
Voici un exemple de code pour capturer l'écran et l'enregistrer dans un fichier qui a fonctionné pour moi.
/** Enregistrer l'écran actuel vers le chemin de destination mentionné. **/
-(void)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];
}
Vous pouvez trouver l'exemple de code à l'adresse suivante http://developer.apple.com/library/mac/#qa/qa1740/_index.html
Veuillez consulter l'url. Cela peut vous aider à créer au moins une application de base qui capture votre écran.