update ffmpeg binaries

47 views
Skip to first unread message

g

unread,
Oct 18, 2015, 11:18:28 AM10/18/15
to imageio
What is the policy of this project for upgrading ffmpeg versions?

I just started toying around with MoviePy which uses ImageIO internally.  So far I am very impressed with both projects.

The ffmpeg binaries that imageio provide are old and also do not seem to include libfdk_aac.  According to https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio libfdk_aac provides the best audio for web videos until opus is widely supported.  The provided version of ffmpeg also is missing some hls and dash features.

Should I provide my own version of ffmpeg for imageio?  When using a custom version of ffmpeg do I need to check for anything other than what the unit tests inspect?

Almar Klein

unread,
Oct 19, 2015, 7:29:41 AM10/19/15
to ima...@googlegroups.com
Hi g,



> What is the policy of this project for upgrading ffmpeg versions?

The policy so far has been to update the binaries from time to time. If
you can get your hands on a newer version that we can use, we could
certainly update them.

If you want to do this, please make an issue for discussion, so we can
easily include Zulco and others who have been working closely with the
ffmpeg code.

> Should I provide my own version of ffmpeg for imageio? When using a
> custom version of ffmpeg do I need to check for anything other than what
> the unit tests inspect?

The unit tests should test all the functionality that imageio needs.


Thanks,
Almar

g

unread,
Oct 21, 2015, 9:03:41 PM10/21/15
to imageio
Hello Almar,

I apologize for the slow response.  I am mobile at the moment.

Is there any sort of automated ci for the project that could be used for updating the ffmpeg binary?  I am not familiar with mac os but I know there are free services for open source projects to run windows and linux based ci for free.

Here is a script I put together based off of the ffmpeg documentation that I've used to build my binary on ubuntu (currently just a one and done script so it isn't particularly pretty or automagical):

build_ffmpeg.sh
#!/bin/sh

apt-get update
apt-get install -y autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev
apt-get install -y yasm
apt-get install -y libx264-dev
apt-get install -y libopus-dev
apt-get install -y libmp3lame-dev

mkdir ~/ffmpeg
mkdir ~/ffmpeg/sources

# libfdk-aac
cd ~/ffmpeg/sources
tar xzvf fdk-aac-0.1.4.tar.gz
cd fdk-aac-0.1.4
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg/build" --disable-shared
make
make install
make distclean

# libvpx
cd ~/ffmpeg/sources
tar xjvf libvpx-1.4.0.tar.bz2
cd libvpx-1.4.0
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg/build" --disable-examples --disable-unit-tests
PATH="$HOME/bin:$PATH" make
make install
make clean

cd ~/ffmpeg/sources
tar xjvf ffmpeg-2.8.1.tar.bz2
cd ffmpeg-2.8.1
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg/build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg/build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg/build/include" \
  --extra-ldflags="-L$HOME/ffmpeg/build/lib" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
make distclean
hash -r

Almar Klein

unread,
Oct 27, 2015, 6:32:59 AM10/27/15
to g, imageio

Well, until now I’ve basically grabbed the binaries from other sources. It would be nice to auto-build these somehow, but I don’t have a lot of time to look into that (and its not really my expertise).

 

-        Almar

--
You received this message because you are subscribed to the Google Groups "imageio" group.
To unsubscribe from this group and stop receiving emails from it, send an email to imageio+u...@googlegroups.com.
To post to this group, send email to ima...@googlegroups.com.
Visit this group at http://groups.google.com/group/imageio.
For more options, visit https://groups.google.com/d/optout.

 

 

Reply all
Reply to author
Forward
0 new messages