I have to say that ffmpeg will take care about the extension of the file you're passing with the file name. In this way you can make a mov or a flv juts selecting ffmpeg and adding the proper extension to the file name.
When you select the extension you're selecting the container and not the codec. The codec is the one that is defined internally in the composed command line that the program send to ffmpeg. BTW it could be a cool feature to have the opportunity to select the codec and the main parameters like cinelerra does.
Almost in linux I can create .mov .flv .avi and .mpg (different containers) with same internal codec MPEG (libmpeg2).
So it is not needed to render to a png sequence and later use ffmpeg due to you can do it directly using synfig, almost in linux. --Genete 10:02, 18 October 2007 (EDT)
- Can I ask you a favour? Can you go through and test that all the formats do render correctly under Linux - I'm assuming they do, but dooglus couldn't confirm.
- I agree that rendering to the ffmpeg target allows you to change the extension of the filename. However, the ffmpeg target right now is hard coded to use the mpeg1video codec, no matter what the extension supplied is. So I don't know if that is creating a .mov, .flv, .avi file, but you may well get a mpg file with a .mov, .flv or .avi file extension....
The hardcoded commandline Synfig uses is:-
ffmpeg -f image2pipe -vcodec ppm -an -r %f -i pipe: -loop -hq -title \"%s\" -vcodec mpeg1video -y \"%s\"
- where %f is the framerate, the first %s is the canvas title and the second %s is the filename.
So, if you want to create a .flv file, I can't see how you would do it except by exporting the individual frames and then manually setting up the ffmpeg command line. (Unless you're doing some clever magic with ffmpeg under Linux that Synfig doesn't know about)
- Also, under Windows, the ffmpeg target has been broken up to SVN 934 (17 October 2007)
- P.S. I just tried rendering from Synfig with ffmpeg to a .flv file and got a 0 byte file...Hmmmm.... Pxegeek 01:37, 19 October 2007 (EDT)
- OK, I'll do it and update to the Render Options page and to this talk page. Also I'll upload the file results to let you (or others) verify if the file is correct or not. I'll include my ffmpeg version (maybe it is important).--Genete 08:54, 19 October 2007 (EDT)
- This is what I get in the console when I try to specify flv extension -
FFmpeg version SVN-r10464, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --
enable-liba52 --enable-avisynth --enable-libamr-nb --enable-libamr-wb --enable-l
ibfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --en
able-libogg --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx
vid --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
libavutil version: 49.5.0
libavcodec version: 51.43.0
libavformat version: 51.12.2
built on Sep 10 2007 10:31:22, gcc: 4.2.1
Input #0, image2pipe, from 'pipe:':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: ppm, rgb24, 480x272, 24.00 fps(r)
Output #0, flv, to 'C:\Program Files\synfig\examples\eye.flv':
Stream #0.0: Video: mpeg1video, yuv420p, 480x272, q=2-31, 200 kb/s, 24.00 fps(
Stream #0.0 -> #0.0
[mpeg1video @ 0098D2D0]video codec not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?)