声明:

部分参考

2020-08-28 Windows下编译librtmp - 简书1、下载最新的rtmpdump源码,下载路径:http://git.ffmpeg.org/rtmpdump PS:当前最新版本为v2.4,rtmpdump-c5f04a5.t...https://www.jianshu.com/p/2bd46399e3ab和

Python python-librtmp包_程序模块 - PyPI - Python中文网Python python-librtmp这个第三方库(模块包)的介绍: librtmp的python绑定,用cffi构建 Python bindings for librtmp, built with cffi 正在更新《 python-librtmp 》相关的最新内容!https://www.cnpython.com/pypi/python-librtmp

python librtmp是一个RTMP客户端库。它使用实现 由librtmp通过cffi提供。

如果你想在你的python环境安装python-librtmp 0.3.0,可以参考此博文。

依赖性

  • Python,至少2.6或3.3版。
  • 一个c编译器,能够生成Python扩展,例如gcc
  • librtmp:包含其头的库(librtmp dev或等效的库)
  • cffi:cffi依赖于libffi及其头文件(libffi dev或等效文件)
  • 在python<;3.4中,还需要singledispatch的后台端口。

这些依赖性里,除了第三个,其他都比较容易,这里不赘述。

Python python-librtmp包_程序模块 - PyPI - Python中文网Python python-librtmp这个第三方库(模块包)的介绍: librtmp的python绑定,用cffi构建 Python bindings for librtmp, built with cffi 正在更新《 python-librtmp 》相关的最新内容!https://www.cnpython.com/pypi/python-librtmp

1. 下载librtmp的源代码

http://git.ffmpeg.org/rtmpdumphttp://git.ffmpeg.org/rtmpdump下载下来的包是 rtmpdump-2.3.tgz。

解压后可见如下

2. 新建VS空项目,添加解压后的librtmp目录下所有 *.c *.h 文件

3.VS2022 右击项目名称设置property,将Configuration Type为.dll。

4. 配置预定义宏

_DEBUG
_CONSOLE
NO_CRYPTO
_CRT_SECURE_NO_WARNINGS
_WINSOCK_DEPRECATED_NO_WARNINGS
_CRT_NONSTDC_NO_DEPRECATE

5.添加附加依赖项 ws2_32.lib和wsock32.lib

6. 修改rtmp_sys.h和rtmp.c文件

rtmp_sys.h修改部分如下:

#ifdef _MSC_VER  /* MSVC */
//#define snprintf _snprintf
#define strcasecmp stricmp
#define strncasecmp strnicmp
#define strdup _strdup
//#define vsnprintf _vsnprintf
#endif

rtmp.c修改部分如下:

添加头文件

#include <sys/types.h>

注释掉以下三段

//#ifdef _DEBUG
//extern FILE *netstackdump;
//extern FILE *netstackdump_read;
//#endif
//#ifdef _DEBUG
//      fwrite(ptr, 1, nBytes, netstackdump_read);
//#endif
//#ifdef _DEBUG
//  fwrite(buf, 1, len, netstackdump);
//#endif

7. 使用 _declspec(dllexport)与_declspec(dllimport),产生librtmp.lib

此时,可以尝试编译,其实也可以生成librtmp.dll和librtmp.lib。但是你直接做操作8,可能你会发现有不少报错。报错格式如下:

error LNK2001:  unresolved external symbol RTMP_**

解决办法是修改代码。

如果报错的函数声明是extern,使用_declspec(dllimport),其他则使用 _declspec(dllexport)。我一共有24条要修改。修改格式仿照如下:

_declspec(dllimport) extern RTMP_LogLevel RTMP_debuglevel;
_declspec(dllexport) void RTMP_LogSetOutput(FILE *file);

修改后成功编译,可以生成librtmp.dll和librtmp.lib。

8. 从git下载python-librtmp安装文件,将librtmp.lib拷贝到根目录。执行安装

git clone git://github.com/chrippa/python-librtmp.git
cd python-librtmp
sudo python setup.py install

执行安装并检查安装成功。

Extracting python_librtmp-0.3.0-py3.9-win-amd64.egg to d:\users\me\appdata\local\programs\python\python39\lib\site-packages
Adding python-librtmp 0.3.0 to easy-install.pth fileInstalled d:\users\me\appdata\local\programs\python\python39\lib\site-packages\python_librtmp-0.3.0-py3.9-win-amd64.egg
Processing dependencies for python-librtmp==0.3.0
Searching for cffi==1.15.0
Best match: cffi 1.15.0
Adding cffi 1.15.0 to easy-install.pth fileUsing d:\users\me\appdata\local\programs\python\python39\lib\site-packages
Searching for pycparser==2.21
Best match: pycparser 2.21
Adding pycparser 2.21 to easy-install.pth fileUsing d:\users\me\appdata\local\programs\python\python39\lib\site-packages
Finished processing dependencies for python-librtmp==0.3.0D:\pythonfile\rtmptest\python-librtmp-master\python-librtmp-master>pip list
Package        Version
-------------- -------
cffi           1.15.0
pip            22.0.4
pycparser      2.21
python-librtmp 0.3.0
setuptools     57.4.0
wheel          0.37.1D:\pythonfile\rtmptest\python-librtmp-master\python-librtmp-master>

