forked from ChocolateApp/Chocolate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconvert.py
48 lines (44 loc) · 1.74 KB
/
convert.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import os, subprocess
# Définissez le chemin du dossier contenant les fichiers vidéos à réduire
# par exemple :
#folder_path = "C:\\Videos\\"
folder_path = r"E:\\Séries\\The Mentalist"
# Itérez sur tous les dossiers dans le dossier
allSeasons = [ f for f in os.listdir(folder_path) if os.path.isdir(os.path.join(folder_path,f)) ]
print(folder_path)
print(allSeasons)
for seasons in allSeasons:
allEpisodes = [ f for f in os.listdir(os.path.join(folder_path,seasons)) if os.path.isfile(os.path.join(folder_path,seasons,f)) ]
print(allEpisodes)
for filename in allEpisodes:
# Vérifiez que le fichier est une vidéo en utilisant son extension de fichier
if (filename.endswith(".mp4") or filename.endswith(".mkv") or filename.endswith(".avi")):
# Construisez le chemin complet du fichier vidéo en utilisant le chemin du dossier et le nom de fichier
filepath = f"{folder_path}\\{seasons}\\{filename}"
newFilepath, file_extension = os.path.splitext(filepath)
newFilepath += f"_compressed.{file_extension}"
# Utilisez ffmpeg pour réduire la taille du fichier vidéo en utilisant un taux de bits constant
command = [
"ffmpeg",
"-i",
filepath,
"-c",
"copy",
"-c:v",
"h264_nvenc",
"-qp",
"0",
"-c:a",
"copy",
"-y",
"-vsync",
"0",
"-crf",
"22",
"-pix_fmt",
"yuv420p",
"-b:v",
"5M",
f"{newFilepath}"
]
subprocess.run(command)