How to create a flv file
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 ?)
- This file was done under synfig and exported with ffmpeg and flv extension. The ffmpeg command gives this console output (info):
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)
Save the file and play it in a flv player. I do it with mplayer.
--Genete 06:47, 20 October 2007 (EDT)
Do we need a separate table for the 'Auto' target?
Assuming it's working now, all the auto target does it looks at the extension and uses the associated target, so for example, if ffmpeg rendering to .mpg doesn't work, then neither with Auto rendering to .mpg. We need a table show what is the default target type for each known extension, but I don't think individual test results need reporting. -- dooglus 04:15, 25 October 2007 (EDT)
Ugly animated gifs, How can we improve them?
Create an animated gif usually takes a long render time due to the way it is currently done (using internal code). Also its disposal method doesn't work properly leaving traces of previous frames. Maybe if synfig creates a series of png then they can be easily put together using Imagemagick's Convert command: http://www.imagemagick.org/Usage/anim_basics/ --Genete 04:29, 26 October 2007 (EDT)
Thanks for pointing me at that page, but it seems to be talking about a different ImageMagick than the one I'm using:
$ convert in.gif -layers optimize out.gif convert: unrecognized option `-layers'.
I can use this to attempt to optimize the file:
$ convert in.gif -deconstruct out.gif
but it isn't very good. Each frame is reduced down to a rectangle that contains all the changed pixels. But if there's movement in two opposite corners of the screen, the rectangle is the whole screen... -- dooglus 09:56, 26 October 2007 (EDT)