IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SFML Discussion :

Capture vidéo fullscreen


Sujet :

SFML

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Capture vidéo fullscreen
    Bonjour,
    J'utilise la SFML depuis longtemps et je me retrouve face a un problème. Lorsque je crée une application basique en plein écran et que j'essaie de faire une capture vidéo, ma fenêtre n’apparait tout simplement pas sur la vidéo, on voit uniquement les fenêtre ouverte "derrière".

    J'ai essayé avec FRAPS, Snagit 12 et Camstasia Studio et j'ai toujours obtenu le même résultat.

    Voici le code minimal reproduisant le problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #include <SFML/Graphics.hpp>
     
    int main()
    {
        sf::RenderWindow app(sf::VideoMode(1366,768), "Test fullscreen", sf::Style::Fullscreen);
        sf::Event event;
     
        // Pour tester l'affichage
        sf::RectangleShape rect(sf::Vector2f(100,80));
        rect.move(50,20);
        rect.setFillColor(sf::Color::Green);
     
        while(app.isOpen())
        {
            while(app.pollEvent(event))
            {
                 if(event.type == sf::Event::KeyPressed)
                 {
                      app.close();
                 }
            }
            app.clear();
                app.draw(rect);
            app.display();
        }
     
        return 0;
    }
    Merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Salut,
    Il y a de forte chance que ce soit lié au Windows Manager qui fait tourner ton application.
    Avec un mode FullScreen ta fenêtre n'existe pas réellement. Quand on prend des jeux commerciaux pour faire le test, un jeu sur deux rendra noir ou rien comme chez toi. C'est à cause du mode FullScreen.

    Qu'en est-il des jeux restants (ceux qui marchent) ?
    Il y a plusieurs solutions, mais en générale ils ne sont pas réellement en fullscreen. Ils utilisent un mode fenêtré avec des paramètres pour ne pas afficher l'habillage de la fenêtre (bordure, barre de titre, ...) mais uniquement le context graphique avec des options spéciales la placent par dessus tout (même la barre de tache). Il se peut aussi que ce soit réellement un fullscreen avec des modification plus bas niveau (sans lib de fenetrage) ou tout simplement que le mode de rendu de SFML ne le permet pas.

    Essaye dans un premier temps en fenêtré pour voir le résultat.

    Si tu veux tenter ta chance avec des options qui ne sont pas géré par SFML (multiplatforme oblige) tu peux jetter un œil à cette fonction de sf::Window :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WindowHandle  getSystemHandle () const  
    //Get the OS-specific handle of the window.
    Elle permet de récupérer la Window du système. Par exemple si tu es sous linux elle te retournera une window X11. Tu auras plus de liberté mais tu perds la portabilité à moins de gérer le cas via des #define pour chaque plateforme.

Discussions similaires

  1. [Vidéo] Capture vidéo Webcam
    Par Mister Nono dans le forum Multimédia
    Réponses: 2
    Dernier message: 02/06/2009, 18h06
  2. Capture vidéo d'un programme
    Par norwy dans le forum Vidéo
    Réponses: 4
    Dernier message: 03/03/2008, 15h17
  3. Réponses: 0
    Dernier message: 23/07/2007, 15h09
  4. Capture Vidéo, MS6168
    Par black is beautiful dans le forum Composants
    Réponses: 2
    Dernier message: 23/11/2005, 19h29
  5. Modifier le codage des pixels pour capture vidéo
    Par supergrey dans le forum DirectX
    Réponses: 10
    Dernier message: 27/08/2005, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo