| 1 | '''Animated Textures'''[[br]] |
| 2 | |
| 3 | '''Goal'''[[br]] |
| 4 | Our goal is to implement a container which can handle different media files like avi or mpeg. Through this we will be able to create animated textures or playing ingame movies. If we have enough time we will implement some cool features like recording. |
| 5 | |
| 6 | '''Library'''[[br]] |
| 7 | We are using [http://ffmpeg.sourceforge.net/index.php FFmpeg] to record and stream the audio and video files.[[br]] |
| 8 | "FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading audio/video codec library. FFmpeg is developed under Linux, but it can compiled under most operating systems, including Windows." |
| 9 | |
| 10 | '''Design'''[[br]] |
| 11 | UML-Classdiagram:[[br]] |
| 12 | https://www.orxonox.net/cgi-bin/trac.cgi/attachment/wiki/AnimatedTextures/animatedTexture.png?format=raw |
| 13 | |
| 14 | '''Usage'''[[br]] |
| 15 | Multitex opens a media file and loads the frames as textures into a list.[[br]] |
| 16 | The textures are displayed on the screen.[[br]] |
| 17 | Try this only with short clips ~200frames[[br]] |
| 18 | ./multitex yourMovie[[br]] |
| 19 | |
| 20 | Controls:[[br]] |
| 21 | 8 Decrement fps by 1[[br]] |
| 22 | 9 Increment fps by 1[[br]] |
| 23 | |
| 24 | There is a short clip in the data/media folder named crash.mpg[[br]] |
| 25 | |
| 26 | Movie_player_test opens a media file and plays the movie. It loads the frames at runtime.[[br]] |
| 27 | This one can play long movies.[[br]] |
| 28 | ./movie_player_test yourMovie[[br]] |
| 29 | |
| 30 | Controls:[[br]] |
| 31 | 1 Play[[br]] |
| 32 | 2 Resume[[br]] |
| 33 | 3 Pause[[br]] |
| 34 | 4 Stop[[br]] |
| 35 | 9 Decrement speed by 0.5[[br]] |
| 36 | 0 Increment speed by 0.5[[br]] |
| 37 | |
| 38 | There is a movie in the data/media folder named test_clip.mpg[[br]] |
| 39 | |
| 40 | '''Roadmap'''[[br]] |
| 41 | -30.11.05 Project design[[br]] |
| 42 | -07.12.05 Implementation[[br]] |
| 43 | -14.12.05 Implementation[[br]] |
| 44 | -21.12.05 Implementation[[br]] |
| 45 | -11.01.06 Debug, Code Freeze[[br]] |
| 46 | -18.01.06 Presentation[[br]] |
| 47 | -25.01.06 Documentation[[br]] |
| 48 | |
| 49 | '''Examples'''[[br]] |
| 50 | [http://www.inb.uni-luebeck.de/~boehme/avcodec_sample.0.4.9.cpp simple example][[br]] |
| 51 | |
| 52 | '''Links'''[[br]] |
| 53 | [http://ffmpeg.sourceforge.net/index.php FFmpeg][[br]] |
| 54 | [http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35 NeHe: Lesson 35][[br]] |
| 55 | |
| 56 | '''Programmers'''[[br]] |
| 57 | [http://hdavid@ee.ethz.ch David Hasenfratz][[br]] |
| 58 | [http://stefalie@ee.ethz.ch Stefan Lienhard][[br]] |