今日、私はx265がffmpegにすでに存在することを発見したので、これでffmpegをコンパイルしました guide
残念ながらlibx265はubuntuでは動作しませんでしたが、Windowsでは zeranoe ffmpeg build で同じことを試みましたが、問題なく動作しました。
だから、私は何か間違ったことをしたか、Linuxビルドにまだ実装されていないと思いますか(そのガイドを使用して)?コマンドの結果ffmpeg -codecs | grep -i hevc
show:
ffmpeg version 2.1.git Copyright (c) 2000-2014 the FFmpeg developers
built on Feb 19 2014 19:00:17 with gcc 4.8 (Ubuntu/Linaro 4.8.1-10ubuntu9)
configuration: --prefix=/home/levan/ffmpeg_build --extra-cflags=-I/home/levan/ffmpeg_build/include --extra-ldflags=-L/home/levan/ffmpeg_build/lib --bindir=/home/levan/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 64.100 / 52. 64.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 1.102 / 4. 1.102
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
D.V.L. hevc H.265 / HEVC (High Efficiency Video Coding)
お時間をありがとう
現時点では(14年2月19日)コンパイルしたffmpegのバージョンは、エンコードではなくデコードのみをサポートしています。
コマンドの出力から:
D.V.L. hevc H.265/HEVC(高効率ビデオコーディング)
Codecs:
D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compression
このプリコンパイルされたバイナリを試すことができます- https://code.google.com/p/x265/downloads/detail?name=x265-bin-ffmpeg-201206-preview2.Zip&can=2&q=&sort=-アップロード済み
here。 で焼き付けられたx265エンコードおよびデコードのパッケージを取得できます。
Ubuntuのバージョンに合わせてパッケージをフィルタリングするには、[公開する場所]ドロップボックスからOSバージョンを選択します。
PPAをsources.lstに追加します
deb http://ppa.launchpad.net/motumedia/ffmpeg-daily/ubuntu YOUR_UBUNTU_VERSION_HERE main
私の場合は信頼できるので、deb http://ppa.launchpad.net/motumedia/ffmpeg-daily/ubuntu trusty main
を追加しました
楽しい!
これらは毎日のビルドであり、「これらは依存パッケージのテスト再構築とテストを目的としています。本番システムでこのPPAを有効にしないでください!」そうは言っても、このPPAを追加したシステムには問題がなく、(少なくとも私にとっては)速度を上げることはリスクに見合うだけの価値があります。
ffmpeg -codecs |grep 265
ffmpeg version 2.8.1-1~14.04~motumedia0 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
configuration: --prefix=/usr --extra-version='1~14.04~motumedia0' --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libiec61883 --enable-libdc1394 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 )
Trusty 64ビットの新規インストールでテストしたところ、以前のバージョンよりもはるかに高速であることがわかりました。
#!/bin/bash
#source installer.cfg
TEST_VID="tryout.mp4"
INST_PREFIX="/usr"
SOURCE_PREFIX="${HOME}/ffmpeg_source"
function display_message {
clear
echo $1
sleep 5
}
function update_sys {
display_message "Updating Ubuntu using apt-get update"
apt-get update
display_message "Installing required packages"
apt-get install -y autoconf automake build-essential Mercurial git libarchive-dev fontconfig checkinstall
apt-get install -y libass-dev libfreetype6-dev libsdl1.2-dev libtheora-dev libgnutls-dev
apt-get install -y libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo libtool libva-dev
apt-get install -y libbs2b-dev libcaca-dev libopenjpeg-dev librtmp-dev libvpx-dev libvdpau-dev
apt-get install -y libwavpack-dev libxvidcore-dev lzma-dev liblzma-dev zlib1g-dev cmake-curses-gui
apt-get install -y libx11-dev libxfixes-dev libmp3lame-dev libx264-dev #libx264-146 libx264-dev
sleep 5
}
function install_libnuma {
NUMA_LIB="numactl-2.0.11.tar.gz"
NUMA_PATH=$(basename ${NUMA_LIB} .tar.gz)
cd ${SOURCE_PREFIX}
if [ ! -d "${NUMA_PATH}" ];then
wget -O ${NUMA_LIB} "ftp://oss.sgi.com/www/projects/libnuma/download/${NUMA_LIB}"
fi
tar xfzv ${NUMA_LIB}
cd ${NUMA_PATH}
./configure
make
make install
sleep 5
}
function install_libopus {
OPUS_LIB=opus-1.1.2.tar.gz
OPUS_PATH=$(basename ${OPUS_LIB} .tar.gz)
cd ${SOURCE_PREFIX}
if [ ! -d "${OPUS_PATH}" ];then
wget http://downloads.xiph.org/releases/opus/${OPUS_LIB}
fi
tar xzvf ${OPUS_LIB}
cd ${OPUS_PATH}
./configure --prefix="${INST_PREFIX}" --disable-shared
make
make install
make check
make clean
sleep 5
}
function install_cmake {
cd ${SOURCE_PREFIX}
#Need further testing
if [ ! -d "CMake" ];then
git clone https://github.com/Kitware/CMake
fi
cd CMake
./bootstrap --prefix="/usr/local"
make
make install
sleep 5
}
function install_aac {
AAC_LIB="fdk-aac.tar.gz"
cd ${SOURCE_PREFIX}
if [ ! -d "mstorsjo-fdk-aac*" ];then
wget -O ${AAC_LIB} https://github.com/mstorsjo/fdk-aac/tarball/master
fi
tar xzvf ${AAC_LIB}
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure --prefix="${INST_PREFIX}" --disable-shared
make
make install
make distclean
sleep 5
}
function install_yasm {
cd ${SOURCE_PREFIX}
if [ ! -d "yasm" ];then
git clone git://github.com/yasm/yasm.git
fi
cd yasm
./autogen.sh
}
function install_x265 {
cd ${SOURCE_PREFIX}
if [ ! -d "x265" ];then
hg clone https://bitbucket.org/multicoreware/x265
fi
cd x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${INST_PREFIX}" ../../source
make
make install
sleep 5
}
function install_ffmpeg {
cd ${SOURCE_PREFIX}
if [ ! -d "ffmpeg" ];then
git clone git://source.ffmpeg.org/ffmpeg.git
fi
cd ffmpeg
PKG_CONFIG_PATH="${INST_PREFIX}/pkgconfig" \
./configure --prefix="${INST_PREFIX}" \
--pkg-config-flags="--static" \
--extra-cflags="-I${INST_PREFIX}/include" \
--extra-ldflags="-L${INST_PREFIX}/lib" \
--enable-gpl \
--enable-libass \
--enable-libbluray \
--enable-fontconfig \
--enable-bzlib \
--enable-gnutls \
--enable-libbs2b \
--enable-libcaca \
--enable-zlib \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libvo-amrwbenc \
--enable-libwavpack \
--enable-lzma \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree \
--enable-version3
make
make install
sleep 5
}
function testing {
cd ${SOURCE_PREFIX}
"${INST_PREFIX}"/bin/ffmpeg -i ${TEST_VID} -c:v libx265 -c:a aac test.mp4
if [ $? -eq 0 ];then
echo "TEST PASSED!"
else
echo "TEST FAILED!. CONTAINS ERRORS!"
exit
fi
sleep 5
}
display_message "Update Ubuntu System"
update_sys
if [ ${SOURCE_PREFIX} != "/usr" ];then
mkdir ${INST_PREFIX}
fi
#Install Latest libnuma
display_message "Installing libnuma-dev"
install_libnuma
#Install libopus
display_message "Installing libopus-dev"
install_libopus
#Install CMAKE
display_message "Installing CMake" | tee logfile
install_cmake
#Install latest libfdk-aac-dev
display_message "Installing fdk-aac" | tee logfile
install_aac
#Install latest YASM
display_message "Installing YASM" | tee logfile
install_yasm
#Use the latest x265 codec
display_message "Installing libx265-dev" | tee logfile
install_x265
#Install ffmpeg
display_message "Installing ffmpeg" | tee logfile
install_ffmpeg
#Conduct testing
display_message "Conduct testing"
testing
echo "DONE!"
sleep 5
Contact GitHub API Training Shop Blog About
リンクしたガイドには現在、ffmpegのx265サポートをコンパイルするために必要な指示がないため、ビルドがx265サポートを持っているのに他の誰かがサポートしているのも不思議ではありません。
次の3つのオプションがあります。
X264とは異なり、x265はVideoLANでgitリポジトリとしてホストされていないことに注意してください(ただし、 page は存在します)。しかし、x265開発に焦点を当てたbitbucketの別の会社がホストします。ガイドでx264をx265に置き換えるだけでは機能しません。
X265は強力な competitorDaala と同様に、まだ開発の初期段階にあることを思い出してください(x265は数週間から機能的なビルドを生成するだけです)。
Libx265およびAACオプションでコンパイルされたffmpegのインストールスクリプトを作成しました。
#!/bin/bash
source installer.cfg
function display_message {
clear
echo $1
sleep 5
}
function update_sys {
display_message "Updating Ubuntu using apt-get update"
apt-get update
display_message "Installing required packages"
apt-get install -y autoconf automake build-essential Mercurial git libarchive-dev fontconfig checkinstall
apt-get install -y libass-dev libfreetype6-dev libsdl1.2-dev libtheora-dev libgnutls-dev
apt-get install -y libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo libtool libva-dev
apt-get install -y libbs2b-dev libcaca-dev libopenjpeg-dev librtmp-dev libvpx-dev libvdpau-dev
apt-get install -y libwavpack-dev libxvidcore-dev lzma-dev liblzma-dev zlib1g-dev cmake-curses-gui
apt-get install -y libx11-dev libxfixes-dev libmp3lame-dev libx264-dev #libx264-146 libx264-dev
sleep 5
}
function install_libnuma {
NUMA_LIB="numactl-2.0.11.tar.gz"
NUMA_PATH=$(basename ${NUMA_LIB} .tar.gz)
cd ${SOURCE_PREFIX}
if [ ! -d "${NUMA_PATH}" ];then
wget -O ${NUMA_LIB} "ftp://oss.sgi.com/www/projects/libnuma/download/${NUMA_LIB}"
fi
tar xfzv ${NUMA_LIB}
cd ${NUMA_PATH}
./configure
make
make install
sleep 5
}
function install_libopus {
OPUS_LIB=opus-1.1.2.tar.gz
OPUS_PATH=$(basename ${OPUS_LIB} .tar.gz)
cd ${SOURCE_PREFIX}
if [ ! -d "${OPUS_PATH}" ];then
wget http://downloads.xiph.org/releases/opus/${OPUS_LIB}
fi
tar xzvf ${OPUS_LIB}
cd ${OPUS_PATH}
./configure --prefix="${INST_PREFIX}" --disable-shared
make
make install
make check
make clean
sleep 5
}
function install_cmake {
cd ${SOURCE_PREFIX}
#Need further testing
if [ ! -d "CMake" ];then
git clone https://github.com/Kitware/CMake
fi
cd CMake
./bootstrap --prefix="/usr/local"
make
make install
sleep 5
}
function install_aac {
AAC_LIB="fdk-aac.tar.gz"
cd ${SOURCE_PREFIX}
if [ ! -d "mstorsjo-fdk-aac*" ];then
wget -O ${AAC_LIB} https://github.com/mstorsjo/fdk-aac/tarball/master
fi
tar xzvf ${AAC_LIB}
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure --prefix="${INST_PREFIX}" --disable-shared
make
make install
make distclean
sleep 5
}
function install_yasm {
cd ${SOURCE_PREFIX}
if [ ! -d "yasm" ];then
git clone git://github.com/yasm/yasm.git
fi
cd yasm
./autogen.sh
}
function install_x265 {
cd ${SOURCE_PREFIX}
if [ ! -d "x265" ];then
hg clone https://bitbucket.org/multicoreware/x265
fi
cd x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="${INST_PREFIX}" ../../source
make
make install
sleep 5
}
function install_ffmpeg {
cd ${SOURCE_PREFIX}
if [ ! -d "ffmpeg" ];then
git clone git://source.ffmpeg.org/ffmpeg.git
fi
cd ffmpeg
PKG_CONFIG_PATH="${INST_PREFIX}/pkgconfig" \
./configure --prefix="${INST_PREFIX}" \
--pkg-config-flags="--static" \
--extra-cflags="-I${INST_PREFIX}/include" \
--extra-ldflags="-L${INST_PREFIX}/lib" \
--enable-gpl \
--enable-libass \
--enable-libbluray \
--enable-fontconfig \
--enable-bzlib \
--enable-gnutls \
--enable-libbs2b \
--enable-libcaca \
--enable-zlib \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libvo-amrwbenc \
--enable-libwavpack \
--enable-lzma \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree \
--enable-version3
make
make install
sleep 5
}
function testing {
cd ${SOURCE_PREFIX}
"${INST_PREFIX}"/bin/ffmpeg -i ${TEST_VID} -c:v libx265 -c:a aac test.mp4
if [ $? -eq 0 ];then
echo "TEST PASSED!"
else
echo "TEST FAILED!. CONTAINS ERRORS!"
exit
fi
sleep 5
}
display_message "Update Ubuntu System"
update_sys
#if [ ! -d ${SOURCE_PREFIX} ];then
# mkdir ${SOURCE_PREFIX}
#fi
if [ ${SOURCE_PREFIX} != "/usr" ];then
mkdir ${INST_PREFIX}
fi
#Install Latest libnuma
display_message "Installing libnuma-dev"
install_libnuma
#Install libopus
display_message "Installing libopus-dev"
install_libopus
#Install CMAKE
display_message "Installing CMake" | tee logfile
install_cmake
#Install latest libfdk-aac-dev
display_message "Installing fdk-aac" | tee logfile
install_aac
#Install latest YASM
display_message "Installing YASM" | tee logfile
install_yasm
#Use the latest x265 codec
display_message "Installing libx265-dev" | tee logfile
install_x265
#Install ffmpeg
display_message "Installing ffmpeg" | tee logfile
install_ffmpeg
#Conduct testing
display_message "Conduct testing"
testing
echo "DONE!"
sleep 5