Forum de la communauté SFML

Général => Projets SFML => Discussion démarrée par: Ceylo le Mars 25, 2012, 03:25:03 pm

Titre: sfeMovie [v1.0 disponible]
Posté par: Ceylo le Mars 25, 2012, 03:25:03 pm
Suite au changement de forum, je refais un sujet pour présenter sfeMovie. Le sujet d'origine est toujours disponible ici (http://www.sfml-dev.org/old-forum-fr/viewtopic.php?t=3131).

Qu'est-ce que sfeMovie ?

sfeMovie est une bibliothèque en C++ qui vous permet de lire facilement des vidéos dans les applications basées sur SFML. Elle s'appuie sur SFML pour le rendu vidéo et audio, et FFmpeg pour le décodage. La bibliothèque a été écrite de manière à s'intégrer le plus facilement possible avec SFML : même état d'esprit et conventions d'écriture.

La dernière version disponible est la version 1.0.

Fonctionnalités principales

- rendu audio et vidéo
- contrôles de base : lecture, pause, arrêt, réglage du son
- accès à l'image actuelle pour des utilisations externes
- adaptation du rendu à un cadre donné en conservant le ratio
- portable (Windows et Mac OS X, et Linux)

Formats supportés (liste non exhaustive)

Sont indiqués en gras les codecs gratuits et inclus dans les binaires proposés. Pour des raisons légales, afin de pouvoir utiliser les autres décodeurs vous devez recompiler sfeMovie.

Audio : AAC, AC3, FLAC, MP3, PCM, Vorbis, WMA
Vidéo : H.264 (ie. MPEG-4 AVC), MPEG4, Theora, VP8, WMV

Démonstration (Windows)

sfeMovie Demo.zip (https://github.com/downloads/Yalir/sfeMovie/sfeMovieDemo.zip) (12.7 Mo)

Informations détaillées

Pour les étapes d'installation, code d'exemple et téléchargement :
Direction le site web ! (en anglais) => sfeMovie Project (http://sfemovie.yalir.org/1.0/)


Tous commentaires, que ce soit pour des retours ou critiques, sont les bienvenus !

Ceylo


Historique du post:
- 25 mars 2012 : post initial (v1.0 rc1)
- 30 juillet 2012 : modifications pour la v1.0 finale
- 19 juillet 2014 : màj URL du site web
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: mrpantalon le Mars 25, 2012, 04:11:22 pm
Salut, les lien sont morts
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mars 25, 2012, 04:48:41 pm
Arf oui en effet, j'ai encore les habitudes de l'ancien forum avec des guillemets (en trop ici pour les urls).

C'est corrigé. Merci :)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Mjonir le Mars 25, 2012, 05:13:44 pm
Je ne sais plus trop où on en était sur l'ancien forum mais:

J'ai retenté avec un film 720p sur mon portable, ça tourne sans que la fluidité ne choque à 50/60% d'utilisation CPU.

Cependant la deuxième fois que je l'ai lancé j'ai eu une consommation de seulement 25/35% (et j'ai laissé tourner une bonne minute, ce n'était pas passager). Je n'ai pas réussi à reproduire.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Bigz le Mars 25, 2012, 05:42:02 pm
Soit dit en passant, pense à changer ta signature Ceylo ;)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mars 25, 2012, 06:19:12 pm
@Mjonir : il me semble qu'il y avait déjà eu un topic du genre (pas en rapport avec sfeMovie) et que c'était une histoire d'optimisation dans les drivers. En tout cas de mon côté je ne change rien selon si c'est la première utilisation ou pas  ;D .

@Bigz : oui en effet, je ne l'avais pas fait à cause un problème d'avatar. Du coup je l'ai changée là mais je n'ai plus d'avatar, vais voir ça avec Laurent. Merci :)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mars 27, 2012, 02:02:45 pm
J'ai remarqué que l'archive des sources de la RC1 avait un soucis (bon lien mais impossible de la télécharger). C'est corrigé.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Avril 07, 2012, 03:58:08 pm
L'origine d'un crash survenant en quittant une application utilisant sfeMovie dans Visual Studio a été identifiée.

C'est plus ou moins le même bug que https://github.com/SFML/SFML/issues/30 et il peut être corrigé en utilisant la dernière DLL d'OpenAL disponible ici : http://kcat.strangesoft.net/openal.html.

Donc plus de bug connu où sfeMovie est en cause.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Avril 22, 2012, 12:38:51 pm
Le wiki a été mis à jour, entre autres sur ce point :

Il est maintenant davantage mis en évidence le fait que les binaires proposés ne contiennent que les décodeurs gratuits, ceci pour des raisons légales. Ne vous étonnez donc pas si vous n'arrivez pas directement à lire des fichiers AVI ou FLV ! Si vous souhaitez bénéficier de tous les décodeurs, recompilez sfeMovie, en ayant au préalable lu la section "License" du wiki (https://github.com/SFML/SFML/wiki/ProjectSfeMovie#wiki-license).
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Avril 25, 2012, 01:41:52 pm
Bonjour,

Actuellement je m'occupe d'implémenter le déplacement dans la vidéo (branche seeking du dépôt). Ça fonctionne déjà pas mal, mais j'aurais une question à vous poser.

Les vidéos sont généralement composées d'images clés (contenant l'image complète) et d'images progressive (ne contenant que les changements par rapport aux précédentes). Les images clés peuvent être situées à quelques secondes d'intervalle dans la vidéo. Il faut voir que lors d'un saut à une image progressive, l'image produite sera déformée, puisqu'il manque des informations pour avoir une image complète.

Je souhaiterais donc savoir, parmi les options suivantes, laquelle vous semble la plus intéressante :
- utiliser les images clés : garder une image parfaite mais ne pas tomber exactement là où on voulait, déplacement immédiat
- utiliser n'importe quelle image : image déformée quelques secondes mais on tombe là où on voulait, déplacement immédiat
- utiliser une méthode sautant à l'image clé et chargeant le plus vite possible (sans les afficher) les images suivantes jusqu'à tomber là où on voulait : image parfaite, on tombe là où on voulait, mais le déplacement peut prendre un peu de temps (en général moins d'une seconde, mais ça se sent tout de même)
- laisser le choix à l'utilisateur entre les 3 méthodes précédentes

Qu'est-ce que vous en pensez ?

Ceylo
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Avril 25, 2012, 01:54:02 pm
Les deux premières options me semblent primordiales, et la troisième a l'air assez utile.

Donc :
Citer
laisser le choix à l'utilisateur entre les 3 méthodes précédentes
...bien entendu :P
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Avril 25, 2012, 02:15:07 pm
Oké, bon au moins c'est clair et net comme avis :D .
Disons que ce qui me gène en laissant le choix, c'est que l'utilisateur doit choisir un paramètre de plus. Moins yen a et plus c'est clair je trouve. Je peux par défaut mettre la 3e méthode cependant.

En regardant de plus près le comportement de VLC et QuickTime Player j'ai constaté qu'il y avait en général un petit temps de latence avant d'afficher l'image de la position voulue. Ce temps est plus ou moins important selon les endroits où on veut sauter. En bref, j'ai l'impression qu'ils utilisent la 3e méthode, mais en un peu plus efficace que moi (temps de latence légèrement moindre).
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Avril 25, 2012, 02:24:33 pm
Le problème c'est que ta classe, contrairement à un logiciel tel que VLC, peut être utilisée pour plein de trucs différents, tu ne peux pas la limiter à une utilisation particulière, il faut que tu restes ouvert à tous les cas d'utilisation possibles.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Avril 25, 2012, 02:39:41 pm
Très juste :)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 18, 2012, 04:36:12 pm
Bonjour à toujours !

Actuellement le statut de sfeMovie pour Linux est indéfini. La raison principale étant que certains utilisateurs m'ont indiqué que sfeMovie fonctionnait sans problème chez eux, et d'autres non. J'aimerais donc mettre au clair une bonne fois pour toute cette histoire.

J'invite donc les utilisateurs de Linux à tester cette version de sfeMovie (Intel) : sfeMovie-linux-32b-1.0-rc1.tar.gz (https://github.com/downloads/Yalir/sfeMovie/sfeMovie-linux-32b-1.0-rc1.tar.gz) (5.1 Mo). Cette version de sfeMovie est basée sur SFML 2.0 RC.

Pour ce qui est du code source du programme de test, vous pouvez prendre l'exemple de base : main.cpp (https://github.com/Yalir/sfeMovie/blob/master/sample/main.cpp).

Je tiens à préciser que je suis relativement novice concernant la distribution sur Linux, donc s'il manque quelque chose ou qu'il y a des méthodes plus pratiques que ce que j'ai fourni là, n'hésitez pas à me le dire. Le binaire fourni ici gère les codecs FLAC, Vorbis, Theora et VP8 (et aucun autre !). C'est donc principalement sur des vidéos au format OGG/OGV/WebM que j'attends vos commentaires.

Je demande aux testeurs de m'indiquer si la version fournie fonctionne correctement ET quelle est votre configuration (OS, processeur et carte graphique en particulier).

Merci :)
Ceylo
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 23, 2012, 04:52:03 pm
Pas d'utilisateur de Linux intéressé pour tester la bibliothèque ? (cf. précédent post)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: gaulois94 le Mai 23, 2012, 07:25:50 pm
Si j'ai bien compris (ta lib m'intéresse ;) ), c'est pour lire des films dans des applications SFML ? C'est à dire qu'avec, on peut lire des cinématiques de jeux vidéos ?

Sinon, d'autres formats sont au programmes ? le .avi étant très utilisé, se serait bien de l'ajouter (ce n'est qu'une proposition parmi tant d'autre ;) ).
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 23, 2012, 07:51:57 pm
Salut gaulois94 !

Si j'ai bien compris (ta lib m'intéresse ;) ), c'est pour lire des films dans des applications SFML ? C'est à dire qu'avec, on peut lire des cinématiques de jeux vidéos ?
C'est tout à fait ça oui :) .

