Edit page blog/2009/11
[wiki.git] / blog / 2009 / 11
1 == Wed, Nov 25: Home, sweet home ==
2
3 {{http://i33.photobucket.com/albums/d52/mochifish/IMG_1566.jpg}}
4
5 == Exploring Julia in 4 dimensions ==
6
7 The discovery of the [[http://www.skytopia.com/project/fractal/mandelbulb.html | Mandelbulb]] awekened my old
8 passion for fractals.
9
10 So I took the time to re-encode my old rendering of the [[http://en.wikipedia.org/wiki/Quaternion | Quaternion]]
11 [[http://en.wikipedia.org/wiki/Julia_set | Julia set]] done with POV-Ray. Behold:
12
13 {{pictures/julia4D/julia4D-640x360.ogv | Quaternion Julia 4D fractal (640x360 @ 1200Kbit/s, Ogg Theora encoded)}}
14
15 The sound track is [[http://lite.modarchive.org/index.php?request=view_by_moduleid&query=59288 | UranChrome]],
16 an old-skool Amiga SoundTracker module composed by TorbJ0rn in 1989.
17
18 === Downloads ===
19
20 If your browser sucks at HTML5, you can directly download the video files, available in several formats:
21
22 || **Filename**                                                         || **Resolution**|| **Birate** ||**Video**||**Audio**||**Size**||
23 || [[pictures/julia4D/julia4D.ogv | julia4D.ogv (Ogg)]]                 || 1280x720 || 6000Kbit/s || Theora || Vorbis   || 60MB ||
24 || [[pictures/julia4D/julia4D-640x360.ogv | julia4D-640x360.ogv (Ogg)]] ||  640x320 || 1200Kbit/s || Theora || Vorbis   || 13MB ||
25 || [[pictures/julia4D/julia4D.avi | julia4D .avi]]                      || 1280x720 || 6000Kbit/s || H.264  || -        || 60MB ||
26 || [[pictures/julia4D/julia4D-640x360.avi | julia4D-640x360.avi]]       ||  640x360 || 1200kbit/s || H.264  || -        || 12MB ||
27
28 === Rendering notes ===
29
30 It took about 2 weeks of computation on a dual-core machine to render the 2048 high resolution frames contained in 82 seconds of video.
31 My previous renderings at lower resolution and lower iteration count were much faster.
32
33 A The high iteration count actually makes the fractal surface a little too polverized to appreciate. Adding transparency
34 and gradients is another bad idea as it complicates things even more. If I find the time and motivation to re-render the
35 animation, I'll look for better balance.
36
37 In case someone wants to experiment, these are the [[pictures/julia4D/julia4D.pov | scene source]]
38 and [[pictures/julia4D/julia4D.ini | ini file]] I used.
39
40 === Video encoding notes ===
41
42 The files were encoded from a sequence of PNG frames generated by POV-Ray,
43 using **ffmpeg** and **mencoder**:
44
45 {{{
46 # hires mpeg4
47 please mencoder 'mf://julia4D????.png' -mf fps=25 \
48         -ovc x264 -x264encopts bitrate=6000:pass=1:threads=2 -o julia4D.avi 
49
50 # lores mpeg4
51 please mencoder 'mf://julia4D????.png' -mf fps=25 -vf scale=640:360 \
52         -ovc x264 -x264encopts bitrate=1200:pass=1:threads=2 -o julia4D-640x360.avi 
53
54 # hires theora
55 please ffmpeg -f image2 -i julia4D%04d.png \
56         -threads 2 -vb 6000k -vcodec libtheora -acodec libvorbis -f ogg julia4D.ogv \
57         -i UranChrome-fx-short.wav -acodec libvorbis -ab 96k -newaudio
58
59 # lores theora
60 please ffmpeg -f image2 -i julia4D%04d.png \
61         -threads 2 -s 640x360 -vb 1200k -vcodec libtheora -f ogg julia4D-640x360.ogv \
62         -i UranChrome-fx-short.wav -acodec libvorbis -ab 96k -newaudio
63 }}}
64
65 This is the software I have used:
66
67 {{{
68 MEncoder SVN-r29800-4.4.2 (C) 2000-2009 MPlayer Team
69 FFmpeg version SVN-r20372, Copyright (c) 2000-2009 Fabrice Bellard, et al.
70 libtheora-1.1.0
71 libvorbis-1.2.0
72 x264-libs-0.26.20091026
73 }}}
74
75 The quality of the low-res Theora stream is noticeably lower than the corresponding low-res H.264. I don't know why.