wvp 推拉转级联时频繁出现流无法观看的解决办法

经观察,推拉转任务在两三天时间内就失效了。

1 用脚本每天定时启动一次 wvp docker 容器, 并关闭所有推拉转任务,建议每天凌晨2点运行

复制代码
import subprocess
import time
import socket
import requests


def restart_container(container_name):
    subprocess.run(["docker", "restart", container_name], check=True)

def wait_for_port(host, port, timeout=120):
    start_time = time.time()
    while time.time() - start_time < timeout:
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
            result = sock.connect_ex((host, port))
            if result == 0:
                return True
            time.sleep(1)
    return False

container_name = "wvp-server"
port = 48080
host = "localhost"  # 修改为服务所在的主机名或 IP 地址

# 重启 Docker 容器
restart_container(container_name)

# 等待服务端口启动
if wait_for_port(host, port):
    print(f"服务 {container_name} 在端口 {port} 上已启动成功")
else:
    print(f"服务 {container_name} 在端口 {port} 启动失败")


time.sleep(60)


# 目标 URL
url = 'http://127.0.0.1:48080/api/user/login?username=admin&password=21232f297a57a5a743894a0e4a801fc3'  # 替换为实际的 URL

# 发起 GET 请求
response = requests.get(url)

headers = {}
# 检查响应状态码
if response.status_code == 200:
    # 成功处理响应数据
    data = response.json()  # 如果响应内容是 JSON 格式
    headers['Access-Token'] = data['data']['accessToken']
    print("请求成功:", data)
else:
    print("请求失败,状态码:", response.status_code)


# 发起 GET 请求,并添加请求头
response = requests.get('http://127.0.0.1:48080/api/proxy/list?page=1&count=100', headers=headers)


task_list = []
# 检查响应状态码
if response.status_code == 200:
    # 成功处理响应数据
    data = response.json()  # 如果响应内容是 JSON 格式
    task_list = data['data']['list']
    print("请求成功:", data)
else:
    print("请求失败,状态码:", response.status_code)



for task in task_list:
	if task.get('enable', False): 
		print(f"任务 {task['name']} 已启用") 
		response = requests.get(f"http://127.0.0.1:48080/api/proxy/stop?app={task['app']}&stream={task['stream']}", headers=headers) 
		data = response.json()
		print("请求关闭结果---> :", data)
	else: 
		print(f"任务 {task['name']} 未启用")

2 用脚本定时启动未启用的推拉转任务(防止在启动容器时有的流没打开),建议五分钟执行一次

复制代码
import subprocess
import time
import socket
import requests


# 目标 URL
url = 'http://127.0.0.1:48080/api/user/login?username=admin&password=21232f297a57a5a743894a0e4a801fc3'  # 替换为实际的 URL

# 发起 GET 请求
response = requests.get(url)

headers = {}
# 检查响应状态码
if response.status_code == 200:
    # 成功处理响应数据
    data = response.json()  # 如果响应内容是 JSON 格式
    headers['Access-Token'] = data['data']['accessToken']
    print("请求成功:", data)
else:
    print("请求失败,状态码:", response.status_code)


# 发起 GET 请求,并添加请求头
response = requests.get('http://127.0.0.1:48080/api/proxy/list?page=1&count=100', headers=headers)


task_list = []
# 检查响应状态码
if response.status_code == 200:
    # 成功处理响应数据
    data = response.json()  # 如果响应内容是 JSON 格式
    task_list = data['data']['list']
    print("请求成功:", data)
else:
    print("请求失败,状态码:", response.status_code)



for task in task_list:
	if task.get('enable', False): 
		print(f"任务 {task['name']} 已启用") 
	else: 
		print(f"任务 {task['name']} 未启用")
		response = requests.get(f"http://127.0.0.1:48080/api/proxy/start?app={task['app']}&stream={task['stream']}", headers=headers) 
		data = response.json()
		print("请求打开结果---> :", data)
相关推荐
西安老张(AIGC&ComfyUI)8 分钟前
第021章:ComfyUI文生音频Qwen3-TTS模型数字人音色设计(一)
aigc·音视频·数字人·comfyui
小殊小殊13 分钟前
一文速通GPU版FFmpeg视频转码的安装使用
ffmpeg·音视频·视频编解码
xxie12379416 分钟前
Python 闭包的调用方法与实践
开发语言·python
HZZD_HZZD17 分钟前
用电行为异常检测VAE-基于PyTorch设计用电行为异常检测模型:从时序特征提取到变分自编码器部署的完整实战
人工智能·pytorch·python
楷哥爱开发19 分钟前
降低网络爬虫成本:基础设施优化指南
服务器·开发语言·php
鱼很腾apoc27 分钟前
【Linux】第7期 进程间通信 (IPC) 详解:管道 (匿名 / 命名) + System V
linux·服务器·c语言·学习·进程间通信·ipc
毒爪的小新28 分钟前
踩坑实录 | RAG知识库完整搭建-Milvus2.4+BGE大中文AI模型嵌入
linux·人工智能·ai·milvus·rag
思-无-涯29 分钟前
AI Agent技能编写与质量保障
人工智能·python
美狐美颜SDK开放平台32 分钟前
直播APP平台开发如何降低成本?视频美颜SDK方案解析
人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk·美颜api
yxl8746464638 分钟前
PCTG-1015型Profinet转Ethernet/IP协议转换器
服务器·网络·物联网·网络协议·自动化·信息与通信