Sinon, d'autres formats sont au programmes ? le .avi étant très utilisé, se serait bien de l'ajouter (ce n'est qu'une proposition parmi tant d'autre ;) ).
Le format AVI est supporté. Mais note que cela ne reste qu'un conteneur. En ce qui concerne les formats vidéos qu'il peut contenir, un bon nombre sont également gérés (cf. wiki (https://github.com/SFML/SFML/wiki/ProjectSfeMovie#wiki-formats)). Note cependant que je ne distribue pas de version de sfeMovie avec des codecs payant, or beaucoup de décodeurs pour les formats vidéos utilisés dans les fichiers AVI le sont. Si tu souhaites intégrer ces codecs à sfeMovie, tu devras recompiler la bibliothèque toi-même (https://github.com/SFML/SFML/wiki/ProjectSfeMovie#wiki-build).
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 27, 2012, 09:19:09 pm
Justement en parlant compilation, je ne dépasse pas les 79% : "c:\sfml\deps\headers\libavutil\common.h(31) : fatal error C1083: Impossible d'ouvrir le fichier include : 'inttypes.h' : No such file or directory". J'ai beau mettre le fichier en question dans \deps\headers\libavutil\, il me répond toujours la même chose. Or je n'ai aucun problème de compilation pour SFML 2.0.

Je compile pour VC++ 2010, j'ai bien vu qu'il y avait une marche à suivre spéciale, mais je n'ai pas tout saisi correctement, c'est peut-être la cause de mon erreur.

Merci d'avance pour les réponses.

PS: En fait il fallait mettre l'include dans le dossier d'includes de VC++. Maintenant sa bloque à 85% car il ne trouve pas "deps\ffmpeg-build\avdevice.lib". Je suppose qu'il faut compiler aussi FFmpeg, mais comment ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 27, 2012, 09:23:02 pm
Salut informaticien77,

Tu as ce souci avec les fichiers de la v1.0 rc ou les derniers fichiers du dépôt Git ? Dans tous les cas ce n'est pas ta faute.

Je dis ça parce que j'ai introduit par erreur ce problème récemment dans les fichiers du dépôt Git. Je l'ai corrigé mais je n'ai pas envoyé les modifications. Je vais le faire là vu que tu m'y fais penser :) .

Ceylo
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 27, 2012, 09:27:49 pm
Merci, et c'est bien avec les derniers fichiers du dépôt Git, je crois que avec ceux de la RCv1.0 il y avait trois fois plus de bugs.

PS: Non en fait il y a autant de bugs. Par contre j'ai un vrai problème avec FFmpeg, comment faut-il s'y prendre exactement pour avoir les libs requises par sfeMovie ?
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 27, 2012, 09:34:00 pm
Merci, et c'est bien avec les derniers fichiers du dépôt Git, je crois que avec ceux de la RCv1.0 il y avait trois fois plus de bugs.
Oh rien que ça :o . Tu parles de points bloquants ou uniquement d'avertissements ? (en particulier lors de la compilation de FFmpeg) Parce que je n'ai pas changé tant de choses que ça non plus.

Je viens de mettre à jour les fichiers sur le dépôt Git, dis moi si c'est tout bon :) .
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 27, 2012, 09:39:10 pm
J'exagère un peu quand je parle de bugs. En fait il y a que deux choses qui bloques, le fichier "inttypes.hpp" inexistant dans la bibliothèque de VC++, et FFmpeg (enfin je pense que c'est plus dû à moi pour FFmpeg, parceque là je bloque). J'essaye par tous les moyens de compiler FFmpeg pour obtenir les .lib mais impossible.

J'ai dû sauter l'étape de la conversion de FFmpeg, non ? J'ai toujours la même erreur comme quoi il ne trouve pas les librairies de FFmpeg.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 27, 2012, 09:48:13 pm
Tu bloques sur quoi ?
Tu es passé par le script "build.sh" comme indiqué sur le wiki ?
Je dis ça parce que le fichier CMake ne permet que de compiler SFML et sfeMovie, mais pas FFmpeg.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 27, 2012, 09:55:44 pm
Non en effet. Passé sur build.sh, c'est-à-dire ? Parce que la commande (si c'est une commande) "./build.sh windows" ne renvoie rien (bon jusque là) mais avec "nmake ./build.sh" il me dit juste qu'il est à jour ? Je m'y perd un peu.

PS: Je crois que j'ai compris, en gros on peut pas se passer de MinGW ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 27, 2012, 10:02:13 pm
Tu tapes bien "./build.sh windows" dans une console MinGW ? après t'être placé dans le dossier sfeMovie ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 27, 2012, 10:07:19 pm
Ok, c'est bon je viens de percuter. En fait il faut compiler FFmpeg avec MinGW et ensuite on compile le reste avec VC++ ? Je pensais vraiment que MinGW était remplaçable par VC++. Merci pour l'aide, je vais essayé de me débrouiller.
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 27, 2012, 10:15:27 pm
Ok, c'est bon je viens de percuter. En fait il faut compiler FFmpeg avec MinGW et ensuite on compile le reste avec VC++ ?
Oui tout à fait :) .

Je pensais vraiment que MinGW était remplaçable par VC++. Merci pour l'aide, je vais essayé de me débrouiller.
J'aurais bien aimé pouvoir tout faire dans Visual Studio aussi, mais ce n'est pas possible (cf. FAQ de FFmpeg (http://ffmpeg.org/faq.html#Is-Microsoft-Visual-C_002b_002b-supported_003f)). N'hésite pas si tu as encore un souci !
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 28, 2012, 09:07:23 am
J'ai un souci  :P.
J'ai réussi à compiler et à linker les différentes librairies et créer un code de base : Tout marche à merveille sauf que lors de la lecture d'une vidéo je peux apercevoir des saccades (qui sont absentes lors de la lecture avec VLC).

Je pensais que c'était le Framerate qui étant différent de l'écran n’arrangeait pas les choses. Mais, après avoir rajouter "window.setFramerateLimit(60);", les saccades sont toujours présentes (une image contenant deux moitiés de deux images différentes).

Bon, je me suis dit tu vas mettre le Framerate à peine au dessus de celui de la vidéo (qui est de 29.9007 environ) : "window.setFramerateLimit(30);", toujours pareil.

Puis j'ai découvert "movie.getFramerate()", donc je met "window.setFramerateLimit(movie.getFramerate());", toujours pareil.

Ces saccades sont particulièrement frappantes lors d'un fondu de l'image passant du noir complet à l'image claire (je sais pas si je m'exprime assez bien).

Merci d'avance.

PS: J'ai oublié de te félicité pour ton travail impressionnant !
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 28, 2012, 12:02:00 pm
les saccades sont toujours présentes (une image contenant deux moitiés de deux images différentes).
Là ça n'a pas trop de rapport avec sfeMovie, c'est surtout qu'il faut que tu actives la synchronisation verticale sur ta fenêtre (http://www.sfml-dev.org/documentation/2.0/classsf_1_1Window.php#a59041c4556e0351048f8aff366034f61) :P .

Ensuite il se peut, si tu tapes dans les hautes résolutions avec un matériel pas spécialement performant, que l'ordinateur soit trop lent pour décoder en temps et en heure les images. Et là tu auras de réelles saccades (mais je parle bien de saccades, pas d'une image mélangée avec la précédente). Mais ça c'est un problème complètement différent. Tu peux voir ça en appelant sfe::Movie::useDebugMessages(). Pendant la lecture tu auras des messages si jamais ton ordinateur a du mal à suivre le rythme.

PS: J'ai oublié de te félicité pour ton travail impressionnant !
Merci ! :D
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 28, 2012, 01:28:46 pm
Bon j'ai fait quelques tests avec une vidéo 720p de 3min environ, et j'en suis arrivé à ces conclusions :

- Ouvrir une fenêtre et y afficher une vidéo marche très bien (une image sautée maximum).
- Bloquer le Framerate fait sauter une trentaine d'images, quelques saccades visible mais supportables.
- Mettre la fenêtre en plein écran cause des saccades importantes et visibles.

Pour le fait que mon PC ne puisse pas suivre, ce n'est pas possible tellement ce serait illogique vu que niveau puissance processeur et carte graphique je ne suis pas en manque. Avec Fraps, le programme qui utilise sfeMovie tourne à 800FPS environ sans Framerate.

Je ne dit pas que c'est seulement la faute de sfeMovie, mais vu que c'est en lien direct.

Bref, vu que mon programme servira à afficher une vidéo en écran de veille, ce serait ridicule de ne pas la mettre en plein écran. Si quelqu'un a une idée.

PS: La vidéo se trouve en plus sur un deuxième disque dur de données plus rapide que le premier (7200rpm au lieu de 5400rpm), et rarement utilisé sauf pour les sauvegardes de documents.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 28, 2012, 01:36:29 pm
Est-ce que tu peux essayer de mesurer indépendamment le temps pris par les appels window.draw(movie) et window.display() lorsque :
- tu es en fenêtre sans synchronisation verticale
- tu es en fenêtre avec synchronisation verticale
- tu es en plein écran sans synchronisation verticale
- tu es en plein écran avec synchronisation verticale

?

Vu que ça passe bien en fenêtre, le goulot d'étranglement au niveau du décodage est a priori écarté. Le chargement des données en texture, je vois pas non plus ce que le plein écran y changerait. Donc ça serait surtout au niveau du display() j'imagine. À moins que le temps supplémentaire pris par display() vienne empiéter sur le temps nécessaire au décodage ou chargement des données en texture.

Bref j'attends tes résultats :)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 28, 2012, 03:00:34 pm
Vidéo 720p de 2min 52sec agrandie dans une fenêtre 1920x1080.

Ce sont des moyennes des temps calculés à chaque tour de boucle.

------------------------

Temps d'exécution de "window.draw(movie)" et "window.display()".

Fenêtre : 0.145283 Millisecondes

Fenêtre + Vsync (60FPS) : 14.9178 Millisecondes

Fenêtre + Vsync x2 (120FPS) : 6.22745 Millisecondes

Fullscreen : 0.133099 Millisecondes

Fullscreen + Vsync (60FPS) : 14.6987 Millisecondes

Fullscreen + Vsync x2 (120FPS) : 6.44322 Millisecondes

------------------------

Temps d'exécution de "window.draw(movie)".

Fenêtre : 0.0751137 Millisecondes

Fenêtre + Vsync (60FPS) : 1.55789 Millisecondes

Fullscreen : 0.0784091 Millisecondes

Fullscreen + Vsync (60FPS) : 1.44303 Millisecondes

------------------------

Temps d'exécution de "window.display()".

Fenêtre : 0.0538927 Millisecondes

Fenêtre + Vsync (60FPS) : 12.8847 Millisecondes

Fullscreen : 0.0655571 Millisecondes

Fullscreen + Vsync (60FPS) : 11.9997 Millisecondes

------------------------

Question : sfeMovie n'utilise pas l'accélération matérielle (enfin celle du GPU en particulier) ?
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 28, 2012, 04:54:53 pm
Question : sfeMovie n'utilise pas l'accélération matérielle (enfin celle du GPU en particulier) ?
Si tu parles de l'affichage, SFML utilise l'accélération graphique donc oui.
Pour ce qui est du décodage, ça dépend de ton matériel et c'est détecté lors de la compilation de FFmpeg (par exemple sur mon Mac, le décodage H.264 est accéléré de cette façon).

