自分の書置きメモです。
まず最初に自分が必要とするffmpegでのライブラリを列挙しておきます。
・librtmp
・libx264
・libmp3lame
・libfdk-aac
・libmfx (QSV)
・nvenc
これを作成するにはcathval様のページさんのページを参考にしていけばnvenc以外は行けると思います。
nvencはffmpegビルド前にひと手間設定してあげる必要があります。
git clone https://github.com/FFmpeg/nv-codec-headers cd nv-codec-headers make install PREFIX="/mingw32/i686-w64-mingw32" cd ..
また私の場合、携帯動画変換君で利用する事が前提にしているので
あべちんさまページのffmpegのパッチを利用させていただいております。
後はffmpegをビルドするときに
PKG_CONFIG_PATH=/mingw32/i686-w64-mingw32/lib/pkgconfig/ ./configure --prefix="/mingw32/i686-w64-mingw32" --enable-gpl --enable-version3 --enable-nonfree --enable-avisynth --enable-openssl --enable-librtmp --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libmfx --enable-opengl --disable-debug --disable-doc --pkg-config-flags="--static" --extra-ldflags="-static" --extra-cflags="-march=native -mtune=native" --optflags="-O3 -finline-functions" --cpu="i686"
として明示的にpkgconfigを設定してあげます。
出来たffmpeg.exeを携帯動画変換君に入れて、iniファイルを適切に書き換えてあげれば完成です。
ちなみに私は、今回の場合出来たffmpeg.exeをffmpegn400.exeにリネームして、coreの中に入れてiniファイルを以下のような設定で入れてあります。
[Item0] Title=720p60bob(QSV) TitleE=720p60bob(QSV) Command0=""<%AppPath%>\cores\ffmpegn400" -stats -y -i "<%InputFile%>" -c:v h264_qsv -q 23 -look_ahead 0 -aspect 16:9 -vf yadif=1:-1:1,scale=1280:720 -acodec libfdk_aac -b:a 128k -afterburner 1 -threads 4 -f mp4 "<%OutputFile%>.mp4"" [Item1] Title=720p60bob(NVEnc) TitleE=720p60bob(NVEnc) Command0=""<%AppPath%>\cores\ffmpegn400" -stats -y -i "<%InputFile%>" -c:v h264_nvenc -pix_fmt nv12 -rc constqp -qmin 20 -qmax 23 -aspect 16:9 -vf yadif=1:-1:1,scale=1280:720 -acodec libfdk_aac -b:a 128k -afterburner 1 -threads 4 -f mp4 "<%OutputFile%>.mp4""
コメント