30 Dec 2008 connolly   » (Master)

woot! It works! Youtube videos on a $30 media player!

The AMV format was new to me; I found a HowToConvertToAMV recipe, but that lacks support for mp4a, the audio codec used by youtube (at least the videos I tested).

Then I found adding --enable-faad to ffmpeg (don't forget to make distclean) and presto:

$ clive
clive 0.4.19 20080722  [Linux]
=> 1 (2.6MB), failed: 0, skipped: 0.
BrianReganWalkieTalkie.mp4                    100%    2.6MB
 109.2KB/s 00:00:24

$ ~/src/amv-codec-tools/AMVmuxer/ffmpeg/ffmpeg -i BrianReganWalkieTalkie.mp4 -f amv -s 128x90 -r 16 -ac 1 -ar 22050 -qmin 3 -qmax 3 BrianReganWalkieTalkie.amv FFmpeg version SVN-r589, Copyright (c) 2000-2007 Fabrice Bellard, et al. configuration: --enable-gpl --enable-libfaad libavutil version: 49.5.0 libavcodec version: 51.47.1 libavformat version: 51.17.0 built on Dec 30 2008 12:07:41, gcc: 4.3.2 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'BrianReganWalkieTalkie.mp4': Duration: 00:01:13.7, start: 0.000000, bitrate: 291 kb/s Stream #0.0(und): Audio: mpeg4aac, 44100 Hz, stereo Stream #0.1(und): Video: h264, yuv420p, 320x240 [PAR 0:1 DAR 0:1], 30.00 fps(r) PIX_FMT_YUV420P will be used as an intermediate format for rescaling Output #0, amv, to 'BrianReganWalkieTalkie.amv': Stream #0.0(und): Video: amv, yuvj420p, 128x90 [PAR 0:1 DAR 0:1], q=3-3, 200 kb/s, 16.00 fps(c) Stream #0.1(und): Audio: adpcm_ima_amv, 22050 Hz, mono, 64 kb/s Stream mapping: Stream #0.1 -> #0.0 Stream #0.0 -> #0.1 Press [q] to stop encoding frame= 1172 fps=343 q=0.0 Lsize= 3878kB time=73.2 bitrate= 433.7kbits/s video:3062kB audio:802kB global headers:0kB muxing overhead 0.376436%

Merry Christmas, Kyle!

It's not as nicely packaged as the Mac app Justin uses with his ipod, but it's cheaper and more free (I'm not sure if it's quite open source; I don't know the license details of the AMV code.)

See also: #swig chat, including notes on a mythv box.

tags: media, video

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!