[UFO Chicago] 3G video converter -- progress report

Jay F Shachter jay at m5.chicago.il.us
Thu Jun 24 16:13:26 PDT 2010


Fellow Ufonians,

If anyone in our group is interested in knowing how you convert
3G iPhone videos to more common formats, here's how I did it.

The native Linux programs on my SuSe system were already able to
decode the picture; the hard part was understanding the audio, which
is in "amr" format, and not natively understood.  Gmplayer, for
example, played the videos as silent films.  I obtained the source to
ffmpeg (which was absent on my system), and configured it with
explicit invocation of "--enable-amr_nb" and "--enable-amr_wb".  These
options are not enough, however; you also have to get the amr_wb routines
from http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
and install them in libavcodec/amrwb_float, and get the amr_nb code
from http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-5??.zip
and install it in libavcodec/amr_float.  Then you build ffmpeg.  Once
you've built an amr-aware version of ffmpeg, the conversion is as
simple as

        ffmpeg -i filename.3gp filename.wmv

and the program understands the desired output format from the
filename extension.  If you want to convert to avi format, then an
additional argument is needed:

        ffmpeg -i filename.3gp -ar 44100 filename.avi


And to answer the following question:

> 
> By the way, are you looking for "free" as in beer,
> or Free as in Richard Stallman's Four Freedoms,
> and if the latter, how Free must it be?  There may
> not be any solutions which satisfy all of the RMS
> Freedoms as some of the formats require encoding
> that is encumbered by intellectual property
> rights.
> 

one of the configuration options is "--enable-gpl", and, in fact,
I built ffmpeg with that option -- not out of principle, but because
I had to; I wanted to enable something else (either libogg or vorbis,
I don't remember now exactly which one it was) and configure would not
permit the corresponding configure option unless "--enable-gpl" was
also selected, apparently because the routines I wanted were
distributed subject to the GPL and could not be included in the
program unless the entire program was GPL'ed (I do not know the
technical details, but apparently they are more tightly integrated
into the program than a library, or, for some other reason, they are
not distributed subject to the lesser restrictions that characterize
the GNU libraries).  So, my entire ffmpeg program is GPLed, and
therefore, presumably is not encumbered by intellectual property
rights other than those of the GPL itself.


			Jay F. Shachter
			6424 N Whipple St
			Chicago IL  60645-4111
				(1-773)7613784
				jay at m5.chicago.il.us
				http://m5.chicago.il.us

			"Quidquid latine dictum sit, altum videtur"


More information about the ufo mailing list