VS2022编译librtmp制作rtmp.lib用于安装windows版本的python-librtmp 0.3.0
声明:
部分参考
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相关推荐
- MAC苹果下制作U盘启动安装WINDOWS系统盘
MAC苹果下制作U盘启动安装WINDOWS系统盘 准备: U盘一个,16G以上即可 微软官方的ISO镜像,英文地址和中文地址在此 下载推荐地址:itellyou.cn 步骤: 打开Terminal,查 ...
- 支持HEVC/H265 RTMP播放的VLC WINDOWS版本
本文镜像:https://www.linkpi.cn/archives/1225 本文链接:https://blog.csdn.net/weixin_45326556/article/details/ ...
- 使用eclipse安装python插件_如何为eclipse安装合适版本的python插件pydev
pydev是一款优秀的Eclipse插件,大多数喜欢在eclipse开发软件的程序员(也许是java程序员)在开发python软件时希望继续使用eclipse,那么pydev是非常理想的选择. 1.安 ...
- ubuntu18.04安装windows版本微信
1.下载deepin-wine-for-ubuntu包 git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git 2. 安装dee ...
- 百度网盘和官网下载并安装windows版本的Redis
这里提供的百度网盘和官网两种下载方式 点击这里:百度网盘和官网下载并安装windows版本的Redis 感谢分享
- 树莓派安装python3.8_在树莓派(Raspberry Pi)上编译安装更新版本的Python
Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法. 此文也适用于安装其它版本(比如最新版本)的Python,只要下载时选择特定版本可以了. 我用的 ...
- 心得:大疆无人机RTMP推流直播(Windows版本已成功)
大疆无人机rtmp推流直播到电脑(Windows版本已成功) 一.所需资源 二.安装 三.ffmpeg推流 四.无人机rtmp推流 五.Python获取无人机实时视频 一.所需资源 1.nginx的G ...
- 同一个电脑可安装多个python版本吗_同一台电脑安装不同版本的python(python2.7和python3.7)...
先安装的是python2.7 而后又安装的python3.7版本,如同python2.7升级后,也自带这pip,所以就不用像网上那么麻烦. 第一步 安装python2.7,选择增加到环境变量==> ...
- python安装哪个版本好啊_windows10安装哪个版本的Python?
python2除了一些大公司历史遗留问题还在使用,目前中小创公司使用最多的是python3 大公司的一些新项目也开始用python3了 目前来说,python3.5以上的版本都可以 目前使用最多的是p ...
- git-下载与安装windows版本与linux版本
windows安装 https://git-scm.com/download/win 详细安装 git-windows安装 - pyhui的python全栈技术博客 - CSDN博客 https:// ...
最新文章
- 不再使用快捷方式打开电脑软件!如何Windows+r 来打开一个你想要打开的软件软件?
- 记录结果再利用的动态规划
- Python 用smtplib库发邮件报错:[WinError 10061] 由于目标计算机积极拒绝,无法连接。解决办法
- 知识表示之二——产生式规则表示法
- 在服务器上安装网站环境,如何在服务器上搭建JSP环境,需要安装哪些软件?
- C# Lazy Loading
- WebView纯浏览模式,webView不可点击
- HigLabo.Mapper,用表达式树在10天内创建世界上最快的对象映射器
- php 虚类,减伤、虚弱类技能汇总 - 游戏服务区 - 《洛克王国》官方论坛 - Powered by Discuz!...
- jquery 筛选不到 checkbox, radio 表单元素
- Java多线程教学演示系统_Java多线程演示样例(模拟通话,sleep,join,yield,wait,notify,Semaphore)...
- 登陆kaggle 平台,谷歌浏览器人机验证(RECAPTCHA)无法显示解决方案
- 即时通讯开发资料分享
- 计算机的内存储器的最大特点是,随机存取存储器(RAM)的最大特点是
- Router Support for Fine-Grained Latency Measurements阅读笔记
- Linux中招挖矿木马如何处置,附带解决方案
- 合利宝实际控制人即将易主:海科金集团接盘仁东控股
- 《神经科学:探索脑》学习笔记(第1章 神经科学导论)
- ARM基本接口之LCD实验
- vue中长时间未操作就会强制退出
热门文章
- EndNoteX9插入参考文献
- 服务器ghost备份后无法进入系统还原,如下图,电脑开不起来了,重新ghost恢复备份的系统后启动依旧蓝屏,怎么办?...
- 如何使用ShoeBox和PhotoShop制作出漂亮的Fnt字体
- VS2015卸载方式的解决
- 备战数学建模14-熵权法确定指标权重系数
- 机器学习系列全集,301页PDF精心整理!
- 恩智浦智能车竞赛摄像头相关组入门
- 【DEVOPS】SVN Server迁移 - 从VisualSvnServer到iF.SVNAdmin
- 微信小程序-icon图标
- 肖维勒准则matlab_肖维勒准则.PPT