You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用mpv的Unix Socket IPC接口超时无响应问题求助

问题根因

mpv的Unix Socket IPC协议要求每条JSON命令必须以**换行符\n**作为结束标识,你的Python代码发送的命令末尾没有添加换行符,mpv会认为命令还未传输完成,因此不会执行暂停操作,也不会返回响应,最终导致脚本接收超时。
你在命令行使用echo测试时功能正常,是因为echo默认会在输出内容末尾自动追加换行符,发送的内容符合mpv的协议要求。

修复方案

修改你定义命令字符串的代码,在JSON末尾添加\n即可:

# 修正前
# message = '{ "command": ["set_property", "pause", true] }'
# 修正后
message = '{ "command": ["set_property", "pause", true] }\n'

如果需要更高的稳定性,还可以增加两个优化操作:

  • 发送完命令后调用s.shutdown(socket.SHUT_WR)主动关闭套接字的写端,避免半连接状态导致的异常
  • 接收返回内容时按换行符拆分结果,避免多条响应拼接的情况

内容的提问来源于stack exchange,提问作者Dfr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:36:04