Encoding for SciDome XD Using Blender 2.78

Many systems, including the SciDome XD, use MPEG-2 for high bitrate encoding. After many fits and starts, we've figured out how to do this easily.

PLEASE NOTE:This method uses Blender 2.78, an older version of the software. Later versions of this software do not support direct MPEG-2 video output.

I'm also including a written tutorial on how to do this encoding using the open source, cross-platform package ffmpeg. You can find that at the bottom of this page.

The Planet of Mystery Program Pack Tutorial Series

This series will help you unravel the intricacies of editing for output for full dome systems. Use this series with the Planet of Mystery Program Packs or with dome masters you've acquired or produced.

It can also help you produced your own, original graphics to project on your dome.

Best of all, it uses freely available open-source, cross-platform software!

Encoding Dome Masters using FFMpeg

Basic Encoding with FFMpeg

Most people use FFMpeg for converting one file format to another. To do that simply, use a command like this:

ffmpeg -i infile.avi outfile.mp4

If you play that file back, it's likely to look pretty awful. That's because the command didn't include things like bit rates, quality settings, etc.

To get a better result, I'd use this command line:

ffmpeg -i infile.avi -vcodec libx264 -qmin 1 -qmax 3 outfile.mp4

Please note that neither of these examples include audio tracks that are recorded separately. I'll cover that later.

Dome Masters to Video

Many programs arrive with a large number of files called dome masters. These are sequentially numbered image files, usually JPEGs. Depending on which version of the program you've acquired, they may or may not match the resolution of your planetarium projection system.

In the past, I've worked with the SciDome XD system by Spitz, which has a resolution of 2560 x 2560. Full dome video for this system is supposed to be encoded with the MPEG-2 codec and play back at 30 frames per second.

The audio is played back separately as a .WAV file. However, some systems require the audio to be encoded with the video which I'll address below.

For this example, I'll assume that the program I'm encoding is From the Earth to the Universe. The image files are fettu00001.jpg through fettu52200.jpg (a 29 minute program). So the command line for encoding this would read as follows:

ffmpeg -r 30 -i fettu%05d.jpg -c:v mpeg2video -s 2560x2560 -b:v 48000k -maxrate 48000k fettu.mpg

Explanation of the command line:

-r sets the frame rate (in this case, 30 fps)
-i sets the input files

For the input files, the number following the prefix for the file (fettu) is a wildcard that tells FFMpeg that there are five digits in the filename.

-c:v sets the video codec. If you don't want to make mpeg files, search online for a list of FFMpeg codecs (such as libx264 for MP4 files and so on).
-s sets the size of the video in pixels. The first value is the width and the second is the height.1
-b:v sets the size of the video buffer.2
-maxrate sets the maximum playback rate of the video in bits per second.

Video with Sound

From my experience, some systems need the sound multiplexed (or "muxed") with the video. Fortunately, FFMpeg can handle that as well.

With one of the MediaGlobe systems by Konica-Minolta, the command line would be something like this:

ffmpeg -r 30 -i f%05d.jpg -i sound.wav -c:v mpeg2video -s 1536x1536 -qmin 1 -qmax 3 -c:a libmp3lame -ab 256k out.avi

The additional parameters include a codec for the audio and the bit rate for the audio.

Although this uses the mpeg2video codec, it will output in the AVI format with the inclusion of that file extension.

Playback Test

To check to see if your video will play back, you can either install it to your playback system or you can check it on your computer with MPV. The advantage of MPV is that it gives you the capability to scale the video to fit on your desktop or laptop monitor.

The command to play back the the video I "created" above is:

mpv out.avi --vf scale=720:720 --loop=inf

The video will play back at a resolution of 720x720 pixels which should fit on most screens easily. I've also included a loop function which will play until I tell it to quit by pressing the "Q" key.

This and That

It should go without saying that I can't guarantee that any of this will work for you. There are countless variables. However, if you have questions, comments or corrections, please contact me by clicking the link above.

Disclaimer 3

The information contained in these tutorials is for general information purposes only. The information is provided by Jim Craig and while I endeavour to keep the information up to date and correct, I make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the tutorials or the information, products, services, or related graphics contained on the tutorials for any purpose. Any reliance you place on such information is therefore strictly at your own risk.

In no event will I be liable for any loss or damage including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever arising from loss of data or profits arising out of, or in connection with, the use of these tutorials.

Through this website you are able to link to other websites which are not under my control. I have no control over the nature, content and availability of those sites. The inclusion of any links does not necessarily imply a recommendation or endorse the views expressed within them.

Every effort is made to keep the website up and running smoothly. However, I take no responsibility for, and will not be liable for, the website being temporarily unavailable due to technical issues beyond my control.

1If your image files are higher resolution than you need, FFMpeg will scale them down and look pretty good. If they are smaller, FFMpeg will scale them up but they may not look very good.
2I honestly don't know what this does but I've found this value work well for me.
3In our litigious society, I want to protect my backside in the extremely unlikely event that things go very wrong.