D'après tes chiffres il n'y a pas de différence notable entre le mode plein écran et fenêtré. La synchronisation verticale prend pas mal de temps mais c'est normal. Et même avec elle, la vidéo pourrait théoriquement être lue jusqu'à 75 FPS (1/(0,012+0,0015)). Du coup je ne vois pas où ça cloche.

Par contre je ne vais pas avoir le temps de faire des recherches approfondies là dessus avant vendredi prochain. Donc à voir si quelqu'un a des idées entre temps.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Mai 28, 2012, 05:49:42 pm
J'ai trouvé l'erreur, le mode plein écran est allergique à "window.setFramerateLimit(int fps)", par contre sa a l'air de fonctionner avec "window.setVerticalSyncEnabled(true)" (aucune image qui saute, aucune saccade), mais en contrepartie, impossible de choisir un framerate personnalisé.

Un mystère de résolu.

Merci pour tout.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Mai 28, 2012, 05:52:50 pm
Oh c'est bon à savoir ça !

Content que tout soit au poil :) .
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 01, 2012, 05:23:51 pm
Bonjour à toujours !

Actuellement le statut de sfeMovie pour Linux est indéfini. La raison principale étant que certains utilisateurs m'ont indiqué que sfeMovie fonctionnait sans problème chez eux, et d'autres non. J'aimerais donc mettre au clair une bonne fois pour toute cette histoire.

J'invite donc les utilisateurs de Linux à tester cette version de sfeMovie (Intel) : sfeMovie-linux-32b-1.0-rc1.tar.gz (https://github.com/downloads/Yalir/sfeMovie/sfeMovie-linux-32b-1.0-rc1.tar.gz) (5.1 Mo). Cette version de sfeMovie est basée sur SFML 2.0 RC.

Pour ce qui est du code source du programme de test, vous pouvez prendre l'exemple de base : main.cpp (https://github.com/Yalir/sfeMovie/blob/master/sample/main.cpp).

Je tiens à préciser que je suis relativement novice concernant la distribution sur Linux, donc s'il manque quelque chose ou qu'il y a des méthodes plus pratiques que ce que j'ai fourni là, n'hésitez pas à me le dire. Le binaire fourni ici gère les codecs FLAC, Vorbis, Theora et VP8 (et aucun autre !). C'est donc principalement sur des vidéos au format OGG/OGV/WebM que j'attends vos commentaires.

Je demande aux testeurs de m'indiquer si la version fournie fonctionne correctement ET quelle est votre configuration (OS, processeur et carte graphique en particulier).

Merci :)
Ceylo
Aucun retour à ce sujet ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Sonkun le Juin 03, 2012, 12:19:08 am
Ben justement, j'ai voulu testé il y a quelques jour mais le lien était cassé. J'essaie de suite :)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Sonkun le Juin 03, 2012, 01:09:56 am
J'ai mis les fichiers .so dans le repertoire lib/ et mis à jour le linker avec ldconfig.

Ensuite, en compilant j'obtiens (vous inquietez pas, c'est normal que ce ne soit pas local/lib chez moi):
g++ -Wall -o "sfeMovie" "sfeMovie.cpp" -lsfml-graphics -lsfml-window -lsfml-system -lsfeMovie (in directory: /home/sonkun/Desktop)
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libsfeMovie.so when searching for -lsfeMovie
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libsfeMovie.so when searching for -lsfeMovie
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../libsfeMovie.so when searching for -lsfeMovie
/usr/bin/ld: skipping incompatible /usr/lib/libsfeMovie.so when searching for -lsfeMovie
/usr/bin/ld: cannot find -lsfeMovie
collect2: ld returned 1 exit status
Compilation failed.

Alors j'ai cherché les sources pour compiler.
mkdir build && cd build
cmake -G "Unix Makefiles" ..

Première chose, ça compile la SFML, c'est normal? :)

Ensuite la compilation a échoué parce qu'il y avait des bibliothèques manquantes, alors j'ai installé les deux packages suivants (je suis sur Ubuntu 12.04):


Ce n'était pas précisé dans la documentation, c'est pour ça que je le précise^^


J'ai recompilé, et cette fois il me dit qu'il ne trouve pas:

J'ai alors modifié la ligne 55 du fichier CMakeLists.txt par celle là:

set (SFML_LIBRARIES ${SFML_LIBRARIES} "sfml-system" "sfml-window" "sfml-graphics" "sfml-audio")
Cette fois la compilation réussi.

J'essaie d'installer avec
sudo make install
Et il m'installe tout les fichiers de la SFML (include + lib) mais aucun fichier de sfeMovie. Alors j'ai manuellement déplacer les binaires produit dans le bon dossier, re-mis à jour le linker et retour au problème initial
g++ -Wall -o "sfeMovie" "sfeMovie.cpp" -lsfml-graphics -lsfml-window -lsfml-system -lsfeMovie (in directory: /home/sonkun/Desktop)
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libsfeMovie.so when searching for -lsfeMovie
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libsfeMovie.so when searching for -lsfeMovie
...

Je suis impatient de tester la lib :)
Et bonne chance!
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 03, 2012, 02:58:02 am
Salut Sonkun !

Tout d'abord merci pour tes retours :)

J'ai mis les fichiers .so dans le repertoire lib/ et mis à jour le linker avec ldconfig.

Ensuite, en compilant j'obtiens (vous inquietez pas, c'est normal que ce ne soit pas local/lib chez moi):
[...]
Je suppose que ton OS est en 64 bits, sauf que j'ai compilé sfeMovie en 32 bits ;D . Du coup c'est normal que tu sois obligé de recompiler oui. J'avais regardé déjà pour savoir comment compiler en 64 bits depuis ma Debian 32 bits ; mais apparemment il faut installer un cross compiler. Je ne sais pas lequel est le plus simple entre installer un cross compiler et installer une version 64 bits de Debian.

Alors j'ai cherché les sources pour compiler.
mkdir build && cd build
cmake -G "Unix Makefiles" ..

Première chose, ça compile la SFML, c'est normal? :)
Oui :P , à l'heure actuelle j'ai mis les sources de SFML plutôt que les binaires parce que j'en avais marre de devoir faire un tour sur chaque OS et compilateur pour mettre à jour les binaires de chaque OS et chaque compilateur. Là ça me faisait plus qu'un simple copié collé des sources et tout était à jour. Je changerai ça lorsque SFML 2.0 sortira en version finale.

Ensuite la compilation a échoué parce qu'il y avait des bibliothèques manquantes, alors j'ai installé les deux packages suivants (je suis sur Ubuntu 12.04):

  • libavdevice-dev
  • libswscale-dev

Ce n'était pas précisé dans la documentation, c'est pour ça que je le précise^^
Par contre la doc précise bien que tu es censé utiliser le script build.sh et non passer directement par CMake ! Ce qui explique qu'il te manquait des bibliothèques. Le script build.sh compile au préalable les 2 bibliothèques que tu as installées à part. Faudrait que j'aille cacher ce CMakeLists.txt quelque part pour que les gens n'aient pas le réflexe de l'utiliser en 1e ::).


J'ai recompilé, et cette fois il me dit qu'il ne trouve pas:
  • -lsfml-system.2.0
  • -lsfml-window.2.0
  • -lsfml-graphics.2.0
  • -lsfml-audio.2.0

J'ai alors modifié la ligne 55 du fichier CMakeLists.txt par celle là:

set (SFML_LIBRARIES ${SFML_LIBRARIES} "sfml-system" "sfml-window" "sfml-graphics" "sfml-audio")
Cette fois la compilation réussi.
Hmmm, visiblement tu as récupéré les sources de la RC. Mais il y a eu des corrections sur le dépôt Git depuis. Ce serait donc surtout à partir de ces sources (https://github.com/Yalir/sfeMovie/zipball/master) que tu devrais te baser.

J'essaie d'installer avec
sudo make install
Et il m'installe tout les fichiers de la SFML (include + lib) mais aucun fichier de sfeMovie.
Cf. remarque ci-dessus.

Alors j'ai manuellement déplacer les binaires produit dans le bon dossier, re-mis à jour le linker et retour au problème initial
[...]

Je suis impatient de tester la lib :)
Et bonne chance!
C'est étrange que tu aies toujours le problème après avoir recompilé. Mais j'attends de voir ce que ça donne chez toi avec les sources du dépôt Git déjà. (pense d'abord à supprimer toutes les versions compilées de sfeMovie que tu as pu installer, au cas où)

Ceylo
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Juin 03, 2012, 09:00:26 am
Citer
Par contre la doc précise bien que tu es censé utiliser le script build.sh et non passer directement par CMake ! Ce qui explique qu'il te manquait des bibliothèques. Le script build.sh compile au préalable les 2 bibliothèques que tu as installées à part. Faudrait que j'aille cacher ce CMakeLists.txt quelque part pour que les gens n'aient pas le réflexe de l'utiliser en 1e
Pourquoi ne pas faire le contraire : exécuter les étapes custom de ton script directement avec CMake ? Ca pourrait par exemple être un pre-build step de la target sfeMovie.
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 03, 2012, 11:07:25 am
Pourquoi ne pas faire le contraire : exécuter les étapes custom de ton script directement avec CMake ? Ca pourrait par exemple être un pre-build step de la target sfeMovie.
Hmmm... cela impliquerait de vérifier également si les outils nécessaires sont installés, de faire la configuration de FFmpeg (choix des codecs) dans CMake. Depuis Visual Studio, si une étape lance un script shell, les messages de sortie de ce script s'affichent dans Visual Studio ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Juin 03, 2012, 11:47:40 am
Citer
Hmmm... cela impliquerait de vérifier également si les outils nécessaires sont installés, de faire la configuration de FFmpeg (choix des codecs) dans CMake.
Je ne sais pas ce que font tes scripts, mais quelle différence entre les lancer depuis CMake ou les lancer manuellement ?

Citer
Depuis Visual Studio, si une étape lance un script shell, les messages de sortie de ce script s'affichent dans Visual Studio ?
Probablement, faudrait vérifier.
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 03, 2012, 11:56:47 am
Je ne sais pas ce que font tes scripts, mais quelle différence entre les lancer depuis CMake ou les lancer manuellement ?
Tu veux dire les lancer depuis l'EDI pour lequel CMake aura généré les fichiers ?
Mon script, à l'heure actuelle, gère la compilation de FFmpeg (dont le choix des codecs), la génération des fichiers pour l'EDI choisi (via CMake lancé dans le script), et la compilation finale de sfeMovie dans le cas où l'EDI cible est les Makefiles. Mais oui, si Visual Studio gère correctement les messages de sortie du script, alors cela ne devrait pas poser problème de faire dans l'autre sens (je me fais pas de soucis pour les autres EDI).

Vais voir ça.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Juin 03, 2012, 04:31:11 pm
Citer
et la compilation finale de sfeMovie dans le cas où l'EDI cible est les Makefiles
Au cas où : CMake offre des commandes "standard" pour les trucs les plus communs (copier un fichier, créer un répertoire, ...), c'est lui qui s'occupe d'adapter la syntaxe à la plateforme cible. En outre, tu peux compiler ton projet quelque soit la cible avec la commande qui va bien (si je me souviens bien, "cmake -E build <dir>").
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 03, 2012, 07:54:00 pm
Je vais regarder tout ça, mais c'est vrai que si ça peut éviter à pas mal de gens d'éviter de s'emmêler, c'est une bonne chose :) .
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Sonkun le Juin 04, 2012, 12:00:29 am
En fait, j'avais essayé d'utiliser le script build.sh mais la commande
sh build.sh
m'affichait:
build.sh: 14: build.sh: Syntax error: "(" unexpected

