Python chemin d'accès introuvable
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde, j'ai reçu un code Python que j'avais demandé à un ami. Il permet de modifier légèrement une vidéo dans un dossier INPUT et de la ressortir changée dans un dossier OUTPUT ensuite. Sur son PC ça marche mais sur mon PC à moi j'ai un problème avec le chemin des fichiers.
Voici le code Python =>
import cv2 import numpy as np import random from moviepy.editor import VideoFileClip def get_exposure_preset_parameters(preset): exposure_presets = { "Subtil": (0.9, 1.1), "Léger": (0.8, 1.2), "Modérée": (0.7, 1.3), "Fort": (0.5, 1.5), } return exposure_presets.get(preset, (0.8, 1.2)) def get_brightness_preset_parameters(preset): brightness_presets = { "Subtil": (-5, 5), "Léger": (-10, 10), "Modérée": (-15, 15), "Fort": (-30, 30), } return brightness_presets.get(preset, (-10, 10)) def get_contrast_preset_parameters(preset): contrast_presets = { "Subtil": (0.9, 1.1), "Léger": (0.8, 1.2), "Modérée": (0.7, 1.3), "Fort": (0.5, 1.5), } return contrast_presets.get(preset, (0.8, 1.2)) def get_saturation_preset_parameters(preset): saturation_presets = { "Subtil": (0.8, 1.2), "Léger": (0.7, 1.3), "Modérée": (0.5, 1.5), "Fort": (0.4, 1.6), } return saturation_presets.get(preset, (0.7, 1.3)) def print_video_parameters( video_index, exposure_factor, brightness_factor, contrast_factor, saturation_factor, mirror_effect, noise_level, rotation_angle ): print( f"Vidéo {video_index + 1} générée avec succès, " "métadonnées supprimées, protection anti-shadow activé." ) print(f"Paramètres utilisés :") print(f"Exposition : {exposure_factor}") print(f"Luminosité : {brightness_factor}") print(f"Contraste : {contrast_factor}") print(f"Saturation : {saturation_factor}") print(f"Effet miroir : {'Activé' if mirror_effect else 'Désactivé'}") print(f"Niveau de bruit : {noise_level}") print(f"Angle de rotation : {rotation_angle}\n") def add_noise(frame, level): h, w, c = frame.shape noise = np.random.normal(0, level, (h, w, c)) noisy_frame = np.clip(frame + noise, 0, 255) return noisy_frame.astype(np.uint8) def rotate_video(frame, angle): h, w, _ = frame.shape center = (w // 2, h // 2) rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0) rotated_frame = cv2.warpAffine(frame, rotation_matrix, (w, h)) return rotated_frame def adjust_video_parameters_with_presets( input_video_path, output_video_path, exposure_preset, brightness_preset, contrast_preset, saturation_preset, mirror_effect=False, noise_level=None, rotation_angle=0 ): exposure_range = get_exposure_preset_parameters(exposure_preset) brightness_range = get_brightness_preset_parameters(brightness_preset) contrast_range = get_contrast_preset_parameters(contrast_preset) saturation_range = get_saturation_preset_parameters(saturation_preset) NUMBER_OF_VIDEOS = 5 cap = cv2.VideoCapture(input_video_path) width = int(cap.get(3)) height = int(cap.get(4)) fps = cap.get(5) fourcc = cv2.VideoWriter_fourcc(*'XVID') print(f"Chemin de la vidéo d'entrée : {input_video_path}") print(f"Chemin de sortie : {output_video_path}") print(f"Largeur de la vidéo : {width}") print(f"Hauteur de la vidéo : {height}") print(f"FPS de la vidéo : {fps}") print(f"Effet miroir : {'Activé' if mirror_effect else 'Désactivé'}") print(f"Niveau de bruit : {noise_level}\n") for i in range(NUMBER_OF_VIDEOS): exposure_factor = random.uniform(*exposure_range) brightness_factor = random.uniform(*brightness_range) contrast_factor = random.uniform(*contrast_range) saturation_factor = random.uniform(*saturation_range) out = cv2.VideoWriter( f"{output_video_path}_{i}.mp4", fourcc, fps, (width, height) ) while True: ret, frame = cap.read() if not ret: break frame = cv2.convertScaleAbs( frame, alpha=contrast_factor, beta=brightness_factor ) hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) hsv[:, :, 1] = hsv[:, :, 1] * saturation_factor frame = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR) if mirror_effect: frame = cv2.flip(frame, 1) if noise_level is not None: frame = add_noise(frame, noise_level) frame = rotate_video(frame, rotation_angle) out.write(frame) out.release() print_video_parameters( i, exposure_factor, brightness_factor, contrast_factor, saturation_factor, mirror_effect, noise_level, rotation_angle ) cap.set(cv2.CAP_PROP_POS_FRAMES, 0) cap.release() cv2.destroyAllWindows() def remove_metadata(input_video_path, output_video_path): video_clip = VideoFileClip(input_video_path) video_clip.write_videofile( output_video_path, codec="libx264", audio_codec="aac", remove_temp=True, logger=None ) # Exemple d'utilisation avec effets miroir, # bruit et rotation choisis manuellement input_video_path = 'c:/Users/Eleve/Desktop/BOT_Tiktok/Tiktok_INPUT/Fichier_entree.mp4' output_video_path = 'c:/Users/Eleve/Desktop/BOT_Tiktok/Tiktok_OUTPUT/Fichier_sortie.mp4' exposure_preset = "Subtil" brightness_preset = "Léger" contrast_preset = "Modérée" saturation_preset = "Léger" rotation_angle = 0 # Angle de rotation en degrés adjust_video_parameters_with_presets( input_video_path, output_video_path, exposure_preset, brightness_preset, contrast_preset, saturation_preset, mirror_effect=False, noise_level=None, rotation_angle=rotation_angle )
Merci D'avance
Coloration syntaxique ajoutée par la modération.
Windows / Chrome 120.0.0.0
- Le chemin d'accès spécifié est introuvable
- Acces rapide - Guide
- Accès refusé - Guide
- Trousseau d'accès iphone - Guide
- Accès presse papier - Guide
- Chaque fichier en ligne sur le web a un chemin d’accès sur un serveur. c’est le cas du fichier du logo présent sur la page de cette ville. quel est le chemin de ce fichier à partir de la racine du site ? ✓ - Forum Réseau
5 réponses
Au vu de la description et sans plus de précision, je suspecte qu
input_video_path et/ou output_video_path ne pointe pas sur un fichier/dossier qui existe.
bonjour,
tu n'as pas précisé le message d'erreur précis.
peux-tu tester ceci?
import os def pf(path): r=os.path.exists(path) if r : print(path + " existe.") else: print (path + " n'existe pas.") chem1='c:/Users/Eleve/Desktop/BOT_Tiktok/Tiktok_INPUT/Fichier_entree.mp4' pf(chem1) chem1='c:/Users/Eleve/Desktop/BOT_Tiktok/Tiktok_OUTPUT pf(chem2)
Bonjour,
Montre nous le message d'erreur.
Tu as un utilisateur Windows qui s'appelle Eleve sur ton pc ? Et c'est avec cet utilisateur que tu es connecté pour exécuter le programme ?
En mode ligne de commande, lance la commande suivante :
dir c:\Users\Eleve\Desktop\BOT_Tiktok\Tiktok_INPUT\
Remarque, d'après le prompt que l'on voit sur ton image
tu es déjà dans C:\users\Elève
tu peux toujours taper
cd Desktop\BOT_Tiktok\Tiktok_INPUT
et quand le prompt ressemblera à ça:
C:\users\Elève\Desktop\BOT_Tiktok\Tiktok_INPUT >
tu tapera
dir
Sur ton image du 31/12 à 17h48, on voyait le prompt suivant:
C:\users\Elève>
montrant que tu est dans le dossier Elève
Je te proposais donc le 1er janvier à 11h57, de te placer dans le dossier
Desktop\BOT_Tiktok\Tiktok_INPUT
en faisant
cd Desktop\BOT_Tiktok\Tiktok_INPUT
Or, dans ce message-ci, on voit sur ton image le prompt
C:\users\Elève\Desktop\BOT_Tiktok\Tiktok_INPUT>
montrant que tu es déjà dans Tiktok_INPUT !!!!
donc, évidemment, si tu fais, depuis ce dossier:
cd Desktop\BOT_Tiktok\Tiktok_INPUT
ca ne marche pas !
Il n'existe pas de dossier
C:\users\Elève\Desktop\BOT_Tiktok\Tiktok_INPUT\Desktop\BOT_Tiktok\Tiktok_INPUT
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionCe qui est sur, c'est que si le dossier s'appelle vraiment "Elève"
avec un accent grave sur le "e", il faut écrire:
input_video_path = 'C:\Users\Elève\Desktop\BOT_Tiktok\Tiktok_INPUT\Fichier_entree.mp4'
Idem avec output_video_path ....
D'accord ça s'est changé c bon.
Regarde quand je cherche l'emplacement de ma vidéo dans mes fichier :
Et aussi j'ai testé de tapé ça dans le terminal :
C:/Users/Elève/Desktop/BOT_Tiktok/Tiktok_INPUT/Fichier_entree.mp4
et ça m'a ouvert la vidéo.
Donc ça c'était pour le input video et maintenant quand je tape :
C:/Users/Elève/Desktop/BOT_Tiktok/Tiktok_INPUT/Fichier_sortie.mp4
pour le output video bah ça me dit ça. (sachant que la vidéo "Fichier_entree.mp4 n'existe pas contrairement au input "Fichier_entree.mp4") :
Oui c'est exactement ça le problème. J'ai pourtant bien mis le fichier au bonne endroit et mis le bon chemin vers le fichier. Mais ça bloque... Je sais vraiment plus quoi faire
Je suis sur un PC Windows 11, je ne sais pas si ça a un lien avec la notation du chemin