Re: Extension Proposal: Video Encoding using FFmpeg
| From: | Jan Ehrhardt | Date: | Wed, 23 Apr 2014 16:46:46 +0000 |
| Subject: | Re: Extension Proposal: Video Encoding using FFmpeg | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-11778@lists.php.net to get a copy of this message | ||
Pierre Joye in php.pecl.dev (Wed, 23 Apr 2014 18:11:01 +0200):
>That being said, it is possible to build libav with vc, especially with
>2013. If you can provide a ready to be used sources tree, we will happily
>use it to provide automatic binaries build, which will then be available
>at the same place than the src.
Wow.
Is that including the required (output) libs? Will VS2013 be able to
build a static VC9-lib for x264? Source are here:
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/last_stable_x264.tar.bz2
When cross-compiling on Ubuntu the first step is to build all
dependencies as static lib, like this:
./configure \
--prefix=/home/sergey/lib/x264 \
--extra-cflags="-g -Wall -Wextra" \
--extra-ldflags="-Wl,--as-needed -static-libgcc" \
--enable-static \
--enable-win32thread \
--disable-lavf \
--cross-prefix=mingw32- \
--host=mingw32
After you have built all dependencies (as static lib) you link them
while building FFmpeg.exe and its DLL's itself.
Taking Blender as example (where the --enable clauses are the most
interesting):
./configure \
--prefix=/home/sergey/lib/ffmpeg-2.1.4 \
--enable-shared \
--disable-static \
--disable-avfilter \
--disable-vdpau \
--disable-bzlib \
--disable-libgsm \
--enable-libschroedinger \
--disable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-zlib \
--enable-libvpx \
--enable-stripping \
--enable-runtime-cpudetect \
--disable-vaapi \
--enable-libopenjpeg \
--disable-nonfree \
--enable-gpl \
--disable-postproc \
--disable-x11grab \
--enable-libmp3lame \
--disable-librtmp \
--enable-libx264 \
--enable-libxvid \
--disable-libopencore-amrnb \
--disable-libopencore-amrwb \
--disable-libdc1394 \
--disable-version3 \
--disable-debug \
--enable-optimizations \
--disable-sse \
--disable-ssse3 \
--enable-ffplay \
--enable-w32threads \
--disable-pthreads \
--extra-cflags="-g -Wall -Wextra -I${LIBS}/lame/include
-I${LIBS}/openjpeg/include -I${LIBS}/ogg/include
-I${LIBS}/vorbis/include -I${LIBS}/theora/include
-I${LIBS}/vpx-${VPX_VERSION}/include -I${LIBS}/x264/include
-I${LIBS}/xvid/include -I${LIBS}/dirac/include/dirac
-I${LIBS}/schroedinger/include/schroedinger-1.0 -I${LIBS}/zlib/include"
\
--extra-ldflags="-Wl,--as-needed -static-libgcc -L${LIBS}/lame/lib
-L${LIBS}/openjpeg/lib -L${LIBS}/ogg/lib -L${LIBS}/vorbis/lib
-L${LIBS}/theora/lib -L${LIBS}/vpx-${VPX_VERSION}/lib -L${LIBS}/x264/lib
-L${LIBS}/xvid/lib -L${LIBS}/dirac/lib -L${LIBS}/schroedinger/lib
-L${LIBS}/orc/lib -L${LIBS}/zlib/lib"
Jan