お気に入りの動画を携帯で見ようスマートフォン専用ページを表示お気に入りの動画を携帯で見よう携帯動画変換君用に最新のFFmpegをビルドしてみる。最新版のFFmpegは、カテゴリの【FFmpegダウンロード】からどうぞ。プロフィール名前:あべちん職業:サラリーマン一言:B'zと欅坂46のファンです。似顔絵は【似顔絵イラストメーカー】で作成しました。(2007/12/11)いよいよ、FFmpegのコンパイルです。alternatives.というメッセージが出ますので、MinGWのwebページからbash-3.1-MSYS-1.0.11-1.tar.bz2をダウンロードして、MSYSのsh.exeを更新しておくと良いです。最近は、gcc4.2.2でしかコンパイルしていなかったので気がつかなかったのですが、gcc3.4.xだと、コンパイルできたように見えても、ffmpeg.exeを実行するとクラッシュするようです。2008/01/13追記と思って、久々にrev.11518をgcc3.4.2でコンパイルしてみたら、正常に動作しました。いつの間にか修正されていたようです。安定版の最新はgcc4.2.2ですが、MinGWのwebページにはgcc4.2.1までしかないので、とりあえずそれをインストールしておきましょう。C:\MinGWに環境があれば、以下のファイルをダウンロードして、C:\MinGWの下に解凍すればOKです。gcc-core-4.2.1-sjlj-2.tar.gzgcc-g++-4.2.1-sjlj-2.tar.gz自分でgccをビルドするのは面倒だけど、gcc4.2.2を使いたいという方は、以下の所からダウンロードできます。Buildshttp://www.tdragon.net/recentgcc/以下のライブラリは、あらかじめインストールしておいてください。この記事を書いた時点より、新しくなっているものもありますので、それぞれの記事で確認してください。rev.702xvidcore-1.1.3FFmpegは、以下の場所にあります。http://ffmpeg.mplayerhq.hu/x264と同様、svnがインストールされていれば、以下のようにして、ソースファイルを拾ってこれます。ffmpegsvnがインストールされていない場合でも、とりあえず、snapshotのソースファイルを拾ってくればコンパイルできます。checkoutの、ffmpeg-checkout-snapshot.tar.bz2を、適当なディレクトリに保存します。ffmpeg-checkout-2007-12-10ソースファイルを展開して作成されるディレクトリは、snapshotの日付になっていますので、その時点のディレクトリ名に読み替えて下さい。check_libから2行追加します。-lwsock32を追加。-lwsock32次に、libavcodec/pthread.cを修正します。パッチファイルffmpeg-PTW32_STATIC_LIB.diffをダウンロードして、以下のコマンドを実行。以下のようなエラーが出る場合があります。[Error:-8971]その場合は、こちらの修正も試してみてください。修正が終わったら、configureを実行します。configureから削除されています。--extra-cflags="-fno-strict-aliasing"問題なければ、以下のようなメッセージが出ます。GPL(長いので、全部見たい方はこちらをどうぞ。makeffmpeg.exeが出来ていれば完了です。03:20蓄電さん、こんにちは。ん...、ビルドできませんでしたか...。configureの時にコケているかもしれないので、\i686-pc-mingw32\libstdc++-v3\config.logなどを見たら、何かわかるかもしれません。03:58こんばんは。使っているだけではつまらないのでコンパイルにも挑戦しようかと思ったのですが、configureを走らせるといつもこんなエラーが出ます。20:55こんばんは。詳しくないのですが、コメントしてみます。メッセージだけ見ると、w32apiのバージョンが古いということみたいですね。http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=11550&release_id=645278↑からw32apiの新しいバージョンを導入するのが一つ。w32apiのパッケージが新しいのに、エラーが出る場合、関連するライブラリが導入できていない可能性があるかも知れません。libnutで以下の修正をしていなくて、似たようなエラーがでた覚えがあります。○ftelloをftellに修正する。19:02すいません、名前入力しそこねました^^;見当違いのコメントでしたら、すいません。19:14おお...!パッケージの問題でしたか。うまくconfigureできるようになりました。これで何とかなりそうです。ありがとうございます。14:53もう一つ質問です。Stop.というわけで止まってしまいます。コンパイラがdsputil_yasm.cを要求しているようなのです。23:25Ashiyaさん、こんにちは。そのようなエラーは出たことがないので分かりません。サブディレクトリがmakeされないということは今までありませんでしたので、どこかでコンパイルに失敗しているのではないでしょうか。アセンブラYasmはインストールしていますよね?あと、コンパイル方法の記事を書き直したので、参考にしてみてください。00:30ケリーさん、こんにちは。フォローありがとうございました。代わりにコメントしてくださる方、大歓迎です!今後ともよろしくお願いします。00:35管理人さん、こんばんは。亀レスで解決済みかもですが、サブディレクトリのmakeについてコメントします。私も同じ状態に一時なってましたが、makeを最新のものにすることでサブディレクトリもmakeしてくれるようになりました。makeのバージョンの問題のようです。それに気づくまではmingw32-makeと組み合わせてコンパイルしておりました。それとyasmの問題ですが、yasmのインストール先が問題になる場合があるようです。うろ覚えですが、たとえば場所が/bin/yasmの場合、うまくいかなかったように思います。yasm='/c/msys/1.0/bin/yasm'を追記することでいけた気がします。これが無理なら、yasmのインストール先を、/usr/local/bin/など別の場所にしてみてください。再度確認したところ、/bin/yasmの場合、alias指定では解決しませんでした。05:29何度もコメントすいません。補足すると、私はgccやbinutilsを複数のバージョンの組み合わせで使えるようにしているため、パスの設定などが特殊だからなのかも知れません。こちらでは/usr/local/bin/yasm.exeで上手く動作しています。05:44ケリーさん、コメントありがとうございます。いえば、makeは3.81にしてありました。デフォルトでmakeは3.79だったかも?ちなみに、私の環境では、/mingw/bin/yasm.exeです。[必須入力]※画像の中の文字を半角で入力してください。この記事へのトラックバックURLhttp://blog.sakura.ne.jp/tb/7996502※言及リンクのないトラックバックは受信されません。