Hugo Future Imperfect Slim

Tracey Jaquith · PoohBot Pictures

Technophile · Optimist · Cyclist · Archivist · Design · Video · TV · Nomad · Docker

tracey pooh

2-Minute Read

i’m very pleased that after years of hacks here and there, all three heads of the current codebases pretty well build natively on mac (snow leopard) for

  • x264
  • ffmpeg
  • mplayer

here, i’m making sure that i compile in static version of libvpx (Webm) and libx264 (h.264) video packages so that the ffmpeg can easily make hiqh quality h.246 and webm transcoded videos.

https://archive.org/~tracey/downloads/macff.sh

So we can make nice (2 pass video) ~768 kb/sec 640×480 derivatives like so (alter -r .. as appropriate):

make WebM

ffmpeg -deinterlace -y -i 'camels.avi' -vcodec webm -fpre libvpx-360p.ffpreset  \
  -vf scale=640:480  -r 20  -threads 2  -map_meta_data -1:0  -pass 1  \
  -an  tmp.webm

ffmpeg -deinterlace -y -i 'camels.avi' -vcodec webm -fpre libvpx-360p.ffpreset  \
  -vf scale=640:480  -r 20  -threads 2  -map_meta_data -1:0  -pass 2  \
  -acodec libvorbis -ab 128k -ac 2 -ar 44100 tmp.webm

mv tmp.webm 'camels.webm'

make h.264

ffmpeg -deinterlace -y -i 'camels.avi' -vcodec libx264 -fpre libx264-IA.ffpreset  \
  -vf scale=640:480  -r 20  -threads 2  -map_meta_data -1:0  -pass 1  \
  -an  tmp.mp4

ffmpeg -deinterlace -y -i 'camels.avi' -vcodec libx264 -fpre libx264-IA.ffpreset  \
  -vf scale=640:480  -r 20  -threads 2  -map_meta_data -1:0  -pass 2  \
  -acodec aac -strict experimental -ab 128k -ac 2 -ar 44100 tmp.mp4

qt-faststart tmp.mp4 'camels.mp4'

our preset files:

https://archive.org/~tracey/downloads/libvpx-360p.ffpreset

https://archive.org/~tracey/downloads/libx264-IA.ffpreset

Nice things about the h.264 derivative:

  • plays on all iphones and ipads
  • browser video tag and/or flash plugin compatible
  • starts immediately, seeks immediately even before entire video is downloaded

hope this may be useful!

Say Something

Comments

tracey pooh's Gravatar

thanks for the tip.
i did check w/ the original author and his site at
http://multimedia.cx/eggs/improving-qt-faststart/ where he seems to suggest/prefer the bundled source w/ ffmpeg.

it seems most of the issues people have had with the C aspect of qt-faststart relate to 32bit vs 64bit compiling — which we don’t really have to worry about in our setup when compiling from ffmpeg as instructed. (and having been “raised on C”, i don’t have any major issues w/ C vs. python.

was there something compelling otherwise about the python variant you liked?

Recent Posts

Categories

Tags

#spottheshuttle 1940s 1st person 3d accident aids lifecycle airplane animals appeltart apple pie apple watch architecture arkit art ascii art asia augmented reality baking bali bay area best of biking birthday cafe racer camaro camera video camping candy cars cat pee cat psychology cats cloud coding college colorspaces computer vision cornell crictl css dark mode death valley decaf deinterlace desert design diy docker documentary driving ducting ebgb elbow break emacs endeavour family ffmpeg food games geek gitlab golden gate bridge google cardboard grand canyon gravel bike green magic man h.264 hack health highway 1 home https hugo hyperlapse internet archive ios iphone javascript jeep k3s kubernetes landscapes linux lisp luke battling darth mac macosx markdown mashup metal montclair motion-jpeg motorcycle mountain bike mplayer mt tamalpais nasa new bay bridge news ninja oakland olecranon partioning phoenix php php-htm-mode politics protest rancher recording remaster remix remodel sedona shuttle small town star wars surgery swift tahoe technical thirsty thursday time machine time-lapse timing belt adjustment top end rebuild tracey traefik training ride travel vacation valve job video virtual reality vlog vscode weekend-mechanic work x264 xcode yuvj420p zx6

About

tracey is a nonstop dance party. so you dont have to. dont ask me about containers. thanks for dropping by today. you look nice.