# get video properties width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) fps = cap.get(cv2.CAP_PROP_FPS) total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
# mask: white rectangle over watermark mask = np.zeros((height, width), dtype=np.uint8) mask[y:y+h, x:x+w] = 255 telegram bot to remove watermark from video
# re-encode to MP4 (H.264) ( ffmpeg .input(temp_raw, framerate=fps) .output(output_path, vcodec='libx264', crf=18, preset='fast') .overwrite_output() .run(quiet=True) ) # get video properties width = int(cap
cap.release() out.release()
# watermark box in pixels x = int(watermark_region[0] * width) y = int(watermark_region[1] * height) w = int(watermark_region[2] * width) h = int(watermark_region[3] * height) "rb") as f: await update.message.reply_video(video=f
if success and os.path.exists(output_path): with open(output_path, "rb") as f: await update.message.reply_video(video=f, caption="✅ Watermark removed!") else: await update.message.reply_text("❌ Failed to remove watermark. Try a different video.")