Skip to main content.
FFMPEGのサムネ切り出し問題解決!


タイトルにもある通り、ランダムにある動画からサムネを数枚自動で作成する処理を作ってる途中で一部のサムネイルが灰色の画像になってしまう現象が発生。
調べてみると、原因は動画内部のキーフレームの問題だそうですが、原因がわかっても解決法がググってもなかなか出てこない・・・。

と思い悩んでいたところ、どうもffmpegはオプションを記述した順番によって内部で行われる処理が変わるらしぃという記事を発見。

そんで、試しにオプションの順番を入れ替えてみました。

/usr/bin/ffmpeg -ss (秒数) -vframes (フレーム数) -i (元動画ファイル) -f image2 (作成サムネイルパス) から
/usr/bin/ffmpeg -i (元動画ファイル) -f image2 (作成サムネイルパス) -vframes (フレーム数) -ss (秒数)へ。

そんで試してみたところ無事に灰色のサムネイルを吐き出さなくなりました。
代わりに若干処理速度が下がったような気がしますが・・・・・そこは!

気にしたら!

負け!

だと!

思う!


こういうことを気にする人はアナルにカラシが入ってしまえばいい、
私はそう思う
何度かFFMPEGに関して書いたような気もしますが、
現状ではRPMforgeリポジトリ入れてyumでインストールするのが一番簡単だと思われるので、すぐコピれるようにメモメモ。

# RPMForgeレポジトリ追加
cd /usr/local/src

wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rm -f RPM-GPG-KEY.dag.txt

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
yum -y update rpmforge-release

sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo

# yum でインストール
yum --enablerepo=rpmforge install ffmpeg


ちなみにCentOS5での話です。
他の環境で使えるかどうかはちと不明。
(2011年5月時点で)最新のFFMPEGのソースだとCentOS4標準でついてるgccではコンパイルできないみたいですねー。
試しにgcc32でコンパイルしても無理でした。

common.mak:28: *** 終端がない関数呼び出し `foreach': `)' がありません。中止。
って出ます。
にんともかんとも。

で、適当にググってたら下記が参考になったのでメモとしてリンク。

Linux(CentOSその他)にyum経由でffmpegパッケージをインストールする方法 - Layer8 Reference
http://jp.layer8.sh/reference/entry/show/id/2433

gitをインストールしていることが前提です。


ここからDLできます。gitもここのを利用してます。
http://www.videolan.org/developers/x264.html

cd /usr/local/src
git clone git://git.videolan.org/x264.git x264
cd x264
./configure --enable-mp4-output --enable-pthread --enable-shared
make
make install


ffmpeg0.6.1でmakeした時に「undefined reference 'X264〜'」とか出て何回かx264を再インストールする羽目になったので、今後の自分用の備忘録。
«Prev || 1 · | Next»