<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[phoenix3k的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/phoenix3k</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; phoenix3k]]></copyright><item><title><![CDATA[Python压缩pdf文件体积]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/163832374</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/163832374</guid><author>phoenix3k</author><pubDate>Mon, 17 Aug 2026 21:00:01 +0800</pubDate><description><![CDATA[很久没更新了，是因为忍了很久，终于忍不了了，压缩个pdf文件哪哪都要会员，像我工作中经常用到，知道有很多在线免费压缩的，但有些文件不能传网上，而且我们用的还是国产电脑，软件生态（稀奇古怪的小工具）没有Windows的多，于是百忙之中用了半天时间手搓了一个脚本，能满足我的日常工作（起码安全还省钱了），有更多需求的小伙伴可以自行修改，上代码~代码里注释写的比较清楚了，拿来直接就能用，主要就是用了pymupfd和pillow两个库，这个需要自行安装下。]]></description><category></category></item><item><title><![CDATA[安卓手机变身服务器并部署srs视频服务实现视频传输]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/147059274</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/147059274</guid><author>phoenix3k</author><pubDate>Tue, 08 Apr 2025 11:17:43 +0800</pubDate><description><![CDATA[然后获得手机上的的ip地址，例如在这里我的是192.168.1.108，用另外一个手机去下载“IP摄像头”这个app，可能应用商店里并没有这款神奇的app，需要你自行搜索，在app的设置里找到RTMP推流地址，写上rtmp://192.168.1.108/live/livestream，这里的/live/livestream是srs服务默认的，当然你可以修改srs服务的配置文件，这个请参考官方wiki。命令，你的心情一下就舒畅了，成就感产生的内啡肽会占据你的大脑皮层，尽情去体验这样的感觉吧！]]></description><category></category></item><item><title><![CDATA[再谈ESP32_CAM视频传输至公网服务器]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/138282996</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/138282996</guid><author>phoenix3k</author><pubDate>Sun, 28 Apr 2024 16:50:51 +0800</pubDate><description><![CDATA[很久没写文章了，最近闲来无事，又研究了下关于esp32_cam，之前也写过一篇文章，讲述了如何把视频流推送至公网服务器，但是用到的代码很不统一，esp32_cam端用的是c语言，服务器用的是nodejs，拉流客户端用的是python，看上去很别扭，更重要的是，虽然能推流至服务器，但传输效果也不是很理想，于是把三端的代码统一成了python，话不多说，直接上代码。此处要修改的是端口号，要跟esp32_cam中自定义的端口号一致，其它的看注释即可。此处要修改的是公网ip和自定义的端口号。]]></description><category></category></item><item><title><![CDATA[ESP32-CAM视频传输至公网服务器并转发视频数据流]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/128446232</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/128446232</guid><author>phoenix3k</author><pubDate>Mon, 26 Dec 2022 17:15:52 +0800</pubDate><description><![CDATA[再次特别说明一下, 先启动服务器端代码, 然后在电脑端运行python端代码, 最后再烧录esp32-cam的代码. 我在服务器端的逻辑是接收到'monitor'字符串时认为是客户端监视器, 把对应的socket保存一下, 然后当接收到下一个socket连接时, 则默认认为是esp32-cam, 将之前保存的socket取出来, 把视频流数据转发出去, 此种方式只能有一个esp32-cam和一个客户端监视器, 有需要的小伙伴可以自行修改代码.首先声明下esp32-cam和电脑客户端的代码都是参考了。]]></description><category></category></item><item><title><![CDATA[python对excel表某一列去重]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/125144490</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/125144490</guid><author>phoenix3k</author><pubDate>Mon, 06 Jun 2022 12:43:42 +0800</pubDate><description><![CDATA[其实第三方库pandas已经实现了这个功能, 但是为啥我还要自己重新写一个方法呢, 用过pandas你就会发现, 虽然可以去重, 但是最左边会莫名其妙多出一列序号, 好像这个去重方法还必须要传入去重列的字段名, 不能按列号去重, 最烦的是当对身份证号码去重时, 新生成的excel中身份证号码列竟变成了科学计数法....可能我是没有掌握pandas去重的要领吧, 算了, 自己动手造个轮子吧! 直接上代码:


        简单解释一下, 同样需要引用openpyxl包, 这里我用了和pandas里一样的函]]></description><category></category></item><item><title><![CDATA[4g/5g信号远程遥控小车解决方案二]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/123174974</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/123174974</guid><author>phoenix3k</author><pubDate>Mon, 28 Feb 2022 09:58:57 +0800</pubDate><description><![CDATA[之前写过一篇关于4g/5g信号来远程控制小车的博客, 解决方案是安卓手机+FT311D, 对安卓进行扩展, 好处就是我写安卓代码就能控制嵌入式设备来驱动小车, 相当于隐藏了底层交互, 直接面对安卓编程即可, 但是FT311D的管脚有限, 只有4路pwm输出能驱动2个电机马达(一个用于小车的转向舵机, 一个用于前进后退), 而且利用的是手机的摄像头进行图传, 手机的安装位置是固定的, 不能随意转动, 限制了图传的效果.

现在有了另一个解决方案, 依然是安卓手机+FT311D,......]]></description><category></category></item><item><title><![CDATA[Android 9及高版本使用socketIO无法连接服务器通信]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/121868669</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/121868669</guid><author>phoenix3k</author><pubDate>Sat, 11 Dec 2021 09:27:25 +0800</pubDate><description><![CDATA[在开发过程中安卓端使用socketIO和服务器进行通信, 但是开始适配Android 9及更高版本时发现同样的代码, 获取到socket后使用conn.connect()无法连接到服务器, 为此还专门在github上提了一个issue, 没想到作者给我回复了邮件探讨了此问题, 后来我找到了原因, 是因为从Android 9开始, 所有的网络通信都要使用https协议, 而socketIO使用的http协议进行通信 (当然也可以自己在服务器上搭建https服务进行通信), 为此我修改了Andr...]]></description><category></category></item><item><title><![CDATA[解决卡在 a start job is running for /etc/rc.d/rc.local Compatibility 导致系统无法启动的问题]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/121281893</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/121281893</guid><author>phoenix3k</author><pubDate>Fri, 12 Nov 2021 09:58:15 +0800</pubDate><description><![CDATA[最近一台虚机服务器始终无法启动, 卡在下面的界面无法进入系统, 发现是开机自启动服务出现了问题.

 进入单用户模式后, 执行命令 mournt -o remount,rw /sysroot 重新挂载一下使其可读写, 然后切换 chroot /sysroot ,修改 /etc/rc.d/rc.local 配置文件, 发现里面有一行自启动服务比较可疑, 注释掉后, 输入两次 exit 退出系统, 现在就能重新进入到系统里了~
...]]></description><category></category></item><item><title><![CDATA[解决nodejs和pm2做crontab定时任务失效的问题]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/120457072</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/120457072</guid><author>phoenix3k</author><pubDate>Fri, 24 Sep 2021 16:08:23 +0800</pubDate><description><![CDATA[后台服务是用nodejs编写, 并使用pm2进行部署, 先有个需求, 每天的0点整清除pm2产生的所有日志, 使用crontab做定时任务发现, 任务并不会执行, 同时系统会发送邮件给root用户(因为我是用root用户操作), 提示, 后来我把命令写在了脚本里, 用crontab定时执行脚本, 依然无法运行, 后来我加了两条软链接解决问题, , 此时再去定时执行脚本, 就可以正常执行定时任务了.








...]]></description><category></category></item><item><title><![CDATA[不限距离4g/5g信号远程遥控小车]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/119594002</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/119594002</guid><author>phoenix3k</author><pubDate>Wed, 11 Aug 2021 11:31:03 +0800</pubDate><description><![CDATA[最开始学习编程也是源于一个想法, 无线遥控小车和飞机操作范围都是在几十米, 远的几百米, 再远的几公里, 那能不能把手机放在小车或飞机上, 利用手机的4g/5g信号来接收指令, 这样只要有手机信号的地方, 就可以不限距离的操作, 当时我面临两个非常棘手的问题, 一个是视频图像传输的实时性, 因为我要坐在电脑前实时操作小车和飞机的路线, 那么对视频传输的延时就要求很高; 第二个是当时我并不知道安卓手机可以利用AOA协议来扩展外设, 当年我看的所有安卓视频教程中从来没有一个老师提起过, 导致我这...]]></description><category></category></item><item><title><![CDATA[手摸手教你使用srs服务搭建毫秒级延时直播]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/119539293</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/119539293</guid><author>phoenix3k</author><pubDate>Tue, 10 Aug 2021 14:36:43 +0800</pubDate><description><![CDATA[之所以要搭建一个在公网环境下一对一毫秒级延时的直播, 就是为了做一个不限遥控距离的小车, 使用安卓手机基于aoa协议+4g/5g实现, 理论上只要电池有电(可采用太阳能方案)和有4g/5g信号的地方, 坐在屋里可以遥控着小车满世界的跑...不好意思跑题了, 进入正题.

srs服务之强大我不废话, 如果想看官方wiki, 请直接移步github或者gitee, 我建议访问gitee: 因为速度快https://gitee.com/winlinvip/srs.oschina/w...]]></description><category></category></item><item><title><![CDATA[解决centos7进入单用户模式修改root密码失败的问题]]></title><link>https://blog.youkuaiyun.com/phoenix3k/article/details/119537872</link><guid>https://blog.youkuaiyun.com/phoenix3k/article/details/119537872</guid><author>phoenix3k</author><pubDate>Mon, 09 Aug 2021 14:58:15 +0800</pubDate><description><![CDATA[单位机房停电, 重启虚拟机(centos7.6)后发现root用户的密码无法登录, 只能进单用户模式改掉root密码, 看似很简单的问题却遇到了问题, 常规操作无非是:

1. 找到linux16开头的行, 在末尾添加rd.break, 按ctrl + x进入单用户模式

2. mount -o remount,rw /sysroot

3. chroot /sysroot

4. passwd (我这里要输入3次相同的新密码进行确认)

5. touch /.autorelabel

6. 连续输入两次e]]></description><category></category></item></channel></rss>