zlibのコンパイル&インストール
PolarSSLのコンパイル&インストール
2015/08/14 追記
PolarSSLは、1.3.10からmbed TLSに名称が変わりました。
librtmp(RTMPDump)は、以下の場所にあります。
http://rtmpdump.mplayerhq.hu/
http://rtmpdump.mplayerhq.hu/download/
rtmpdump-2.3.tgz
を、適当なディレクトリに保存します。
2011/07/24 追記
gitで入手できるソースコードのバージョンが、2.4になりました。
最新版のソースコードは、以下のようにgitでダウンロードできます。
git clone git://git.ffmpeg.org/rtmpdump
2013/07/21 追記
pkg-config用のファイル「librtmp.pc」の「Libs.private:」項目に、
-lpolarssl
が入らないため、make installのオプションに、
PRIVATE_LIBS="-lpolarssl -lws2_32 -lwinmm"
を追加しました。
2014/02/03 追記
polarssl-1.3のAPIの一部がpolarssl-1.2と異なります。
以下のパッチを適用すると、両方のバージョンに対応できます。
rtmpdump-2.4-polarssl-1.3.diff
MSYSで、ファイルを保存したディレクトリに移動し、
$ cd rtmpdump
$ patch -p1 < rtmpdump-2.4-polarssl-1.3.diff
$ make SYS=mingw CRYPTO=POLARSSL CC=gcc AR=ar SHARED=no XLDFLAGS=-s
$ cd librtmp
$ make install prefix=/mingw SYS=mingw CRYPTO=POLARSSL SHARED=no PRIVATE_LIBS="-lpolarssl -lws2_32 -lwinmm"
以上で終了です。
【補足】
2013/02/03 追記
公式サイトにもrtmpdump-2.4のwindowsバイナリがアップされましたが、こちらにも置いておきます。
・2.3からのマイナーバグ修正
・RTMPE type 9 handshakesに対応
だそうです。
SSLライブラリは、Mbed TLS 2.16.12 です。
ソースコードのバージョンは、rtmpdump-2.4-20210219-git-f1b83c1 です。(2022/09/06 更新)
rtmpdump-2.4-20220906-windows.zip
【更新履歴】を見る
2010/05/08 追記
OpenSSLの代わりに、PolarSSLを使用するように書き直しました。
OpenSSLを使用する場合は、以下の記事を参照してください。
librtmp(RTMPDump)のコンパイル&インストール
2010/05/27 追記
PolarSSLのパッチを、polarssl-0.99-pre4用からpolarssl-0.99-pre5用にアップデートしました。
rtmpdump-polarssl-0.99-pre5.diff
2011/07/24 追記
gitで入手できるソースコードのバージョンが、2.4になりました。
とりあえず、公式のdownloadディレクトリにソースコードがアップされるまで、こちらにも置いておきます。
rtmpdump-2.4.tgz
または、以下のようにgitでダウンロードできます。
git clone git://git.ffmpeg.org/rtmpdump rtmpdump-2.4
2011/07/24 追記
makeのオプションに、 SHARED=no を追加しました。
2011/08/06 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4 を rtmpdump-2.4-20110804 に変更しました。
2010/08/10 追記
PolarSSLの最新版はpolarssl-1.0.0ですが、とりあえず、パッチはそのまま使用してください。
2011/08/24 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20110804 を rtmpdump-2.4-20110812 に変更しました。
バイナリのSSLライブラリを、PolarSSL 0.99-pre5からPolarSSL 1.0.0に変更しました。
2011/09/25 追記
パッチをアップデートしました。
rtmpdump-polarssl-1.0.0.diff
2011/09/29 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20110812 を rtmpdump-2.4-20110925 に変更しました。
2011/09/29 追記
PolarSSL用のパッチは不要になりました。
2011/11/10 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20110925 を rtmpdump-2.4-20111108 に変更しました。
2011/11/16 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20111108 を rtmpdump-2.4-20111115 に変更しました。
2011/12/08 追記
PolarSSL 1.0.0 を PolarSSL 1.1.0-rc0 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20111115-windows.zip を rtmpdump-2.4-20111208-windows.zip に変更しました。
2011/12/08 追記
パッチをアップデートしました。
rtmpdump-polarssl-1.1.0-rc0.diff
2011/12/13 追記
PolarSSL 1.0.0 を PolarSSL 1.1.0-rc1 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20111208-windows.zip を rtmpdump-2.4-20111213-windows.zip に変更しました。
2011/12/13 追記
PolarSSLの最新版は polarssl-1.1.0-rc1 ですが、パッチはそのまま適用できます。
2011/12/22 追記
PolarSSL 1.1.0-rc1 を PolarSSL 1.1.0 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20111213-windows.zip を rtmpdump-2.4-20111222-windows.zip に変更しました。
2011/12/22 追記
パッチをアップデートしました。
修正内容は、rtmpdump-polarssl-1.1.0-rc0.diffと変わっていません。
rtmpdump-polarssl-1.1.0.diff
2011/12/25 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20111115.tgz を rtmpdump-2.4-20111223.tgz に変更しました。
rtmpdump-2.4-20111222-windows.zip を rtmpdump-2.4-20111223-windows.zip に変更しました。
2012/01/25 追記
PolarSSL 1.1.0 を PolarSSL 1.1.1 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20111222-windows.zip を rtmpdump-2.4-20120125-windows.zip に変更しました。
2012/01/25 追記
パッチはpolarssl-1.1.0になっていますが、polarssl-1.1.1でも変更ありません。
2012/03/11 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20111223.tgz を rtmpdump-2.4-20120309.tgz に変更しました。
rtmpdump-2.4-20111223-windows.zip を rtmpdump-2.4-20120311-windows.zip に変更しました。
2012/05/03 追記
PolarSSL 1.1.1 を PolarSSL 1.1.3 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20120311-windows.zip を rtmpdump-2.4-20120503-windows.zip に変更しました。
2012/06/01 追記
PolarSSL 1.1.3 を PolarSSL 1.1.4 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20120503-windows.zip を rtmpdump-2.4-20120601-windows.zip に変更しました。
2012/06/09 追記
パッチはpolarssl-1.1.0になっていますが、polarssl-1.1.4でも変更ありません。
2012/07/29 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20120309.tgz を rtmpdump-2.4-20120726.tgz に変更しました。
rtmpdump-2.4-20120601-windows.zip を rtmpdump-2.4-20120729-windows.zip に変更しました。
2012/10/04 追記
PolarSSL 1.1.4 を PolarSSL 1.2.0-pre1 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20120729-windows.zip を rtmpdump-2.4-20121004-windows.zip に変更しました。
2012/10/04 追記
パッチをpolarssl-1.2.0用にアップデートしました。
rtmpdump-polarssl-1.2.0.diff
2012/11/01 追記
PolarSSL 1.2.0-pre1 を PolarSSL 1.2.0 に変更しました。
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20120726.tgz を rtmpdump-2.4-20121031.tgz に変更しました。
rtmpdump-2.4-20120729-windows.zip を rtmpdump-2.4-20121031-windows.zip に変更しました。
2012/11/01 追記
パッチをアップデートしました。
rtmpdump-20121031-polarssl-1.2.0.diff
2012/11/03 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20121031.tgz を rtmpdump-2.4-20121102.tgz に変更しました。
rtmpdump-2.4-20121031-windows.zip を rtmpdump-2.4-20121103-windows.zip に変更しました。
2012/11/10 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20121102.tgz を rtmpdump-2.4-20121110.tgz に変更しました。
rtmpdump-2.4-20121103-windows.zip を rtmpdump-2.4-20121110-windows.zip に変更しました。
2012/11/10 追記
PolarSSL用のパッチは不要になりました。
2012/11/30 追記
PolarSSL 1.2.0 を PolarSSL 1.2.3 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20121110-windows.zip を rtmpdump-2.4-20121130-windows.zip に変更しました。
2012/12/10 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20121110.tgz を rtmpdump-2.4-20121209.tgz に変更しました。
rtmpdump-2.4-20121110-windows.zip を rtmpdump-2.4-20121210-windows.zip に変更しました。
2013/02/03 追記
PolarSSL 1.2.3 を PolarSSL 1.2.5 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20121130-windows.zip を rtmpdump-2.4-20130203-windows.zip に変更しました。
2013/03/13 追記
PolarSSL 1.2.5 を PolarSSL 1.2.6 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20130203-windows.zip を rtmpdump-2.4-20130313-windows.zip に変更しました。
2013/04/14 追記
PolarSSL 1.2.6 を PolarSSL 1.2.7 に変更しました。
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20121209.tgz を rtmpdump-2.4-20121231.tgz に変更しました。
rtmpdump-2.4-20130313-windows.zip を rtmpdump-2.4-20130414-windows.zip に変更しました。
2013/04/21 追記
pkg-config用のファイル「librtmp/librtmp.pc.in」と「librtmp/Makefile」にパッチを適用します。
rtmpdump-librtmp_pc.diff
$ patch -p1 < rtmpdump-librtmp_pc.diff
2013/04/21 追記
make installのオプションを修正しました。
$ make install prefix=/mingw SYS=mingw CRYPTO=POLARSSL SHARED=no
2013/06/22 追記
PolarSSL 1.2.7 を PolarSSL 1.2.8 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20130414-windows.zip を rtmpdump-2.4-20130622-windows.zip に変更しました。
2013/07/21 追記
pkg-config用のファイル「librtmp.pc」の「Libs.private:」項目に、
-lpolarssl
が入らないため、make installのオプションに、
PRIVATE_LIBS="-lpolarssl -lws2_32 -lwinmm"
を追加しました。
2013/07/21 追記
「librtmp/librtmp.pc.in」と「librtmp/Makefile」のパッチは削除しました。
2013/07/28 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20121231.tgz を rtmpdump-2.4-20130719.tgz に変更しました。
rtmpdump-2.4-20130622-windows.zip を rtmpdump-2.4-20130728-windows.zip に変更しました。
2013/08/31 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20130719.tgz を rtmpdump-2.4-20130815.tgz に変更しました。
rtmpdump-2.4-20130728-windows.zip を rtmpdump-2.4-20130831-windows.zip に変更しました。
2013/10/06 追記
PolarSSL 1.2.8 を PolarSSL 1.2.9 に変更しました。
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20130815.tgz を rtmpdump-2.4-20130924.tgz に変更しました。
rtmpdump-2.4-20130831-windows.zip を rtmpdump-2.4-20131006-windows.zip に変更しました。
2013/10/13 追記
PolarSSL 1.2.9 を PolarSSL 1.2.10 に変更しました。
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20130924.tgz を rtmpdump-2.4-20131007.tgz に変更しました。
rtmpdump-2.4-20131006-windows.zip を rtmpdump-2.4-20131013-windows.zip に変更しました。
2013/12/07 追記
ソースコードとバイナリをアップデートしました。
rtmpdump-2.4-20131007.tgz を rtmpdump-2.4-20131205.tgz に変更しました。
rtmpdump-2.4-20131013-windows.zip を rtmpdump-2.4-20131207-windows.zip に変更しました。
2013/12/16 追記
ソースコードはgitからダウンロードするように、説明を修正しました。
rtmpdump-2.4-20131205.tgz
git clone git://git.ffmpeg.org/rtmpdump rtmpdump-2.4
最新版のソースコードは、以下のようにgitでダウンロードできます。
git clone git://git.ffmpeg.org/rtmpdump
2013/12/16 追記
コンパイル手順を修正しました。
$ cd rtmpdump-2.4
$ cd rtmpdump
2013/12/16 追記
ソースコードは、gitのhashで管理するように変更しました。
現時点での最新版は、rtmpdump-2.4-git-dc76f0a です。
2014/02/03 追記
polarssl-1.3のAPIの一部がpolarssl-1.2と異なります。
以下のパッチを適用すると、両方のバージョンに対応できます。
rtmpdump-2.4-polarssl-1.3.diff
$ patch -p1 < rtmpdump-2.4-polarssl-1.3.diff
2014/02/03 追記
PolarSSL 1.2.10 を PolarSSL 1.3.4 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20131207-windows.zip を rtmpdump-2.4-20140203-windows.zip に変更しました。
2014/02/22 追記
ソースコードの管理は、gitのhashと日付も入れるように変更しました。
現時点での最新版は、rtmpdump-2.4-20131205-git-dc76f0a です。
2014/03/21 追記
バイナリをアップデートしました。
ソースコードのバージョンは、rtmpdump-2.4-20140303-git-79459a2 です。
rtmpdump-2.4-20140203-windows.zip を rtmpdump-2.4-20140321-windows.zip に変更しました。
2014/03/28 追記
PolarSSL 1.3.4 を PolarSSL 1.3.5 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20140321-windows.zip を rtmpdump-2.4-20140328-windows.zip に変更しました。
2014/04/12 追記
PolarSSL 1.3.5 を PolarSSL 1.3.6 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20140328-windows.zip を rtmpdump-2.4-20140412-windows.zip に変更しました。
2014/05/03 追記
PolarSSL 1.3.6 を PolarSSL 1.3.7 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20140412-windows.zip を rtmpdump-2.4-20140503-windows.zip に変更しました。
2014/07/08 追記
バイナリをアップデートしました。
ソースコードのバージョンは、rtmpdump-2.4-20140706-git-a1900c3 です。
rtmpdump-2.4-20140503-windows.zip を rtmpdump-2.4-20140708-windows.zip に変更しました。
2014/07/13 追記
PolarSSL 1.3.7 を PolarSSL 1.3.8 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20140708-windows.zip を rtmpdump-2.4-20140713-windows.zip に変更しました。
2014/08/25 追記
PolarSSL 1.3.7以降、rtmpdump等がクラッシュするため、PolarSSL 1.3.8 を PolarSSL 1.3.6 に戻しました。
バイナリをアップデートしました。
rtmpdump-2.4-20140713-windows.zip を rtmpdump-2.4-20140825-windows.zip に変更しました。
2014/07/13 追記
PolarSSL 1.3.6 を PolarSSL 1.3.8修正版 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20140825-windows.zip を rtmpdump-2.4-20140829-windows.zip に変更しました。
2014/10/24 追記
PolarSSL 1.3.8修正版 を PolarSSL 1.3.9 に変更しました。
バイナリをアップデートしました。
rtmpdump-2.4-20140829-windows.zip を rtmpdump-2.4-20141024-windows.zip に変更しました。
2015/01/21 追記
バイナリをアップデートしました。
ソースコードのバージョンは、rtmpdump-2.4-20150114-git-a107cef です。
rtmpdump-2.4-20141024-windows.zip を rtmpdump-2.4-20150121-windows.zip に変更しました。
2015/03/08 追記
バイナリをアップデートしました。
PolarSSL 1.3.9 を PolarSSL (mbed TLS) 1.3.10 に変更しました。
rtmpdump-2.4-20150121-windows.zip を rtmpdump-2.4-20150308-windows.zip に変更しました。
2015/06/12 追記
バイナリをアップデートしました。
PolarSSL 1.3.10 を PolarSSL (mbed TLS) 1.3.11 に変更しました。
rtmpdump-2.4-20150308-windows.zip を rtmpdump-2.4-20150612-windows.zip に変更しました。
2015/08/14 追記
PolarSSLは、1.3.10からmbed TLSに名称が変わりました。
2015/08/14 追記
バイナリをアップデートしました。
mbed TLS 1.3.11 を mbed TLS 1.3.12 に変更しました。
rtmpdump-2.4-20150612-windows.zip を rtmpdump-2.4-20150814-windows.zip に変更しました。
2015/09/26 追記
バイナリをアップデートしました。
mbed TLS 1.3.12 を mbed TLS 1.3.13 に変更しました。
rtmpdump-2.4-20150814-windows.zip を rtmpdump-2.4-20150926-windows.zip に変更しました。
2015/12/31 追記
バイナリをアップデートしました。
mbed TLS 1.3.13 を mbed TLS 1.3.15 に変更しました。
ソースコードのバージョンは、rtmpdump-2.4-20151223-git-fa8646d です。
rtmpdump-2.4-20150926-windows.zip を rtmpdump-2.4-20151231-windows.zip に変更しました。
2016/03/24 追記
バイナリをアップデートしました。
mbed TLS 1.3.15 を mbed TLS 1.3.16 に変更しました。
rtmpdump-2.4-20151231-windows.zip を rtmpdump-2.4-20160324-windows.zip に変更しました。
2016/06/29 追記
バイナリをアップデートしました。
mbed TLS 1.3.16 を mbed TLS 1.3.17 に変更しました。
rtmpdump-2.4-20160324-windows.zip を rtmpdump-2.4-20160629-windows.zip に変更しました。
2016/10/20 追記
バイナリをアップデートしました。
mbed TLS 1.3.17 を mbed TLS 1.3.18 に変更しました。
rtmpdump-2.4-20160629-windows.zip を rtmpdump-2.4-20161020-windows.zip に変更しました。
2017/03/22 追記
バイナリをアップデートしました。
mbed TLS 1.3.18 を mbed TLS 1.3.19 に変更しました。
rtmpdump-2.4-20161020-windows.zip を rtmpdump-2.4-20170322-windows.zip に変更しました。
2017/09/11 追記
バイナリをアップデートしました。
mbed TLS 1.3.19 を mbed TLS 1.3.21 に変更しました。
rtmpdump-2.4-20170322-windows.zip を rtmpdump-2.4-20170911-windows.zip に変更しました。
2018/03/11 追記
バイナリをアップデートしました。
mbed TLS 1.3.21 を mbed TLS 1.3.22 に変更しました。
rtmpdump-2.4-20170911-windows.zip を rtmpdump-2.4-20180311-windows.zip に変更しました。
2022/09/06 追記
バイナリをアップデートしました。
mbed TLS 1.3.22 を Mbed TLS 2.16.12 に変更しました。
ソースコード rtmpdump-2.4-20151223-git-fa8646d を rtmpdump-2.4-20210219-git-f1b83c1 に変更しました。
rtmpdump-2.4-20180311-windows.zip を rtmpdump-2.4-20220906-windows.zip に変更しました。
【更新履歴】を閉じる
貴殿の手順の通り実施すると、
collect2.exe: error: ld returned 1 exit status
となって、目的のものは作成されますが、紛らわしいので。
$ cd librtmp
$ make SYS=mingw CRYPTO=POLARSSL CC=gcc AR=ar SHARED=no XLDFLAGS=-s
$ make install prefix=/mingw SHARED=no
$ patch -p1 < rtmpdump-polarssl-1.1.0.diff
$ make SYS=mingw CRYPTO=POLARSSL CC=gcc AR=ar SHARED=no XLDFLAGS=-s
$ cd librtmp
$ make install prefix=/mingw SHARED=no
rtmpdumpフォルダ内でpatchアンドmakeを済ませ、
librtmpフォルダ内でmake installしてみて下さい。
X5-452さん
コメントありがとうございます。
たしかに、途中に説明が入っていると、手順がわかりづらいかもしれませんね。
初心者さん自身で解決できるかもしれないので、しばらく様子を見ようかと思っていたのですが…。
collect2.exe: error: ld returned 1 exit status
というエラーからすると、zlibとPolarSSLをインストールしていないのではないでしょうか?
rtmpdump.exeなどのファイルを生成するときに、ライブラリが見つからなくて、リンカ(ld)がエラーを出しているんだと思います。
ttps://1drv.ms/u/s!Ap5Y3d1RgUuiuF2xw_nSJlo6hGaM
↑のアドレスからpatchをダウンロードし、ファイルを解凍してください。
解凍すると、2つのファイルがあると思いますので、状況によってpatchをあててください。
rtmpdump-2.4-polarssl-1.3.diffをあてていない場合
$ cd rtmpdump
$ patch -p1 < rtmpdump-2.4-polarssl-1.3+mbedtls2.4.diff
rtmpdump-2.4-polarssl-1.3.diffをあてている場合
$ cd rtmpdump
$ patch -p1 < rtmpdump-2.4-mbedtls-2.4.diff
あとは、以下の通りmakeするだけです。
$ make SYS=mingw CRYPTO=MBEDTLS CC=gcc AR=ar SHARED=no XLDFLAGS=-s
$ cd librtmp
$ make install prefix=/mingw SYS=mingw CRYPTO=POLARSSL SHARED=no PRIVATE_LIBS="-lmbedtls -lmbedx509 -lmbedcrypto -lws2_32 -lwinmm"
なお、このpatchはgitで公開されている最新版用です。KSV版などは、もう少しソースをいじる必要があります。
具体的には、rtmp_sys.hの最初の
#elif defined(USE_GNUTLS)
の直前に
#define md5_hash(i, ilen, o) mbedtls_md5(i, ilen, o)
が必要です。
コメントありがとうございます。
お返事が遅くなり、申し訳ありません。
ffmpegの方はGnuTLSに変更して、mbed TLS 2.4対応は面倒なので、あきらめていたところでした。
次回アップデートするときに試してみます。
情報ありがとうございました。