使用VS2008 在windows环境 编译Rtmpdump

折腾了好几天 终于在VS2008下面编译通过了Rtmpdump, 生成静态lib库,分享给大家。


http://rtmpdump.mplayerhq.hu/


源代码地址,这个开源组建是依赖zlib 和 OpenSSL的,所以要下载zlib和OpenSSL的安装版本。


1. 下载OpenSSL:

http://www.slproweb.com/products/Win32OpenSSL.html

请下载 

Win32 OpenSSL v1.0.0g 16MB Installer
或者

Win64 OpenSSL v1.0.0g 16MB Installer

安装的时候把lib和include文件直接安装到OpenSSL的安装目录就可以了。


2.下载Zlib

http://gnuwin32.sourceforge.net/packages/zlib.html

请下载 

• Developer files Zip 71569 20 July 2005 def79b244cd1e1eec8fd221bd8d2a361

3. 下载Rtmpdump最新代码 目前是2.4版本, 需要一个git windows版本的工具拉代码

http://code.google.com/p/msysgit/downloads/list

下载完安装后运行,直接命令行里边输入

  • git clone git://git.ffmpeg.org/rtmpdump
  • 代码就已经拉下来了,放在C:\Users\xxx\ 目录里边

4.用vs2008新建一个静态类库工程, 把 C:\Users\xxx\rtmpdump\librtmp\下的所有.h .c 文件copy到 新建工程的目录下, 并且在vs2008工程里边添加这些文件。

5. 在vs2008 tools- option - projects and solutions - vc++ directories 里边,把OpenSSL和Zlib的 include和lib路径都添加进去。


6.首先编译文件hashswf.c, 您一定会得到错误找不到 stdint.h 头文件 这个文件网上有 搜索一个,然后放在OpenSSL的include目录里边,这个错误可以fix掉了。 或者可以看我的下一条博文,我会把它贴出来


7.然后的错误是 fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
双击这个错误 直接跳转到错误的line, 然后把 #if 1           /* HAVE_UNISTD_H -- this line is updated by ./configure */这里的 #if 1 改成 #if0,让编译器跳过这块, 可以fix掉这个错误

这个时候您应该可以成功编译过hashswf.c文件了。


8.然后编译amf.c文件,
您会得到错误  error C3163: '_vsnprintf': attributes inconsistent with previous declaration
1>        c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(350) : see declaration of '_vsnprintf'

打开rtmp_sys.h这个文件 然后把 第34行的定义 #define vsnprintf _vsnprintf 注释掉, 因为这个定义windows已经定义过了。


到这个时候 您应该可以成功编译Rtmpdump组建了,接下来就是使用了 先贴一些测试代码,如果后面有空,我会把使用的一些心得发上来与大家分享。


 RTMP *rtmp; 
    char uri[]="rtmp://xxx.xxx.xxx/xxx/"; 
    rtmp = RTMP_Alloc(); 
if(rtmp == NULL)
return 0;


    RTMP_Init(rtmp); 



    int err = RTMP_SetupURL(rtmp, (char*)uri); 
if(err < 0)
return 0;


    RTMP_EnableWrite(rtmp); 




    RTMP_Connect(rtmp, NULL); 
if(err < 0)
return 0;


    RTMP_ConnectStream(rtmp,0); 
if(err < 0)
return 0;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值