检查安装成功

VS2022编译librtmp制作rtmp.lib用于安装windows版本的python-librtmp 0.3.0相关推荐

  1. MAC苹果下制作U盘启动安装WINDOWS系统盘

    MAC苹果下制作U盘启动安装WINDOWS系统盘 准备: U盘一个,16G以上即可 微软官方的ISO镜像,英文地址和中文地址在此 下载推荐地址:itellyou.cn 步骤: 打开Terminal,查 ...

  2. 支持HEVC/H265 RTMP播放的VLC WINDOWS版本

    本文镜像:https://www.linkpi.cn/archives/1225 本文链接:https://blog.csdn.net/weixin_45326556/article/details/ ...

  3. 使用eclipse安装python插件_如何为eclipse安装合适版本的python插件pydev

    pydev是一款优秀的Eclipse插件,大多数喜欢在eclipse开发软件的程序员(也许是java程序员)在开发python软件时希望继续使用eclipse,那么pydev是非常理想的选择. 1.安 ...

  4. ubuntu18.04安装windows版本微信

    1.下载deepin-wine-for-ubuntu包 git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git 2. 安装dee ...

  5. 百度网盘和官网下载并安装windows版本的Redis

    这里提供的百度网盘和官网两种下载方式 点击这里:百度网盘和官网下载并安装windows版本的Redis 感谢分享

  6. 树莓派安装python3.8_在树莓派(Raspberry Pi)上编译安装更新版本的Python

    Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法. 此文也适用于安装其它版本(比如最新版本)的Python,只要下载时选择特定版本可以了. 我用的 ...

  7. 心得:大疆无人机RTMP推流直播(Windows版本已成功)

    大疆无人机rtmp推流直播到电脑(Windows版本已成功) 一.所需资源 二.安装 三.ffmpeg推流 四.无人机rtmp推流 五.Python获取无人机实时视频 一.所需资源 1.nginx的G ...

  8. 同一个电脑可安装多个python版本吗_同一台电脑安装不同版本的python(python2.7和python3.7)...

    先安装的是python2.7 而后又安装的python3.7版本,如同python2.7升级后,也自带这pip,所以就不用像网上那么麻烦. 第一步 安装python2.7,选择增加到环境变量==> ...

  9. python安装哪个版本好啊_windows10安装哪个版本的Python?

    python2除了一些大公司历史遗留问题还在使用,目前中小创公司使用最多的是python3 大公司的一些新项目也开始用python3了 目前来说,python3.5以上的版本都可以 目前使用最多的是p ...

  10. git-下载与安装windows版本与linux版本

    windows安装 https://git-scm.com/download/win 详细安装 git-windows安装 - pyhui的python全栈技术博客 - CSDN博客 https:// ...

最新文章

  1. 不再使用快捷方式打开电脑软件!如何Windows+r 来打开一个你想要打开的软件软件?
  2. 记录结果再利用的动态规划
  3. Python 用smtplib库发邮件报错:[WinError 10061] 由于目标计算机积极拒绝,无法连接。解决办法
  4. 知识表示之二——产生式规则表示法
  5. 在服务器上安装网站环境,如何在服务器上搭建JSP环境,需要安装哪些软件?
  6. C# Lazy Loading
  7. WebView纯浏览模式,webView不可点击
  8. HigLabo.Mapper,用表达式树在10天内创建世界上最快的对象映射器
  9. php 虚类,减伤、虚弱类技能汇总 - 游戏服务区 - 《洛克王国》官方论坛 - Powered by Discuz!...
  10. jquery 筛选不到 checkbox, radio 表单元素
  11. Java多线程教学演示系统_Java多线程演示样例(模拟通话,sleep,join,yield,wait,notify,Semaphore)...
  12. 登陆kaggle 平台,谷歌浏览器人机验证(RECAPTCHA)无法显示解决方案
  13. 即时通讯开发资料分享
  14. 计算机的内存储器的最大特点是,随机存取存储器(RAM)的最大特点是
  15. Router Support for Fine-Grained Latency Measurements阅读笔记
  16. Linux中招挖矿木马如何处置,附带解决方案
  17. 合利宝实际控制人即将易主:海科金集团接盘仁东控股
  18. 《神经科学:探索脑》学习笔记(第1章 神经科学导论)
  19. ARM基本接口之LCD实验
  20. vue中长时间未操作就会强制退出

热门文章

  1. EndNoteX9插入参考文献
  2. 服务器ghost备份后无法进入系统还原,如下图,电脑开不起来了,重新ghost恢复备份的系统后启动依旧蓝屏,怎么办?...
  3. 如何使用ShoeBox和PhotoShop制作出漂亮的Fnt字体
  4. VS2015卸载方式的解决
  5. 备战数学建模14-熵权法确定指标权重系数
  6. 机器学习系列全集,301页PDF精心整理!
  7. 恩智浦智能车竞赛摄像头相关组入门
  8. 【DEVOPS】SVN Server迁移 - 从VisualSvnServer到iF.SVNAdmin
  9. 微信小程序-icon图标
  10. 肖维勒准则matlab_肖维勒准则.PPT