优化一下时长计算问题

This commit is contained in:
liuwei
2025-05-21 10:11:01 +08:00
parent c2a2e42a66
commit 93f7b5f714

View File

@@ -237,7 +237,15 @@ class MessageMixin(WechatAPIClientBase):
media_info = MediaInfo.parse(video_path)
else:
raise ValueError("video should be str, bytes, or path")
duration = media_info.tracks[0].duration
# 获取视频时长
duration = None
for track in media_info.tracks:
if track.track_type == "Video" and track.duration is not None:
duration = track.duration / 1000 # 将毫秒转换为秒
break
if duration is None:
duration = 1
self.logging.error(f"无法从视频文件获取时长: {video}")
# get image base64
if isinstance(image, str):
@@ -256,7 +264,7 @@ class MessageMixin(WechatAPIClientBase):
self.logging.info("开始发送视频: 对方wxid:{} 视频base64略 图片base64略 预计耗时:{}", wxid, predict_time)
async with aiohttp.ClientSession() as session:
json_param = {"Wxid": self.wxid, "ToWxid": wxid, "Base64": "data:video/mp4;base64,"+vid_base64,
json_param = {"Wxid": self.wxid, "ToWxid": wxid, "Base64": "data:video/mp4;base64," + vid_base64,
"ImageBase64": "data:image/jpeg;base64," + image_base64,
"PlayLength": duration}
# self.logging.debug(f"json_param:{json_param}")