2011年05月08日

librtmp(RTMPDump)のコンパイル&インストール PolarSSL版

librtmp(RTMPDump) PolarSSL版のインストールには、zlibとPolarSSLのライブラリが必要ですので、先にインストールしておいてください。
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"

以上で終了です。


【補足】
2011/07/24 追記
とりあえず、2.4のwindowsバイナリがアップされるまで、こちらにも置いておきます。

2013/02/03 追記
公式サイトにもrtmpdump-2.4のwindowsバイナリがアップされましたが、こちらにも置いておきます。
・2.3からのマイナーバグ修正
・RTMPE type 9 handshakesに対応
だそうです。
SSLライブラリは、mbed TLS 1.3.19 です。
ソースコードのバージョンは、rtmpdump-2.4-20151223-git-fa8646d です。(2017/03/22 更新)
rtmpdump-2.4-20170322-windows.zip


【更新履歴】を見る
posted by あべちん at 18:40 | Comment(5) | TrackBack(0) | FFmpeg追加ライブラリ
この記事へのコメント
手順ですが、cd の後 make でしょうか?
貴殿の手順の通り実施すると、
 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
Posted by 初心者 at 2012年06月09日 03:10
$ cd rtmpdump
$ 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してみて下さい。
Posted by X5-452 at 2012年06月09日 15:40
初心者さん、X5-452さん、こんにちは。管理人です。

X5-452さん
コメントありがとうございます。
たしかに、途中に説明が入っていると、手順がわかりづらいかもしれませんね。

初心者さん自身で解決できるかもしれないので、しばらく様子を見ようかと思っていたのですが…。

collect2.exe: error: ld returned 1 exit status

というエラーからすると、zlibとPolarSSLをインストールしていないのではないでしょうか?

rtmpdump.exeなどのファイルを生成するときに、ライブラリが見つからなくて、リンカ(ld)がエラーを出しているんだと思います。
Posted by あべちん at 2012年06月09日 19:34
rtmpdump-2.4をmbed TLS 2.4に対応させてみました。

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)
が必要です。
Posted by kenta at 2017年01月23日 18:01
kentaさん、こんにちは。管理人です。

コメントありがとうございます。
お返事が遅くなり、申し訳ありません。

ffmpegの方はGnuTLSに変更して、mbed TLS 2.4対応は面倒なので、あきらめていたところでした。
次回アップデートするときに試してみます。

情報ありがとうございました。
Posted by あべちん at 2017年02月18日 14:32
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/44988931
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック