Page 1 sur 1
Bibliothèque Movie
Publié : ven. 08/août/2008 7:09
par poshu
Je viens de commencer à faire mumuse avec les fonctions movie, et je suis assez dubitatif:
Je veux ouvrir un MKV(h264), jusque à tout va bien.
Avec l'exemple fourni, il est lu sans problème dans une fenêtre, tout vas toujours bien.
Pour le mettre en fullscreen, j'ai d'abord essayé de l'afficher sur le bureau via GetDesktopWindow_(), et là encore ca va bien.
Par contre, au moment de l'afficher sur un screen, là tout dérape, il ferme l'application sans même le moindre message d'erreur... pourtant, avec un AVI(Divx) et le même code, ça marche!
Quelqu'un à une solution? Ou au moins une explication?
Publié : ven. 08/août/2008 8:31
par djes
Arf! Difficile de savoir ce que fait le codec. A mon avis il attend un type de surface bien particulier et celle que lui donne pure ne répond pas à ses attentes. Ca pourrait être très intéressant pour Fred si tu lui filais tout en détail.
Publié : ven. 08/août/2008 12:29
par Thyphoon
La lib Movie est pas au point pour avoir beaucoup jouer avec... c'est une grosse galère et ce n'est pas fiable...
J'ai rencontré des trucs curieux :
http://www.purebasic.fr/french/viewtopi ... ight=movie
http://www.purebasic.fr/french/viewtopi ... ight=movie
mais ça n'attire pas les foules apparemment
j'avais suggérer quelques choses mes personnes n'avait relevé :
http://www.purebasic.fr/french/viewtopi ... ight=movie
Si tu trouves quelques choses qui marche bien fait moi signe. j'ai un projet bloqué a cause de ça !!

Publié : ven. 08/août/2008 17:44
par venom
bonjour,
voila je ne suis pas sur de bien résoudre le problème mais appariement il s'agit de mètre une vidéo dans un screen.
moi je procède de cette façon :
Code : Tout sélectionner
If ExamineDesktops()
Width = DesktopWidth(0)
Height = DesktopHeight(0)
EndIf
InitMovie()
MovieName$ = OpenFileRequester("ouvrir un fichier compatible", "", "format compatible|*.mpg:*.mpeg;*.wmv;*.mov;*.avi", 0)
If MovieName$
If LoadMovie(0, MovieName$)
OpenWindow(0, 0, 0, Width, Height, "PureBasic - Movie", #PB_Window_BorderLess)
PlayMovie(0, WindowID(0))
ResizeMovie(0, 0, 0, Width, Height)
Repeat
Select WindowEvent()
Case #WM_KEYDOWN
Select EventwParam()
Case #VK_ESCAPE
quit = CloseWindow(0)
EndSelect
EndSelect
Until quit
EndIf
EndIf
bon sa n'avance pas plus le problème mais sa peut être une solution non ?

.
Publié : sam. 09/août/2008 9:29
par poshu
Thyphoon: Je vais étudier ça. J'en ai vraiment pas un besoin important, mais hier en feuilletant l'aide de pure, je me suis dit que ça ne me ferait pas de mal de connaitre un peu les possibilités des libs dont je ne me sert pas sous pure.
Venom: Merci, mais ce n'est pas un problème de code, juste un problème de "bizarrerie" soit des fonctions Movie, soit du container MKV, soit encore du codec H264... Dur dur de s'y retrouver T_T
Publié : sam. 09/août/2008 10:07
par Ar-S
Ce conteneur qu'est le MKV m'a toujours embêté. Mais il est vrai que l'encodage H264 est d'une qualité impressionnante. Mais même avec des outils existant déjà, on se casse parfois les dents lors de conversions/reconversion. Donc tes problèmes ne m'étonnent pas. Si par contre une solution à ton soucis existe, je suis curieux de la connaitre.
Publié : sam. 09/août/2008 10:22
par poshu
Bah, étant donné qu'on peut tranquillement afficher en plein écran une vidéo MKV/H264, je dois avouer que c'est plus chipoter qu'autre chose que de dire que j'ai un "problème". Mais les fonction movie en mode screen me déçoivent beaucoup: les fonctions de resize sont vraiment laides (rien à voir avec l'interpolation native supportés par les codecs), et c'est déjà un gros problème pour qui voudrait utiliser des vidéo dans un jeu; ajoutons à ca le coté hasardeux de la compatibilité ça devient carrément suspect. Dommage :/