Render options
Contents
Types
Here are the file types that can be rendered
- bmp - Bitmap
- dv - digital video
- mpg - Motion Picture Expert Group file format for moving pictures
- gif - graphic interchange format
- imagemagick - image manipulation program
- jpeg - Joint Photographic Expert Group - still format suited to photographs
- libav - libavcodec is a free software/open source LGPL-licensed library of codecs for encoding and decoding video and audio data; it is written in the C programming language. It is part of the FFmpeg-project and many free/open source applications rely on it.
- null - Dummy file for rendering engine testing?
- null-tile - Dummy file for rendering engine testing?
- open-exr - Still image designed for handling Motion picture frames developed by ILM
- png - portable Network graphics - still images with lossless compression
- ppm - portable pixmap - still image using very basic format
- yuv420p - Still image format designed to preserve the images luminance
- mng - multiple-image Network Graphics - animated version of PNG - only works in SVN r979 or later
Results
Target type | Extension | Helper app |
Linux support |
Windows support |
Mac OSX support |
---|---|---|---|---|---|
Auto |
|
Determined by extension |
|
|
|
bmp | bmp | Native | #note 5 - bug in .bmp (fixed in svn)|5]] | Yes (Text layers correct in 983) | #note 5 - bug in .bmp (fixed in svn)|5]] |
dv | dv | encodedv | Yes | N/A - encodedv not supported under Windows | crash synfig |
ffmpeg | mpg | ffmpeg |
It renders .mpg .avi, .mov and .flv |
Working with FFMpeg 10464 and SVN 934 (may crash on longer renders) |
crash synfig |
gif | gif | native |
yes (animated gifs also) |
yes (animated gifs also) |
ok |
imagemagick | miff | imagemagick |
yes (but only last frame?) |
Renders to a readable file, but the image is corrupted in builds prior to SVN 934. Working in 934 and later (October 17th 2007). |
crash synfig |
magick++ | gif | native |
yes (animated gifs, optimized) |
unknown |
unknown |
jpeg | jpg | native |
yes |
yes |
ok |
libav | avi | libavcodec | yes, tested on Ubuntu Feisty (fails on Ubuntu Edgy) | N/A - libav support not compiled into the Windows version. | ? |
null | n/a | n/a | n/a | n/a | n/a |
null-tile | n/a | n/a | n/a | n/a | n/a |
open-exr | exr | native |
yes |
yes |
n/a |
png | png | native*.mpg-> |
yes |
yes |
ok |
ppm | ppm | native |
yes |
yes |
ok |
yuv420p | yuv | native |
yes but format in unknown format |
yes but format in unknown format |
render file in unknown format |
Rendering to Video
Rendering to video directly from Synfig under Windows presents some challenges.
If you want to render to anything other than mpg with ffmpeg, you'll want to save a series of images that represent your animation, to a still format that ffmpeg can read. I recommend png. Whilst you can render to any size image, if you're going to show your video on Youtube*.mpg->, you may want to take that into account when you render.
If you set up your render like {{l|Image:Render.png]]
Image size - width 320 Xres 72.0 Phys width 4.44 Height 240 Yres 72.0 Phys Height 3.33 (Image span 11.0127
Image area Top left X: -3.67 Y:4.2 Bottom right X: 3.67 y:-4.2)
You will get a series of png files in your output directory. Open a command prompt, cd to that directory, then use ffmpeg to assemble these png files into the video stream of your choice. for example -
C:\output>ffmpeg -r 15 -i rfrac%04d.png -f flv fractal.flv
creates a Flash video file of with the same framerate as used on Youtube. You should be able to submit it to Youtube without the need for the Youtube servers to have to re-compress it.
Notes
note 1 - libav crashes for genete
The extension is recognized but it crashed. Please report if it renders in your machine (Using Ubuntu 6.10 and svn 945). The console output is this:
synfig(5882): info: render target filename: '/home/carlos/Videos/pruebasynfig/RenderTest/avi-auto/RenderTest.avi'; extension: 'avi'
synfig(5882): info: 'avi' is a known extension - using target 'libav' Output #0, avi, to '/home/carlos/Videos/pruebasynfig/RenderTest/avi-auto/RenderTest.avi': Stream #0.0: Video: mpeg4 (hq), yuv420p, 480x270, q=2-31, 925 kb/s, 24.00 fps(c) Fallo de segmentación (core dumped)
note 2 - wtf is yuv?
The yuv file is rendered but it seems to have a not compatible format. See the console output when try to convert to a avi using ffmepg.
ffmpeg -i RenderTest.yuv -sameq RenderTest.avi
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2004 Fabrice Bellard
configuration: --enable-gpl --enable-pp --enable-pthreads --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr libavutil version: 0d.49.0.0 libavcodec version: 0d.51.11.0 libavformat version: 0d.50.5.0 built on Sep 20 2006 00:26:15, gcc: 4.1.2 20060906 (prerelease) (Ubuntu 4.1.1-13ubuntu2) picture size invalid (0x0) [rawvideo @ 0xb7f47c30]Could not find codec parameters (Video: rawvideo, yuv420p) RenderTest.yuv: could not find codec parameters
I can watch a .yuv animation. You need to specify the size it was rendered at - that doesn't seem to be part of the file format:
animate -size 480x270 file.yuv
I can single-step through a .yuv animation, using SPACE to step forward and BACKSPACE to step back through the frames:
display -size 480x270 file.yuv
I can also convert a .yuv to a series of .png files. This makes file-0.png through file-23.png for a 24 frame animation:
convert -size 480x270 file.yuv file.png
I also discovered that ffmpeg will happily convert a .yuv to .avi if you just tell it the image dimensions:
ffmpeg -s 480x270 -i file.yuv file.avi
svn r980 adds headers to created .yuv files, so you no longer need to specify the size when using them. -- {{l|User:Dooglus|dooglus]] 21:50, 25 October 2007 (EDT)
- Mmmm I can play yuv files with mplayer and with ffplay. Also I can convert a yuv file to an avi (or whatever ffmpeg can encode) without telling the video size. I think it depends on how ffmpeg was compiled. {{l|User:Genete|Genete]] 11:59, 4 June 2008 (EDT)
note 3 - mng not working?
The extension is recognized but it shows this pop-up window message: Unable to create target for /home/carlos/Videos/pruebasynfig/RenderTest/mng-auto/RenderTest.mng. Please report if it renders in your machine (Using Ubuntu 6.10 and svn 945)
How did you get the mng extension to be recognised? The module isn't built by default. Did you uncomment it in configure.ac? -- {{l|User:Dooglus|dooglus]] 10:49, 25 October 2007 (EDT)
- In fact it is not recognized. You'll have same answer if you put any other unknown extension. This target mng doesn't should be here. I was in a dream :).--{{l|User:Genete|Genete]] 16:24, 25 October 2007 (EDT)
I fixed mng rendering in svn r973-979. You can test it now. -- {{l|User:Dooglus|dooglus]] 18:14, 25 October 2007 (EDT)
note 4 - bug in 'auto' (fixed in svn)
Bug - Seems to generate a bmp (or series of bmps) regardless of extension.
Synfig was only checking the extension the first time Auto was selected -- fixed in r941.
r975 changed some of the default render targets (for instance it used imagemagick instead of built-in for .gif) accidentally. r984 put it back as it was. -- {{l|User:Dooglus|dooglus]] 21:52, 25 October 2007 (EDT)
note 5 - bug in .bmp (fixed in svn)
Please retest with r965 or newer to see if the inverted text bug is fixed.
note 6 - how to render for TV formats
If you need to render stills (pngs) for something where the final format does not have square pixels, such as PAL or NTSC DV, you can use the approach outlined below.
0) Select png format as you would otherwise
1) Use square pixel when you edit it in synfig (1024x576 for PAL 16:9 and 768x576 for PAL 4:3. (Pixelgeek calculates this to be 958x540 for anamorphic and 720x540 for SD NTSC)
2) Just before rendering, in canvas property->Other->Locks and links, set checkboxes for Image Aspect and Image Span, and uncheck Pixel Aspect (Depending on synfig version, this may possibly be the options dialog for File|Render, at least it is for me)
3) Change back to the Image settings
4) Change resolution to 720x576 for PAL, 720*480 for NTSC
5) Render
That should produce stills with the right "pixel aspect". When viewed on the PC using square pixels, a circle will appear as an oval. When viewed on a TV with the right pixelaspect, the circle will become a circle.