Table of Contents
1 FFmpegをビルドする
以下のスクリプトはFedora 22のsrc.rpmをできる限り利用してFFmpegをビルドします。
#!/bin/shset -eFEDORA_ARCHIVE=http://archives.fedoraproject.org/pub/archiveFEDORA_RELEASE=${FEDORA_ARCHIVE}/fedora/linux/releasesFEDORA_22_SRPMS=${FEDORA_RELEASE}/22/Everything/source/SRPMSffmpeg_install_devel(){ sudo yum group install -y “Development Tools” sudo yum install -y wget git mercurial rpmdevtools yum-utils}ffmpeg_install_openh264(){ sudo yum install -y nasm git clone https://github.com/cisco/openh264 cd openh264 git checkout v1.5.0 -b v1.5.0 make && sudo make install cd ..}ffmpeg_install_enca(){ wget -q ${FEDORA_22_SRPMS}/e/enca-1.15-3.fc22.src.rpm sudo yum-builddep -y enca-*.src.rpm rpmbuild –rebuild enca-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/enca-*.rpm}ffmpeg_install_libass(){ wget -q ${FEDORA_22_SRPMS}/l/libass-0.12.0-1.fc22.src.rpm sudo yum-builddep -y libass-*.src.rpm rpmbuild –rebuild libass-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/libass-*.rpm}ffmpeg_install_libbs2b(){ wget -q ${FEDORA_22_SRPMS}/l/libbs2b-3.1.0-13.fc22.src.rpm sudo yum-builddep -y libbs2b-*.src.rpm rpmbuild –rebuild libbs2b-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/libbs2b-*.rpm}ffmpeg_install_imlib2(){ wget -q ${FEDORA_22_SRPMS}/i/imlib2-1.4.6-3.fc22.src.rpm sudo yum-builddep -y imlib2-*.src.rpm rpmbuild –rebuild imlib2-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/imlib2-*.rpm}ffmpeg_install_libcaca(){ wget -q ${FEDORA_22_SRPMS}/l/libcaca-0.99-0.23.beta18.fc22.src.rpm sudo yum-builddep -y libcaca-*.src.rpm rpmbuild –rebuild libcaca-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/libcaca-*.rpm}ffmpeg_install_libmodplug(){ wget -q ${FEDORA_22_SRPMS}/l/libmodplug-0.8.8.5-4.fc22.src.rpm sudo yum-builddep -y libmodplug-*.src.rpm rpmbuild –rebuild libmodplug-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/libmodplug-*.rpm}ffmpeg_install_lame(){ SF=http://downloads.sourceforge.net wget -q -O – ${SF}/project/lame/lame/3.99/lame-3.99.5.tar.gz | tar zxf – cd lame-3.99.5/ ./configure –disable-shared –enable-nasm –with-pic make && sudo make install cd ..}ffmpeg_install_rtmpdump(){ sudo yum install -y openssl-devel git clone git://git.ffmpeg.org/rtmpdump cd rtmpdump make && sudo make install cd ..}ffmpeg_install_schroedinger(){ wget -q ${FEDORA_22_SRPMS}/s/schroedinger-1.0.11-7.fc22.src.rpm sudo yum-builddep -y schroedinger-*.src.rpm rpmbuild –rebuild schroedinger-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/schroedinger-*.rpm}ffmpeg_install_shine(){ git clone https://github.com/toots/shine cd shine ./bootstrap && ./configure make && sudo make install cd ..}ffmpeg_install_soxr(){ wget -q ${FEDORA_22_SRPMS}/s/soxr-0.1.1-4.fc22.src.rpm sudo yum-builddep -y soxr-*.src.rpm rpmbuild –rebuild soxr-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/soxr-*.rpm}ffmpeg_install_twolame(){ sudo yum install -y asciidoc xmlto git clone https://github.com/njh/twolame/ cd twolame ./autogen.sh make && sudo make install cd ..}ffmpeg_install_x265(){ hg clone http://hg.videolan.org/x265 cd x265 cmake -G ‘Unix Makefiles’ source make && sudo make install cd ..}ffmpeg_install_zvbi(){ wget -q ${FEDORA_22_SRPMS}/z/zvbi-0.2.33-18.fc22.src.rpm sudo yum-builddep -y zvbi-*.src.rpm rpmbuild –rebuild zvbi-*.src.rpm sudo yum localinstall -y ~/rpmbuild/RPMS/x86_64/zvbi-*.rpm}ffmpeg_install_openal(){ git clone https://github.com/JogAmp/openal-soft cd openal-soft cmake -G ‘Unix Makefiles’ make && sudo make install cd ..}ffmpeg_install_ffmpeg(){ sudo yum install -y gnutls-devel ladspa-devel libbluray-devel fontconfig-devel freetype-devel gsm-devel openjpeg-devel opus-devel pulseaudio-libs-devel speex-devel libssh-devel libtheora-devel libvorbis-devel libvpx-devel wavpack-devel git clone https://github.com/FFmpeg/FFmpeg cd FFmpeg git checkout n3.1.8 -b n3.1.8 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure –enable-pic –enable-gpl –disable-stripping –enable-shared –disable-decoder=libopenjpeg –disable-decoder=libschroedinger –enable-avresample –enable-avisynth –enable-gnutls –enable-ladspa –enable-libass –enable-libbluray –enable-libbs2b –enable-libcaca –enable-libfontconfig –enable-libfreetype –enable-libfribidi –enable-libgsm –enable-libmodplug –enable-libmp3lame –enable-libopenjpeg –enable-libopus –enable-libpulse –enable-librtmp –enable-libschroedinger –enable-libshine –enable-libsoxr –enable-libspeex –enable-libssh –enable-libtheora –enable-libtwolame –enable-libvorbis –enable-libvpx –enable-libwavpack –enable-libx265 –enable-libzvbi –enable-openal –enable-opengl –enable-libopenh264 –enable-ffmpeg –enable-ffplay –enable-ffprobe –enable-libxcb –enable-ffserver make && sudo make install cd .. sudo su -c ‘echo “/usr/local/lib” > /etc/ld.so.conf.d/ffmpeg.conf’ sudo ldconfig}ffmpeg_main(){ mkdir ffmpeg cd ffmpeg ffmpeg_install_devel ffmpeg_install_openh264 ffmpeg_install_enca ffmpeg_install_libass ffmpeg_install_libbs2b ffmpeg_install_imlib2 ffmpeg_install_libcaca ffmpeg_install_libmodplug ffmpeg_install_lame ffmpeg_install_rtmpdump ffmpeg_install_schroedinger ffmpeg_install_shine ffmpeg_install_soxr ffmpeg_install_twolame ffmpeg_install_x265 ffmpeg_install_zvbi ffmpeg_install_openal ffmpeg_install_ffmpeg cd ..}ffmpeg_main
2 実行結果
実行結果は以下の通りです。
$ ffmpegffmpeg version n3.1.8 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11) configuration: –enable-pic –enable-gpl –disable-stripping–enable-shared –disable-decoder=libopenjpeg–disable-decoder=libschroedinger –enable-avresample–enable-avisynth –enable-gnutls –enable-ladspa –enable-libass–enable-libbluray –enable-libbs2b –enable-libcaca–enable-libfontconfig –enable-libfreetype –enable-libfribidi–enable-libgsm –enable-libmodplug –enable-libmp3lame–enable-libopenjpeg –enable-libopus –enable-libpulse–enable-librtmp –enable-libschroedinger –enable-libshine–enable-libsoxr –enable-libspeex –enable-libssh –enable-libtheora–enable-libtwolame –enable-libvorbis –enable-libvpx–enable-libwavpack –enable-libx265 –enable-libzvbi –enable-openal–enable-opengl –enable-libopenh264 –enable-ffmpeg –enable-ffplay–enable-ffprobe –enable-libxcb –enable-ffserver libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 48.101 / 57. 48.101 libavformat 57. 41.100 / 57. 41.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 47.100 / 6. 47.10
0 libavresample 3. 0. 0 / 3. 0. 0 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100Hyper fast Audio and Video encoderusage: ffmpeg [options] [[infile options] -i infile]… {[outfileoptions] outfile}…Use -h to get full help or, even better, run ‘man ffmpeg’