У меня есть вот такой код
import telcom
import telebot
import ffmpeg
import cv2
import time
from platform import release
from moviepy.editor import *
from moviepy.video.tools.subtitles import SubtitlesClip
from moviepy.video.io.VideoFileClip import VideoFileClip
import os
token="token"
bot = telebot.TeleBot(token)
bol=0
def send():
def face_capture():
cascade_path = "C:\\Users\\Ridalit\\PycharmProjects\\teleDistortion\\haarcascades\\haarcascade_frontalface_default.xml"
clf = cv2.CascadeClassifier(cascade_path)
camera = cv2.VideoCapture('test.mp4')
vid = cv2.VideoCapture('test.mp4')
out = cv2.VideoWriter('fin.mp4', -1, 20.0, (384, 384))
while True:
_, frame = camera.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = clf.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=6,
minSize=(30, 30),
flags=cv2.CASCADE_SCALE_IMAGE
)
for (x, y, width, height) in faces:
cv2.rectangle(frame, (x, y), (x + width, y + height), (0, 0, 0), 5)
out.write(frame)
cv2.imshow('Super Faces', frame)
if cv2.waitKey(1) == ord('h'):
break
out.release()
camera.release()
cv2.destroyAllWindows()
def main():
face_capture()
if __name__ == '__main__':
main()
@bot.message_handler(content_types=['video_note'])
def download_image(message):
fileID = message.video_note.file_id
file_info = bot.get_file(fileID)
downloaded_file = bot.download_file(file_info.file_path)
with open("test.mp4", 'wb') as new_file:
new_file.write(downloaded_file)
send()
bot.polling()
Если просто вызвать функцию send(), то все ок, но если вызывать ее там где она сейчас (download_image), то выходит видео, которое не открывается. При том его вес ~1.92мб (зависит от длительности). Никак не могу понять в чем дело