3 votes

capture d'écran sur osx

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

0voto

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X