python在window下将本地目录下mp4视频文件按循序投屏播放到小米电视代码
代码语言:python
所属分类:其他
代码描述:python在window下将本地目录下mp4视频文件按循序投屏播放到小米电视代码,扫描window指定目录下所有视频文件形成一个播放列表,按循序播放。
代码标签: python window 本地 目录 mp4 视频 文件 循序 投屏 播放 小米 电视 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
#!/usr/bin/env python3
"""
需要本地win10关闭防火墙
DLNA 投屏小米电视2 —— 播放列表顺序播放
功能:
1. 自动发现局域网内 DLNA 渲染设备(小米电视)
2. 本地起 HTTP 服务器供电视拉取媒体文件
3. 播放列表顺序播放,自动切换下一首/下一集
"""
import socket
import struct
import time
import os
import sys
import threading
import mimetypes
import urllib.parse
import textwrap
from http.server import HTTPServer, SimpleHTTPRequestHandler
from xml.etree import ElementTree as ET
from functools import partial
import requests
# ═══════════════════════════════════════════════════════
# 配置区
# ═══════════════════════════════════════════════════════
# 本地 HTTP 媒体服务器端口
MEDIA_SERVER_PORT = 8088
# 播放结束轮询间隔(秒)
POLL_INTERVAL = 3
# SSDP 搜索超时(秒)
SSDP_TIMEOUT = 5
# ═══════════════════════════════════════════════════════
# 工具函数
# ═══════════════════════════════════════════════════════
def get_local_ip() -> str:
"""获取本机局域网 IP"""
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
s.connect(("8.8.8.8", 80))
return s.getsockname()[0]
finally:
s.close()
def guess_mime(filepath: str) -> str:
"""猜测文件的 MIME 类型"""
mime, _ = mimetypes.guess_type(filepath)
if mime:
return mime
ext = os.path.splitext(filepath)[1].lower()
ext_map = {
'.mp4': 'video/mp4',
'.mkv': 'video/x-matroska',
'.avi': 'video/x-msvideo',
'.mov': 'video/quicktime',
'.flv': 'video/x-flv',
'.wmv': 'video/x-ms-wmv',
'.ts': 'video/mp2t',
'.rmvb': 'video/vnd.rn-realvideo',
'.rm': 'video/vnd.rn-realvideo',
'.mp3': 'audio/mpeg',
'.flac': 'audio/flac',
'.wav': 'audio/wav',
'.aac': 'audio/aac',
'.jpg': 'image/jpeg',
'.png': 'image/png',
}
return ext_map.get(ext, 'video/mp4')
# ═══════════════════════════════════════════════════════
# SSDP 设备发现
# ═══════════════════════════════════════════════════════
SSDP_ADDR = "239.255.255.250"
SSDP_PORT = 1900
SSDP_MSEARCH = (
"M-SEARCH * HTTP/1.1\r\n"
f"HOST: {SSDP_ADDR}:{SSDP_PORT}\r\n"
'MAN: "ssdp:discover"\r\n'
"MX: 3\r\n"
"ST: urn:schemas-upnp-org:device:MediaRenderer:1\r\n".........完整代码请登录后点击上方下载按钮下载查看















网友评论0