Je viens de comprender qu'il faut que je fasse:
./build.sh linux

Peut-être que c'était expliqué dans la doc, je dois l'avouer j'ai pas encore lu wiki entièrement^^


Donc j'ai lancé le script build.sh and j'ai choisis l'option 1, ça compile la SFML puis arrivé à sfeMovie, ça me sort:
[ 96%] [ 96%] [ 96%] [ 96%] Building CXX object CMakeFiles/sfeMovie.dir/src/Movie.cpp.o
Building CXX object CMakeFiles/sfeMovie.dir/src/Movie_audio.cpp.o
Building CXX object CMakeFiles/sfeMovie.dir/src/utils.cpp.o
Building CXX object CMakeFiles/sfeMovie.dir/src/Movie_video.cpp.o
[ 97%] Building CXX object CMakeFiles/sfeMovie.dir/src/Condition.cpp.o
/home/sonkun/Desktop/Yalir-sfeMovie-9352d20/src/Movie_audio.cpp: In member function ‘void sfe::Movie_audio::decodeFrontFrame(sf::SoundStream::Chunk&)’:
/home/sonkun/Desktop/Yalir-sfeMovie-9352d20/src/Movie_audio.cpp:237:10: warning: ‘int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)’ is deprecated (declared at /home/sonkun/Desktop/Yalir-sfeMovie-9352d20/deps/headers/libavcodec/avcodec.h:4245) [-Wdeprecated-declarations]
/home/sonkun/Desktop/Yalir-sfeMovie-9352d20/src/Movie_audio.cpp:239:35: warning: ‘int avcodec_decode_audio3(AVCodecContext*, int16_t*, int*, AVPacket*)’ is deprecated (declared at /home/sonkun/Desktop/Yalir-sfeMovie-9352d20/deps/headers/libavcodec/avcodec.h:4245) [-Wdeprecated-declarations]
[ 98%] Building CXX object CMakeFiles/sfeMovie.dir/src/Unix/ConditionImpl.cpp.o
Linking CXX shared library libsfeMovie.so
/usr/bin/ld: /home/sonkun/Desktop/Yalir-sfeMovie-9352d20/deps/ffmpeg-build/libavformat.a(allformats.o): relocation R_X86_64_32 against `ff_aac_demuxer' can not be used when making a shared object; recompile with -fPIC
/home/sonkun/Desktop/Yalir-sfeMovie-9352d20/deps/ffmpeg-build/libavformat.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libsfeMovie.so.1.0.0] Error 1
make[1]: *** [CMakeFiles/sfeMovie.dir/all] Error 2
make: *** [all] Error 2
*** an error occured, aborting.

Je devine que c'est parce que mon OS est du 64bits. J'essairais sur un os 32bits demain.
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 04, 2012, 12:48:25 am
Donc j'ai lancé le script build.sh and j'ai choisis l'option 1, ça compile la SFML puis arrivé à sfeMovie, ça me sort:
Ça compile aussi FFmpeg avant non ?

Je devine que c'est parce que mon OS est du 64bits. J'essairais sur un os 32bits demain.
D'après ton message d'erreur, c'est plus simple que ça : "recompile with -fPIC".
Mais ce qui est étrange c'est que le script de configuration de FFmpeg (configure) n'ait pas choisi cette option lors de la compilation... je vais essayer de voir pourquoi ça n'y est pas et comment on peut le forcer, au besoin.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 04, 2012, 01:10:13 am
Est-ce que si tu utilises ce fichier tu as toujours le même problème ?


Edit : j'ai trouvé ça : http://www.cmake.org/pipermail/cmake/2007-May/014347.html
Apparemment le problème que tu as est spécifique au fait d'avoir une architecture 64 bits, que tu sois sur Linux, et que je lie des bibliothèques statiques dans une bibliothèque dynamique.

[attachment deleted by admin]
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Sonkun le Juin 05, 2012, 06:10:33 pm
Oh merde, j'avais pas vu le fichier attaché... Et d'ailleurs si je suis ici c'est parce que je comptais te le demander :p Hier j'ai essayé d'ajouter le flag -fPIC à la main mais ton truc c'est un vrai labyrinthe^^ (je critique pas ton labyrinthe, je m'y connais juste pas en script de config avec ./configure, etc).

Je te dis ça le plus tôt possible!
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Sonkun le Juin 06, 2012, 07:49:04 pm
Je t'ai envoyé un MP deux fois et il est marqué "Message bien envoyé" mais quand je vais dans les messages envoyés, je vois rien... donc je sais pas si ça a été bien envoyé ou non.

Voici le contenu du message:
"Salut, j'ai testé ton script build.sh mais il ne marche pas (j'arrive pas à le lancer contrairement à l'original Oo). Je me suis dit qu'attendre ma réponse chaque fois, y répondre, etc peut être un peu long donc si tu veux qu'on communique en chat directe, no problème je suis disponible toute la soirée. Si tu es interessé, dis-moi juste par quel moyen msn, jabber, skype, whatever :)"
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Juin 06, 2012, 08:13:02 pm
Citer
mais quand je vais dans les messages envoyés, je vois rien
Il me semble que c'est un option que tu peux activer ("garder les messages envoyés").
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Sonkun le Juin 06, 2012, 08:18:04 pm
En effet, merci :-)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 06, 2012, 08:33:26 pm
Salut Sonkun,

J'ai bien reçu ton MP 2 fois. J'ai installé Debian en 64 bits dernièrement, afin de pouvoir tester tranquillement. Donc je teste et une fois que j'ai trouvé une solution potable je te tiens au courant :) (pas ce soir je pense).

Ceylo
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Sonkun le Juin 06, 2012, 08:40:17 pm
Pourquoi Debian? :p

Bonne merde en tout cas :)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 06, 2012, 08:55:15 pm
Oh juste parce que c'est assez léger et que ça me changera pas trop de Debian 32 bits :D .
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 08, 2012, 05:38:49 pm
Donc j'ai testé la compilation, j'obtiens bien le même problème que toi. J'ai réussi à avoir un certain progrès au niveau de la compilation, mais je bloque toujours au bout d'un moment, car -fPIC ne semble pas pris en compte lors de la compilateur de fichiers en assembleur. Par contre si j'utilise les bibliothèques dynamiques de FFmpeg (au lieu de statiques), ça passe bien.

Du coup je me pose la question de faire encore une exception pour la liaison en statique ou si je lie FFmpeg en dynamique sur tous les compilateurs et OS. J'avais déjà dû faire une exception pour Visual Studio. L'intérêt étant d'avoir moins de fichiers de bibliothèque, mais avoir un résultat uniforme selon les compilateurs est aussi agréable et plus simple à gérer pour moi. Je vais y réfléchir.

Edit : j'ai remarqué aussi que ça fonctionne en statique si je désactive l'assembleur. Et j'ai remarqué également que sfeMovie était lié aux bibliothèques libavcodec/libavformat du système par défaut (et pas celles que je fournis avec les bons codecs).
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Juin 08, 2012, 05:55:53 pm
Tu lies statiquement sous Linux ? C'est un peu contre nature.
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 08, 2012, 06:01:10 pm
Tu lies statiquement sous Linux ? C'est un peu contre nature.
Oui c'est que je me dis aussi. J'ai pas trop l'habitude de Linux encore.

Mais comme dit précédemment, mélanger deux configurations (statique et dynamique) selon le compilateur, je n'aime pas, et tout passer en dynamique sur Windows et Mac OS X, ... je suis encore perplexe.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Laurent le Juin 08, 2012, 06:05:08 pm
SFML lie toutes ses dépendances statiquement sous Windows car la gestion des bibliothèques partagée est chaotique. Sous Linux par contre elle lie tout dynamiquement pour tirer parti du système très au point de gestion des dépendances. Et il ne faut pas oublier que le monde Unixien est très riche (plein de variantes de Linux, les BSD, etc.) et que beaucoup de gens recompilent systématiquement les bibliothèques ; et là il vaut mieux pouvoir se lier aux bibliothèques déjà installées sur le système.

Donc je pense contrairement à toi qu'il faut s'adapter au système ciblé. Si tu vas à l'encontre de ça tu vas avoir plus de problèmes qu'autre chose.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 09, 2012, 12:34:41 am
Sonkun, tu peux me dire si c'est bon pour lire les fichiers OGG avec cette version ? sfeMovie-linux-64b-1.0-rc1.tar.gz (https://github.com/downloads/Yalir/sfeMovie/sfeMovie-linux-64b-1.0-rc1.tar.gz) (6.4 Mo)
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 17, 2012, 10:53:23 pm
Sur Linux, FFmpeg est maintenant liée dynamiquement à sfeMovie (cf. sources du dépôt git (https://github.com/Yalir/sfeMovie/zipball/master)).

Et d'après mes derniers tests, il y a des problème avec les optimisations en assembleur pour Linux 64 bits (pas de souci en 32 bits) qui plantent le programme dès le début de la lecture.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: danman le Juin 18, 2012, 01:18:57 pm
(je suis sous linux 64 bit, ça pourrait tout expliquer ;) )
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 18, 2012, 01:31:49 pm
Cela me semble logique en effet. C'est en discussion sur le sujet anglophone, tu peux y jeter un oeil si tu veux : http://en.sfml-dev.org/forums/index.php?topic=3463.msg55340#msg55340

Au moins j'arrive à reproduire le problème, donc je devrais pouvoir en arriver à bout :) .
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: mrpantalon le Juin 21, 2012, 11:41:06 pm
Salut, d'abord je te félicite pour ta bibliothèque mais elle me sort un segfault a chaque fois que sa soit celle que je compile moi ou la precompiler.
J'ai regarde run peu avec GDB et le problème vien d'une fonction "sws_scale".
PS la video tester est http://www.bigbuckbunny.org/index.php/download/
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 21, 2012, 11:44:43 pm
Salut mrpantalon,

Tu es sous Linux 64 bits ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: mrpantalon le Juin 22, 2012, 10:31:14 am
Non Windows 64 bits
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 22, 2012, 12:23:00 pm
Tiens c'est étrange, j'utilise aussi Windows en 64 bits sans pour autant avoir de problème. Dans tous les cas, le problème que tu as semble être le même que cité plus haut pour Linux 64 bits, donc je corrigerai les deux en même temps.

Par hasard, est-ce que tu peux me donner ta configuration matérielle ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: mrpantalon le Juin 22, 2012, 01:19:03 pm
Ouaip voila :

Système d'exploitation
   
Windows 8 ‎(‎X64)‎
Date d'installation : ‏18/06/2012
   

Processeur
   
AMD Athlon II X4 631 Cadencé à 2.60 GHz
Fréquence mesurée (core0) : ‏2.60 GHz
Nombre de coeurs : ‏4 physique(s), 4 logique(s)
Socket : ‏Socket FM1 (905)
Température CPU (core 0) : ‏29.63 °C
   

Carte mère
   
ASUSTeK COMPUTER INC. F1A75-M Rev X.0x
Numéro de série (carte mère) : ‏MF70B8G04501770
SKU Number : ‏SKU
Version du bios : ‏1901
Date : ‏07/02/2012
   

Chipset
   
Pont nord : AMD K12 Bridge
Identifiant de révision : ‏00
Pont sud : AMD A55/A60M
Identifiant de révision : ‏11
   

Mémoire
   
4 Go de mémoire totale de type DDR3 à 666.64 MHz
Barrette de 2 Go
Fréquence maximale : ‏667 MHz
Bande passante : ‏PC3-10700H
Barrette de 2 Go
Fréquence maximale : ‏667 MHz
Bande passante : ‏PC3-10700H
   

Carte Graphique
   
AMD Radeon HD 6450
Version DirectX installée : ‏11.0
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 22, 2012, 01:33:52 pm
Ok merci :) .
Je remarque que tu es sur Windows 8 aussi, peut-être que c'est lié (sur Windows 7 64 bits personne n'a reporté le problème à ce jour).
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: mrpantalon le Juin 22, 2012, 02:26:08 pm
Si sa peut aider GDB s'arrete sur ces ligne :

static inline int RENAME(yuv420_bgr32)(SwsContext *c, const uint8_t *src[],
                                       int srcStride[],
                                       int srcSliceY, int srcSliceH,
                                       uint8_t *dst[], int dstStride[])
{
    int y, h_size, vshift;

    YUV2RGB_LOOP(4)

    ici ! ->   YUV2RGB_INITIAL_LOAD
        YUV2RGB
        RGB_PACK_INTERLEAVE
        SET_EMPTY_ALPHA
        RGB_PACK32(REG_BLUE, REG_GREEN, REG_RED, REG_ALPHA)

    YUV2RGB_ENDLOOP(4)
    YUV2RGB_OPERANDS
    YUV2RGB_ENDFUNC
}

 

du fichier yuv2rgb_template.c avec srcSliceY = 0,srcSliceH = 480.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juin 22, 2012, 02:37:20 pm
Oui, c'est bien le même problème au même endroit que sur Linux 64 bits. Je posterai lorsque ce problème sera résolu :) .
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juillet 01, 2012, 06:00:35 pm
Bonne nouvelle ! Le problème avec sws_scale() sous Linux 64 bits a été résolu ! Ou du moins je n'ai plus aucun crash. Est-ce que vous pouvez me dire si c'est bon pour vous aussi ? (à l'aide des dernières sources du dépôt Git)

Cela corrige également le problème qui survenait sur OS X avec GuardMalloc activé, et c'est aussi le même problème que tu as rencontré sur Windows 8 mrpantalon.
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: informaticien77 le Juillet 03, 2012, 09:32:19 am
Je passe juste pour dire que tu peux fournir/activer les formats non-libres dans la bibliothèque pré-compilée.

Je viens de faire un peu de lecture sur wikipédia et ils disent clairement que les formats fermés sont ouverts en l'absence de brevets logiciels, or pas de brevets logiciels en Europe, donc utilisation libre dans les pays de l'Union Européenne. http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Format_ferm%C3%A9_pour_cause_de_brevet (http://fr.wikipedia.org/wiki/Cat%C3%A9gorie:Format_ferm%C3%A9_pour_cause_de_brevet)

Tous les formats ne sont pas concernés.

Cela concerne les formats : AVC, DivX, H.264, H.265/HEVC, MJPEG 2000, MPEG Transport Stram, MPEG-1, MPEG-1/2 Audio Layer 3, MPEG-2, MPEG-4 Part 3, x264.

Concernant le format AC3, c'est un format propriétaire non-libre de Dolby Digital, je pense qu'il n'est pas libre d'utilisation par contre tout comme WMV, WMA, MP3. Le PCM est un format ouvert et donc libre.

Je pense que le mieux serait de fournir deux versions : Européenne et Internationale. Après c'est à toi de décider.

PS: C'est normal que l'antivirus détecte un fichier suspect lors de la compilation ?
Titre: Re : sfeMovie [v1.0 RC1 disponible]
Posté par: danman le Juillet 04, 2012, 08:49:17 am
Il me manquait #include <cstdio> dans src/utils.cpp pour compiler ;)
j'ai ca au démarrage
alexandre@danman:~/Sources/sfeMovie/sample$ ./sfeMovieSample
Going to open movie file "some_movie.ogv"
pthread_cond_destroy() error


mais je dois dire que ca fonctionne sans problème maintenant !
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juillet 04, 2012, 10:48:48 am
Je passe juste pour dire que tu peux fournir/activer les formats non-libres dans la bibliothèque pré-compilée.
Je vais regarder ça de plus près, mais il y a peut-être aussi une différence selon si le serveur de fichiers est en Europe ou pas. Et je n'aime pas trop l'idée de faire une version pour les européens et une autre pour les autres...

PS: C'est normal que l'antivirus détecte un fichier suspect lors de la compilation ?
Un faux positif simplement, ça fait longtemps que je l'ai remarqué mais il n'y a rien de spécial dans la compilation/configuration de FFmpeg.

Il me manquait #include <cstdio> dans src/utils.cpp pour compiler ;)
Bien vu :)

j'ai ca au démarrage
alexandre@danman:~/Sources/sfeMovie/sample$ ./sfeMovieSample
Going to open movie file "some_movie.ogv"
pthread_cond_destroy() error
Oui faudra que je regarde de plus près cette histoire de condition, mais je compte d'abord m'occuper du problème de synchronisation audio (cf. topic anglophone (http://en.sfml-dev.org/forums/index.php?topic=3463.msg56417#msg56417)).

mais je dois dire que ca fonctionne sans problème maintenant !
Super !  ;D
Titre: Re : Re : sfeMovie [v1.0 RC1 disponible]
Posté par: Ceylo le Juillet 05, 2012, 06:41:18 pm
Je passe juste pour dire que tu peux fournir/activer les formats non-libres dans la bibliothèque pré-compilée.
[...]
Concernant le format AC3, c'est un format propriétaire non-libre de Dolby Digital, je pense qu'il n'est pas libre d'utilisation par contre tout comme WMV, WMA, MP3. Le PCM est un format ouvert et donc libre.
J'ai modifié le wiki en ce qui concerne PCM. Pour ce qui est de la distribution européenne vs internationale, je ne compte pas changer le mode actuel, je ne tiens pas à louper des détails légaux et à être embêté.

Il me manquait #include <cstdio> dans src/utils.cpp pour compiler ;)
Corrigé.

j'ai ca au démarrage
alexandre@danman:~/Sources/sfeMovie/sample$ ./sfeMovieSample
Going to open movie file "some_movie.ogv"
pthread_cond_destroy() error
Je n'ai pas trouvé l'origine du problème mais étant donné que cela ne pose pas de souci, ce message n'est affiché que si la sortie de debug (Movie::useDebugMessages()) est activée.

[...] je compte d'abord m'occuper du problème de synchronisation audio (cf. topic anglophone (http://en.sfml-dev.org/forums/index.php?topic=3463.msg56417#msg56417)).
Théoriquement réglé aussi. Mais vous pouvez toujours m'indiquer si jamais vous avez des problèmes de retard audio.

Enfin, étant donné l'état actuel de sfeMovie je pense sortir la version 1.0 finale très prochainement.
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Ceylo le Juillet 30, 2012, 12:48:30 am
Quelques news !
La version 1.0 finale de sfeMovie est disponible dès aujourd'hui !

Au menu par rapport à la précédente version :

Les informations principales sont disponibles en français sur la 1e page de cette discussion (http://fr.sfml-dev.org/forums/index.php?topic=7375.msg48635#msg48635).
Toutes les informations, détails et téléchargements sont disponibles sur le nouveau site web de sfeMovie (http://lucas.soltic.etu.p.luminy.univmed.fr/sfeMovie/) :) .

Tous commentaires, que ce soit pour des retours ou critiques, sont les bienvenus !

Ceylo
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Quetzakol le Août 10, 2012, 08:20:53 am
Bonjour  :)
Alors tout d'abord bravo pour ton travail, ta bibliothèque est très pratique et très simple d'utilisation, et elle va grandement me simplifier la tâche pour le projet sur lequel je travaille pour le moment.

Par contre j'ai un peu galéré pour pouvoir l'utiliser, mais j'ai finalement réussi mais il m'a fallu lier la version dynamique de la SFML plutôt que la statique (et donc inclure les dll dans le projet) et ça marche parfaitement. Comme je ne comprends pas grand-chose à tout ça, je me demandais si il était obligatoire de lier la SFML (et sfeMovie) en dynamique, ou si je n'avais pas simplement fait une erreur en utilisant la version statique.
Cela m'intriguait simplement, bien que ce ne soit pas un réel problème. Disons que je préfère quand même me passer des dll. Dans tous les cas, j'aimerais bien comprendre :) .

Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Ceylo le Août 10, 2012, 11:04:03 am
Salut Quetzakol,

Ravi de savoir que la bibliothèque te plaît ! :)

En effet pour ce qui est de la liaison dynamique, c'est une limitation à l'heure actuelle (pour Visual Studio c'est bien ça ?). Je ne sais pas encore si c'est le mélange statique/dynamique ou le fait que j'utilise la RC et toi une version peut être plus récente, mais en tout cas à l'heure actuelle si tu veux que ça marche, tu dois lier SFML dynamiquement. Ce n'est pas de ta faute. Le problème à déjà été signalé sur la partie anglophone du forum et je vais essayer de corriger ça pour la prochaine version de sfeMovie.

Ceylo
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Quetzakol le Août 10, 2012, 12:23:51 pm
Ok, merci de ta réponse  :). Je lierai la SFML dynamiquement dans ce cas, ce n'est pas grave.
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Ceylo le Mai 17, 2013, 03:03:17 pm
Pour ceux qui utilisent Visual Studio 2012 : un paquet précompilé pour cet EDI est maintenant disponible sur le site de sfeMovie.
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Megagugus14 le Juin 29, 2013, 04:03:52 pm
Bonjour, je ne sais pas si ce projet est encore suivi, mais je travaille avec Visual Studio 2012 sous Windows 7 et j'ai un problème. Quand j'appelle la méthode openFromFile(), le programme cesse de fonctionner...

Je pense que le problème vient du linkage dynamique et statique : les dlls sont toutes avec l'exécutable, et les .lib sont liés dans le projets, sans le -d. Donc les deux sont sans debug. Le problème est peut-être plus loin...

En tout cas, VS me dit qu'il y a une violation d'accès. Ce qui ne concorde pas très bien avec une erreur de linkage, non ? Le problème me semble plutôt venir d'une erreur d'allocation.

Enfin bref, si quelqu'un a pu résoudre ce problème, ce serait gentil de me dire comment !

A+.

EDIT : Finalement, si j'avais tout simplement oublié de compiler en release... Par contre, j'ai dû chercher longtemps avant de trouver un format parfait ! :) Le wmv me convient finalement parfaitement.
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Ceylo le Juillet 01, 2013, 08:08:04 pm
Salut Megagugus14,

Tu as vu juste, il n'y a pas encore de version de debug et le mix debug/release ne fonctionne pas. N'hésite pas si tu as d'autres soucis :)

Concernant l'état du projet, je ne souhaite pas l'abandonner mais c'est vrai qu'il avance très lentement. Heureusement je ne suis pas le seul à y contribuer et ça me motive à m'y remettre :)

Ceylo
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Megagugus14 le Juillet 19, 2013, 01:20:34 pm
Bonjour !

Désolé pour cette réponse tardive (qui ne changera pas le destin du monde...).

Je voulais juste te remercier pour sfeMovie et te demander les nouveautés à prévoir ?
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Ceylo le Juillet 20, 2013, 05:59:46 pm
Salut!

Pas de souci ;D . Eh bien côté nouveautés à prévoir..
Concernant le build :
- plus d'obligation de passer par un terminal, toute la configuration se fait dans CMake-gui, et la compilation depuis l'EDI
- mode debug
- lier sfeMovie avec sa propre bibliothèque FFmpeg ou celle déjà installée dans le système
- FFmpeg lié en statique/dynamique (excepté avec Visual Studio où seul le dynamique pourra être géré) , et sfeMovie utilisable en statique ou dynamique

Concernant les fonctionnalités :
- choisir le canal audio/vidéo/sous-titre à utiliser
- support des sous-titres
- support du déplacement dans la vidéo

Pour l'instant moi et les personnes qui sont sur le projet nous nous concentrons uniquement sur la partie build (en priorité le point 1 et 3). Une fois que ce sera en place, on passera aux fonctionnalités. Bien entendu si des personnes veulent venir aider pour avancer sur ces tâches, nous sommes preneurs.

Ceylo
Titre: Re : sfeMovie [v1.0 finale disponible]
Posté par: Ceylo le Septembre 12, 2013, 03:01:33 pm
Bonjour bonjour :)

Un petit mot pour dire que les choses avancent (quasiment tous les points précédemment cités concernant le système de build ont été réalisés), et que je cherche des âmes pour aider sur le projet :D

Il y a déjà quelques personnes qui m'aident (et je les remercie des millions de fois :) ), mais afin d'avancer plus vite, j'en cherche encore !

Pour vous donner une idée de ce qu'il reste à faire, je vous invite à consulter la liste des tâches (https://github.com/Yalir/sfeMovie/issues).

De manière générale yen a un peu pour tous les goûts. J'ai essayé de tagger au mieux les tâches pour que les gens puissent travailler sur ce qui les intéresse.

Donc en résumé, quelle que soit votre OS et EDI favoris, que vous préfériez CMake, le C ou C++, ya de quoi faire ! (filtrez la liste avec le tag correspondant)
Je suis bien entendu là pour vous aider et donner toutes les explications nécessaires afin que personne de soit bloqué.

Niveau compétences, je dirais qu'il faut un minimum d'anglais, de connaissances sur un système de gestion de version et que vous connaissiez au moins un des domaines utilisés (que ce soit CMake, le C++ en général, les spécificités de chaque OS, le développement avec FFmpeg, les threads…).

L'idée étant bien sûr d'apprendre et de passer de bons moments :)

Ceylo
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Reycan le Janvier 07, 2014, 10:13:41 am
Bonjour,

J'aurai voulu savoir si le v1.0 était compatible avec SFML 2.1

Ici j'ai essayé avec Windows (MinGW/Code::Blocks)  32 bits   sfeMovie-1.0-windows-mingw.zip (7.1MB)

Je travaille sur Code::Blocks avec une lib SFML 2.1 pour GCC 4.7 mingw 32bits sous windows.
Je travaille sous l'OS windows 7 64bits.
J'ai ajouter les path pour les includes et les libs.

Le Link libraries de mon projet:
sfml-graphics
sfml-window
sfml-system
opengl32
glu32
sfml-network
sfml-audio
sfeMovie

J'ai test le code d'exemple à disposition sur le site de sfe::Movie et j'obtiens un segmentation fault au démarrage de l'application.
Voici ma Call stack :
#0 689816F0   sf::Mutex::Mutex() () (E:\Projet\bin\Debug\sfml-system-2.dll:??)
#1 01BA4004   first_atexit() (E:\sfeMovie-1.0-windows-mingw\sfeMovie-1.0-windows-mingw\lib\libsfeMovie.dll:??)
#2 01B5D130   _rt_psrelocs_start() (E:\sfeMovie-1.0-windows-mingw\sfeMovie-1.0-windows-mingw\lib\libsfeMovie.dll:??)
#3 6FCC5740   ??() (E:\Projet\bin\Debug\libstdc++-6.dll:??)
#4 017410F3   DllMainCRTStartup@12(hDll=0x1740000, dwReason=1, lpReserved=0x28fd24) (../mingw/dllcrt1.c:83)
#5 771999A0   ntdll!RtlpNtMakeTemporaryKey() (C:\Windows\system32\ntdll.dll:??)
#6 00000000   0x01740000 in ??() (??:??)
#7 7719D939   ntdll!RtlEmptyAtomTable() (C:\Windows\system32\ntdll.dll:??)
#8 01741058   __dll_exit() (../mingw/dllcrt1.c:158)
#9 771A686C   ntdll!RtlStatMemoryStream() (C:\Windows\system32\ntdll.dll:??)
#10 00000000   0x0028fd24 in ??() (??:??)
#11 771A5326   ntdll!TpCaptureCaller() (C:\Windows\system32\ntdll.dll:??)
#12 00000000   0x0028fd24 in ??() (??:??)
#13 77199EF9   ntdll!RtlpNtSetValueKey() (C:\Windows\system32\ntdll.dll:??)
#14 00000000   0x0028fd24 in ??() (??:??)
#15 00000000   0x00000000 in ??() (??:??)
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Janvier 07, 2014, 10:25:27 am
Salut Reycan,

En théorie ça devrait marcher oui. Peux-tu me fournir une archive avec un projet minimal Code::Blocks qui contient tout ce qu'il faut pour compiler et reproduire l'erreur ?

Ceylo
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Sawyer4 le Janvier 10, 2014, 04:22:25 pm
Bonjour,

J'utilise votre Bibliothèque depuis quelques jours. J'ai bien galéré à la recompiler mais j'y suis finalement parvenu.

Je l'ai testé pas de souci, de base.

Puis je l'intègre à mon projet.

Parfois la vidéo s'affiche bien : http://puu.sh/6g1Ni.jpg
Puis lorsque j'instancie le même objet mais avec une instance different et l'affiche de nouveau, une sorte d'erreur bizarre apparait: http://puu.sh/6g1Oc.jpg

Je précise que je redimensionne à l'aide de resizeToFrame(PRESERVE_RATIO=false) et que je ne fais rien du tout de différent par rapport à la première instance.

Voilà,
J'espère que vous trouverez une réponse :/

J'utilise SFML 2.1 compilé avec MSVC 11 comme votre bibliothèque.

Merci,
Cordialement,
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Janvier 10, 2014, 04:39:31 pm
Salut Sawyer4,

Est-ce que tu peux écrire un code minimal qui reproduit le problème ? Comme ça je pourrai trouver plus facilement l'origine du problème :)
Et est-ce que tu utilises sfeMovie 1.0 ou la dernière version du dépôt Git ?

Ceylo

P.S.: je ne connaissais pas cet anime, merci ;D
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: TobyKaos le Juin 10, 2014, 10:23:30 am
Bonjour,

je suis à la recherche d'une bonne solution pour lire des vidéos avec sous-titres. J'ai l'habitude d'utiliser sfml pour développer mes jeux alors j'ai cherché et trouver votre lib sfemovie.
Or elle ne semble pas permettre l'affichage de sous-titres mais peut-être que maintenant c'est ajouté?

Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Juin 10, 2014, 01:21:50 pm
Salut TobyKaos,

En effet cette fonctionnalité n'est toujours pas présente. Cependant tu pourrais éventuellement participer à son ajout si tu le souhaites, le travail en rapport me semble raisonnable :
- Allow selection of the active stream (https://github.com/Yalir/sfeMovie/issues/49)
- Display subtitles (https://github.com/Yalir/sfeMovie/issues/7)

À noter également que le support de sous-titres via des fichiers de sous-titres externes me semble plus compliqué que la gestion des sous-titres déjà intégrés dans les fichiers vidéos. Voilà j'espère que ça répond à ta question :)

Ceylo
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: TobyKaos le Juin 10, 2014, 02:25:00 pm
Et bien si ma mission se confirme et que j'utilise ton api avec sfml alors oui.

ca fait beaucoup de si et de plus apparemment les sous-titres seraient dans un fichier externe au format propriétaire. Je vais voir pour que ce soit directement encapsulé dans le fichier vidéo. Je devrais aussi gérer du multi-lingue.
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Juin 10, 2014, 10:54:49 pm
Ok. Par rapport au multi-lingue, je ne peux rien garantir mais étant donné que FFmpeg et SFML gèrent l'UTF-8 ça ne devrait pas poser de problème particulier.
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MadMaXx le Octobre 28, 2014, 02:43:09 pm
Bonjour,

Tout d'abord bravo pour cette extension. C'est toujours utile de pouvoir jouer des vidéos. D'ailleurs, sfeMovie a-t-elle vocation a être "intégrée" dans une version ultérieure de SFML ou va-t-elle rester "indépendante" ?

Sinon je voulais tester par curiosité le code d'exemple proposé sur http://sfemovie.yalir.org. Le code compile mais lors du run j'ai un "Cannot obtain a handle to the inferior: Paramètre incorrect." et rien ne se passe. J'ai QtCreator comme IDE, voici le .pro:

TEMPLATE = app
CONFIG -= console
CONFIG -= app_bundle
CONFIG -= qt

DEFINES += SFML_DYNAMIC

INCLUDEPATH += C:\SFML-2.1\include

INCLUDEPATH += C:\sfeMovie\include

LIBS += C:\SFML-2.1\lib\libsfml-graphics.a \
    C:\SFML-2.1\lib\libsfml-window.a \
    C:\SFML-2.1\lib\libsfml-system.a \
    C:\SFML-2.1\lib\libsfml-audio.a \
    C:\SFML-2.1\lib\libsfml-network.a

LIBS += C:\sfeMovie\lib\libsfeMovie.dll.a

SOURCES += main.cpp

J'ai bien mis tous les DLL requis. Je ne sais pas d'où ça peut venir...
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Octobre 28, 2014, 10:49:08 pm
Coucou !

Merci :) Pour autant que je sache non il n'est pas prévu d'intégrer sfeMovie à SFML. Il y avait eu des discussions sur le sujet mais le principal problème est l'ensemble des brevets sur les décodeurs vidéos (cela dépend des législations, des décodeurs inclus, etc), sans compter l'obligation d'avoir des DLLs supplémentaire pour ne pas devoir étendre la licence LGPL à la SFML.

Concernant Qt Creator, je ne l'utilise habituellement pas mais j'ai testé pour l'occasion (non sans difficulté). Et je n'arrive pas à reproduire ton erreur. Du coup la question est : quelle version de MinGW utilises-tu pour compiler l'exe ? Est-ce que tu fais quelque chose de particulier en plus du projet que tu montres ? Aussi prend garde à ne pas mélanger les DLLs de Debug et de Release.

De mon côté j'ai installé le toolkit MinGW (GCC 4.8.2) via l'installeur Qt pour pouvoir compiler avec MinGW mais je n'ai pas réussi à lancer l'exe sans utiliser le runtime MinGW indépendant (GCC 4.8.1-4) disponible sur le site officiel de MinGW (via leur installeur web).

Edit: pour être exact sur les versions du compilateur:
MinGW officiel: gcc.exe (GCC) 4.8.1
MinGW fourni par Qt: gcc (i686-posix-dwarf-rev3, Built by MinGW-W64 project) 4.8.2
Je ne sais pas si l'un ou l'autre peut perturber l'exécution...
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MadMaXx le Octobre 29, 2014, 02:01:14 pm
Merci de m'aider :D

J'ai comme compilateur MinGW 32 bit (gcc 4.8.2).

Pour les DLLs j'ai:

avcodec-55
avformat-55
avutil-52
libsfeMovie
libsndfile-1
openal32
sfml-audio-2
sfml-graphics-2
sfml-system-2
sfml-window-2
swresample-0
swscale-2

J'ai pris libsndfile-1 via ce site http://www.mega-nerd.com/libsndfile/#Download

J'ai rien fait de particulier dans le projet si ce n'est que j'ai ajouté hello.ogg (le nom de ma vidéo) comme argument du main en passant par Projects/Run settings.

Sinon pas besoin d'utiliser CMake dans l'histoire ? Si ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Octobre 29, 2014, 08:36:45 pm
Non pas besoin de CMake. Par contre pourquoi est-ce que tu n'utilise pas la DLL de libsndfile fournie par SFML ?

Après je note que tu as une version différente de GCC mais bizarrement tu n'as pas eu de souci avec la DLL de libiconv..

Si l'histoire de la dll de libsndfile ne règle rien, peux-tu me dire quel est ton PATH ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MadMaXx le Octobre 30, 2014, 08:32:10 am
J'ai pris le bon libsndfile-1 cette fois. Voilà le PATH :

C:\Qt\Qt5.3.1\5.3\mingw482_32\bin;C:\Qt\Qt5.3.1\Tools\mingw482_32\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT

Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Octobre 30, 2014, 09:22:14 am
Et toujours le même problème au lancement je présume ?

Si oui, deux points à tester :
- installe la version de MinGW depuis leur site officiel de MinGW, et change ton PATH pour utiliser ce MinGW à la place de celui de Qt. Vois si tu as le même problème au lancement.
- si ça ne fonctionne toujours pas, retire MinGW du PATH et tente de lancer l'exécutable. Il ne trouvera pas certaines DLLs, copie les depuis une seule des installations MinGW. Puis compresse tout ça et envoie le moi que je puisse tester. Si possible fait ça pour les 2 installations de MinGW dans des archives séparées. Ça doit me permettre de tester ton cas sans dépendre d'aucune de mes installations de MinGW.
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MadMaXx le Octobre 30, 2014, 02:48:29 pm
Super ça fonctionne !

Pour que ça marche (pour ceux que ça intéresse, sous Qt Creator):

- Projects/Build Environment/Details
- Cocher "Clear System environment" pour voir le PATH qui nous intéresse (celui dont a besoin le compilateur)

- Et au lieu d'avoir par défaut: 

PATH C:\Qt\Qt5.3.1\5.3\mingw482_32\bin;C:\Qt\Qt5.3.1\Tools\mingw482_32\bin

- Mettez

PATH C:\Qt\Qt5.3.1\5.3\mingw482_32\bin;C:\MinGW\bin (le MinGW téléchargé sur le site officiel, la 4.8.1)

A savoir qu'il est nécessaire de garder "C:\Qt\Qt5.3.1\5.3\mingw482_32\bin" car Qt Creator fait appel à qmake.exe qui se trouve dans ce répertoire.

Étrange quand même. Il y aurait incompatibilité de sfeMovie avec mingw482_32 ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Laurent le Octobre 30, 2014, 02:53:43 pm
Citer
Il y aurait incompatibilité de sfeMovie avec mingw482_32 ?
S'il a été compilé avec une autre variante ou version de MinGW, oui. D'ailleurs c'est un peu trompeur de n'avoir qu'un seul téléchargement estampillé "MinGW" pour sfeMovie ;)

Regardez combien de variantes de gcc différentes sont fournies pour les nightly builds de SFML: http://www.nightlybuilds.ch/project/show/1/SFML/
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MadMaXx le Octobre 30, 2014, 03:23:22 pm
Citer
Regardez combien de variantes de gcc différentes sont fournies pour les nightly builds de SFML: http://www.nightlybuilds.ch/project/show/1/SFML/

Ah oui quand même... Mais pourquoi tant de haine, tant de variantes?  :D

Surtout que mingw482_32 ça à l'air d'être à première vue juste la version 4.8.1 mise à jour. Il n'y a pas toujours de rétro-compatibilité ?  :-\
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Laurent le Octobre 30, 2014, 03:31:50 pm
C'est plus compliqué que ça. Il n'y a pas de version officielle de gcc pour Windows, il n'y a que des distributions (gcc + quelques autres outils et libs) que les gens ont compilées eux-même, avec leurs propres options. Par exemple, certaines vont utiliser win32 pour le threading, alors que d'autres vont utiliser le portage de pthread. Certaines vont utiliser la gestion d'exception SJLJ, alors que d'autres vont utiliser DWARF. Tous ces choix rendent une variante de gcc incompatible avec une autre.
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Octobre 30, 2014, 08:45:43 pm
Oh la honte, moi qui croyais que parce que ça venait de mingw.org, c'était LA version officielle ;D

Donc il y aurait la version de mingw.org, MinGW-w64, TDM et celle de nuwen en gros?
Si sur le site je change "MinGW" en "MinGW from mingw.org" c'est assez spécifique ou il y a encore des variantes ? :-°

Je ne sais pas non plus si les différents projets ont eux-même des sous-variantes avec par exemple un modèle de threading ou gestion des exceptions différentes.
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Laurent le Octobre 30, 2014, 10:58:55 pm
En gros : c'est le merdier... en partie parce que MinGW est de plus en plus à la traîne, et de moins en moins officiel justement. Donc, je ne pourrais pas te donner de réponse précise, mais oui, une même distribution peut fournir des variantes incompatibles (par exemple, TDM fournit des gcc avec SJLJ, et des gcc avec DW2).

Citer
Si sur le site je change "MinGW" en "MinGW from mingw.org" c'est assez spécifique ou il y a encore des variantes ?
MinGW c'est forcément delui de mingw.org, les autres distributions ont un autre nom ;)
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Novembre 30, 2014, 08:41:52 pm
Bonjour, j'ai un bug avec cette librairie ^^
http://pastebin.com/yRBEwBEQ
http://prntscr.com/5bty4t
Pourtant je n'ai aucune variable 'packet' dans mon programme !
http://prntscr.com/5btyew
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Novembre 30, 2014, 09:57:49 pm
Salut MyPix,

Quelle version de sfeMovie utilises-tu ?
Peux-tu fournir un code minimaliste permettant de reproduire le problème ?
Pourquoi est-ce que tu as des dll de winpthread et gcc_s_dw2 alors que tu as l'air d'avoir créé un exécutable avec Visual Studio ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Décembre 01, 2014, 07:45:11 am
Le code je sais pas le faire, je ne suis pas sur mon PC ^^ il est dans le pastebin ligne
17 -> chargement du film + play
Puis 52/62

J'utilise la derniere version débug, les dll j'ai du les ajoutées, on me les demandais, ça ne se lancais pas sans alors j'ai fouiné dans mon pc et je les ai trouvées ^^
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Décembre 01, 2014, 08:09:37 am
Quand tu dis dernière version c'est celle trouvée là ? http://sfemovie.yalir.org/latest/downloads.php

Pour les DLLs effectivement c'est probablement requis par les DLLs de FFmpeg et je ne m'en étais pas rendu compte parce que j'ai le dossier bin de MinGW dans mon PATH. :-°

Sinon tant que tu ne peux pas fournir d'exemple minimal je ne pourrai pas reproduire le problème et t'aider davantage... tu as testé de compiler le programme de démo fourni dans le dossier sample du dépôt Git ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Décembre 01, 2014, 05:08:35 pm
J'ai revérifié mon Code, rien n'est sensé buger dedans, il est bon, mais tu peux me donner les étapes à effectuer pour le setup de sfemovie ? je vais vérifier si tout es bon
Titre: Re : Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Décembre 01, 2014, 08:47:53 pm
Quand tu dis dernière version c'est celle trouvée là ? http://sfemovie.yalir.org/latest/downloads.php

Sinon pour le programme de démo, tu créés une solution Visual Studio comme tu l'as fait pour ton projet. Tu y ajoutes ce qu'il faut comme chemins de recherche d'include pour sfeMovie et SFML, tu donnes les bibliothèques sfeMovie, sfml-system, sfml-window, sfml-graphics au linker (sans mélanger les versions de debug et de release !).

Pour les sources de la démo tu peux prendre ce qui est ici : https://github.com/Yalir/sfeMovie/tree/master/sample

Une fois que tu auras fait tout ça et si tu rencontres toujours le même problème, envoie moi une archive de la solution VS basée sur le code de démo pour que j'y jette un œil :)
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Décembre 01, 2014, 10:25:16 pm
Je verrais si j'ai le temps, mais normalement tu est sensé savoir retracé le bug via le code que je t'ai passé vu que Init est appelé, puis en boucle HandleEvent,Update,Draw, c'est un code minimaliste , juste sous une autre forme ^^
Tout est sensé fonctionné. Apres l'erreur de la variable packet j'en ai une autre qui vise la dll de sfemovie qui vient instantanément apres
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Décembre 01, 2014, 11:16:02 pm
Ton code dépend de plein d'éléments externes qui n'en font pas un code minimaliste, cf http://sscce.org
Et non je ne sais pas reproduire ton problème, car le code de démo suit aussi le même principe mais fonctionne. J'ai le sentiment que le problème que tu as ne vient pas du code mais plutôt de l'environnement. C'est pour ça que je te demande de créer un projet propre et minimaliste que je pourrai tester au besoin.

Sinon je ne sais toujours pas d'où tu as téléchargé les binaires que tu utilises ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Décembre 02, 2014, 03:31:04 pm
Sur ton site, celles de Windows 32 Bits ^^
http://prntscr.com/5cfrko http://prntscr.com/5cfrs4
Même erreur avec un projet simple, tu peux dl le projet VSE 2013 là https://www.mediafire.com/?e3m3uetbkjs83s5
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Décembre 03, 2014, 08:57:54 pm
UP ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Décembre 03, 2014, 09:16:42 pm
Un peu de patience :P

J'ai pu reproduire le problème, reste à creuser.
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Décembre 04, 2014, 11:24:13 am
Ah oki :p
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Décembre 07, 2014, 04:55:05 pm
Est-ce que tu peux re-télécharger une archive de sfeMovie depuis le site et essayer de recompiler le programme de démo que tu m'as passé ? J'ai mis à jour les archives. Note également qu'une méthode a changé de signature depuis que tu avais téléchargé sfeMovie donc remplacer la dll sfeMovie-d ne suffira pas, tu dois recompiler le programme.

Si cela ne fonctionne toujours pas, essaie avec cette dll:
http://sfemovie.yalir.org/latest/downloads/sfeMovie-d-custom.zip

Si seule l'archive "custom" fonctionne la seule différence que je vois entre chez moi et sur les esclaves qui génèrent les archives du site est la version du compilateur utilisé : MSVC 18.0.31101.0 vs MSVC 18.0.30723.0.
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: MyPix le Janvier 28, 2015, 08:28:54 pm
http://prntscr.com/5y8cpl
(désolé du retard j'avais décroché de la sfml ^^)
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Janvier 28, 2015, 10:56:28 pm
Tu as compilé le programme d'exemple toi-même ?
Et la dll de sfeMovie que tu as mise à côté du programme d'exemple, les .lib et les headers utilisés lors de la compilation du programme d'exemple viennent tous exactement de la même archive de sfeMovie ?

Parce que le problème que tu as là ressemble très fortement au fait que tu as compilé le programme avec une vienne version des .lib et fichiers d'en-tête, mais mis une dll plus récente. Ou inversement. Je dis ça parce que la méthode Movie::getSize() a changé de signature (sf::Vector2f au lieu de sf::Vector2i) vers la période où tu as eu le problème.

Edit: et une fois ce soucis résolu, peux-tu me dire sur quelle archive tu t'es basé ? Celle du site ou la "custom" ?
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: deverdeb le Mars 11, 2015, 09:31:52 pm
Bonjour,

Bon, j'étais seulement en train de me demander s'il était possible d'afficher des vidéo avec SFML lorsque je suis tombé sur sfeMovie et là... chapeau !

Je pensais tomber sur une bête lib faite à la va vite, fonctionnant "au petit bonheur la chance" et mal intégrer à SFML et... bha non.
ça a fonctionné du premier coup, ça marche nickel, l'intégration à SFML est impéccable : Très bon travail et un grand merci.

D'ailleurs, l'intégrer directement dans la SFML serait vraiment bien  ;D
Titre: Re : sfeMovie [v1.0 disponible] [recherche des développeurs]
Posté par: Ceylo le Mars 11, 2015, 09:40:07 pm
Haha merci ! Ça fait super plaisir de voir que ça sert et que tout fonctionne du premier coup pour certains :)

Côté intégration dans SFML, ça avait été discuté, mais jugé trop compliqué : il y a pas mal de brevets sur les codecs vidéos qui font que tous ne sont pas utilisables gratuitement (enfin en Europe c'est plutôt tranquille de ce côté là), mais du coup il faut que l'utilisateur puisse choisir les codecs qu'il inclut, ce qui signifie compiler FFmpeg avec les bons codecs à la volée lors de la compilation de sfeMovie, ce qui donne au final quelque chose qui tourne bien mais pas facilement intégrable dans SFML :-\.
Titre: Re : sfeMovie [v1.0 disponible]
Posté par: yopman le Novembre 19, 2015, 01:22:25 am
Salut, je suis sous Linux 64b et j'utilise les binaires 64b de la version 1.0 fournis sur ton site.
Lorsque je compile aucun problème mais quand lance le programme il me met:

Movie_video::initialize() - could not find any video decoder for this video format
Movie_audio::Initialize() - could not find any audio decoder for this audio format

J'ai la contrainte d'utiliser SFML 2.2 au max, donc il m'est impossible de passer sur ta dernière version.
Voici les flags donc les librairies que j'ai:
-lsfeMovie -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lGLEW -lswresample -lswscale -ltgui -lsfml-window -lsfml-system -lsfml-graphics

Merci de ton aide.
Titre: Re : sfeMovie [v1.0 disponible]
Posté par: Ceylo le Novembre 19, 2015, 08:33:16 am
Salut yopman,

Déjà sache que la v1.0 est à des années lumières derrière la version actuelle autant sur les fonctionnalités que les bugs. Si tu tiens absolument à utiliser cette version, le plus simple est que tu te limites aux codecs fournis dans la version téléchargeable : http://sfemovie.yalir.org/1.0/faq.php#supported-codecs

Tu pourrais recompiler sfeMovie 1.0 avec tous les codecs mais c'est pas évident. Regarde la section "Getting Started" si tu veux creuser la dessus.

Quant à la dernière version de sfeMovie, elle ne peut pas fonctionner de manière stable avec les versions précédentes de SFML du fait de bugs. C'est dommage que tu sois limité à SFML 2.2 du coup...
Titre: Re : sfeMovie [v1.0 disponible]
Posté par: yopman le Novembre 19, 2015, 11:13:31 am
Merci d'avoir répondu aussi vite.

En effet, je ne mettais pas un fichier avec le bon format.

C'est un projet pour l'université, le compilateur là bas n'est que gcc 4.8. Il faut au moins le 4.9 pour compiler SFML 2.3, on se retrouve donc avec une version de Tgui et de ton projet pas à jour. C'est assez frustrant.

Pour l'instant, je vais me contenter des formats déjà présent dans les binaires. Si j'ai le temps, j'essayerais de recompiler pour avoir plus de codecs.

Encore merci.
Titre: Re : sfeMovie [v1.0 disponible]
Posté par: Laurent le Novembre 19, 2015, 11:38:45 am
Citer
Il faut au moins le 4.9 pour compiler SFML 2.3
Je suis curieux de savoir pourquoi.
Titre: Re : Re : sfeMovie [v1.0 disponible]
Posté par: yopman le Novembre 19, 2015, 12:55:43 pm
Citer
Il faut au moins le 4.9 pour compiler SFML 2.3
Je suis curieux de savoir pourquoi.

Aucune idée, au départ j'utilisais sfml 2.3 sur mon PC avec un GCC en 4.9.3, donc aucun problème. Lorsque j'ai voulu lancer mon code sur une machine de l'Université. Des erreurs dont je ne me souviens plus exactement la nature. On a fait une recherche sur internet et une personne avait la même que nous. Il était en 4.8 et le seul moyen de les corriger a été upgrader en 4.9.1. A partir de la, il n'a plus rencontré de problèmes avec son code. En passant en sfml 2.2, on a rencontré aucun problème lors de la compilation.
Titre: Re : sfeMovie [v1.0 disponible]
Posté par: Laurent le Novembre 19, 2015, 01:53:03 pm
SFML peut tout à fait être compilée et utilisée avec gcc 4.8. Il faut juste faire les choses correctement ;)
Titre: Re : sfeMovie [v1.0 disponible]
Posté par: yopman le Novembre 19, 2015, 02:22:24 pm
Si j'étais le seul à avoir ce problème dans mon groupe, je me poserais des questions sur le fait d'avoir fait "correctement fait les choses". Mais ce n'est pas le cas.

Je viens juste de retester:
lib/libsfml-system.so: référence indéfinie vers « std::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20 »

Sur votre propre site.
http://fr.sfml-dev.org/forums/index.php?topic=18187.0 (http://fr.sfml-dev.org/forums/index.php?topic=18187.0)

Si vous avez la solution, je suis preneur.
Titre: Re : sfeMovie [v1.0 disponible]
Posté par: Laurent le Novembre 19, 2015, 02:38:29 pm
C'est juste un problème de versions différentes (tout comme la discussion liée dans le post que tu cites). Si les téléchargements ne proposent pas de release SFML pour ta version de gcc, il faut simplement recompiler.