Capture d'écran vidéo
helgrind
Membre
Bonjour,
J'ai essayé l'exemple d'Apple OpenGLScreenCapture pour faire des captures vidéo de l'écran.
Le problème, c'est qu'il compresse les images à la volée et ça charge beaucoup le CPU.
J'aimerais pouvoir stocker les images dans un fichier, puis les encoder à la fin de la capture, et que ce fichier ne soit pas trop volumineux. Mais je ne vois pas comment faire :-\\
:why?:
Merci
J'ai essayé l'exemple d'Apple OpenGLScreenCapture pour faire des captures vidéo de l'écran.
Le problème, c'est qu'il compresse les images à la volée et ça charge beaucoup le CPU.
J'aimerais pouvoir stocker les images dans un fichier, puis les encoder à la fin de la capture, et que ce fichier ne soit pas trop volumineux. Mais je ne vois pas comment faire :-\\
:why?:
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
c'est pas trop consommateur de CPU enfin moins que toutes les autres solutions que j'avais pu trouvé.
(logique quand même).
Une question qui concerne plus ou moins le sujet: comment je peux enregistrer un CVPixelBuffer dans un fichier?
Que retourne les fonctions CVPixelBufferGetBytesPerRow() et CVPixelBufferGetBytesPerRowOfPlane() ?
Le problème, c'est que chaque image fait environ 5mo (à 30fps ça fait un peu beaucoup)
Y a t-il un moyen de compresser les images en temps réel pour quelles fassent pas plus de 100ko chacune?
Tu n'as pas l'impression de tourner en rond???
Si, mais je suis pas beaucoup aidé non plus et il y a vraiment aucune info sur ce sujet...
Je me demande comment fait Snapz Pro...
J'ai remarqué qu'il stocke la capture dans un fichier temporaire, sans encoder la vidéo.
Pour une capture de 15" le fichier pèse 32mo.
Pour ce même temps j'arrive à 70mo en compressant avec LZO ???
Si je devais faire une capture d'écran vidéo en mode "économe" (partant du principe que je reçois le flux image par image):
- Si possible, je baisse la résolution de l'image, je supprime des couleurs dès réception
- je compresse l'image avec l'algo le plus rapide possible
Ensuite, à la fin de la réception du flux (peut-être même seulement lors de la sauvegarde/copie/drag), j'encode toutes les images avec le bon algorithme qui va bien et qui est efficace...
Tout ceci n'étant que théorique, sans aucune idée de la faisabilité... :)beta:
Et bien c'est tout simplement parce que Snapz Pro travaille avec un format vidéo tampon qui exploite les notions de redondance spatio-temporelle et la redondance spatiale. Toi tu ne fais que compresser chaque image l'une après l'autre sans tenir compte des précédentes.
Un peu de lecture:
Encodage video
Maintenant, pour augmenter les performances, ce genre de soft exploite aussi à fond les possibilités de vectorisation (Altivec, SSE) afin de réduire l'usage du CPU ou du moins de permettre une meilleurs qualité à puissance équivalente.