SFML community forums

General => Feature requests => Topic started by: 7eventh on July 14, 2009, 08:34:46 pm

Title: Cross-platform Video solution
Post by: 7eventh on July 14, 2009, 08:34:46 pm
Hullo !

My name is Jan Keromnes, and I'm the project manager of 7D², a french video game creation team. We're using the SFML library in some of our projects, and we find it really cool because it's cross-platform, incredibly simple, efficient, and, in short, SFML rocks !

The only thing that is really missing in SFML is a solution for videos. Programming video games without being able to play videos is a little frustrating, and I don't like the idea of using a new not-cross-platform library just to play a few videos...

I know it sounds like a terrible lot of work and trouble, but I think that SFML (which is a media library by the way) could so much more with a cross-platform video module, and I know I'm far from being the only one thinking that.

Thank you very much for what you do and for reading this !
Hoping that one day, SFML will be able to handle videos,

Jan.
Title: Cross-platform Video solution
Post by: Laurent on July 14, 2009, 09:32:51 pm
Hi

A video module is more or less planned, but for a very far future.

You can try ffmpeg as a cross-platform video library, I think there's even a tutorial on the wiki for interating it to the graphics module of SFML.
Title: Cross-platform Video solution
Post by: 7eventh on July 15, 2009, 07:42:08 pm
Ok, thank you very much ! I'm going to check out ffmpeg.
Title: Cross-platform Video solution
Post by: didito on October 20, 2009, 08:18:53 pm
any news on that topic? i could not find the entry in the wiki :(

I have done this before with DirectShow and OpenGL on windows, but now I am trying to do this as well on mac osx the first time. and I would like to integrate this into SFML.

I will try looking into openFrameworks, reacTIVision, macam, vlc/ffmpeg and quicktime for this.

i think it could basically be done in SFML - using sf::Thread for continuously grabbing the frames and uploading the pixels of the current frame into the texture in the graphics memory (i already found the function in sf::Image). this would probably involve some locking or shared gl contexts though.

and for a more advanced version of this video engine:
upload speed would benefit from pixelbuffer objects.
and we probably need different pixelformats on different platforms to not fall off the fast path (i think we need this anyway).
and if we want to speed things up further and decode YUV to RGB then we need framebuffer objects and shaders ...

jm2c, cheers,
didi
Title: Cross-platform Video solution
Post by: didito on October 20, 2009, 08:25:43 pm
well, just for the report - i found the entry in the french wiki and another thread on that topic. i'm sorry, i can't speak french but i will try to look into that ...

http://www.sfml-dev.org/forum/viewtopic.php?t=1428&highlight=video (http://www.sfml-dev.org/forum/viewtopic.php?t=1428&highlight=video)

http://www.sfml-dev.org/wiki/fr/tutoriels/integrervideo (http://www.sfml-dev.org/wiki/fr/tutoriels/integrervideo)