Convertire file video con Python
Versione italiana
Convertire File Video con Python
Ecco i metodi più efficaci per convertire video tra diversi formati usando Python:
1. Usando MoviePy (il metodo più semplice)
from moviepy.editor import VideoFileClip
# Convertire MP4 a GIF
= VideoFileClip("input.mp4")
video "output.gif")
video.write_gif(
# Convertire AVI a MP4
= VideoFileClip("input.avi")
video "output.mp4", codec='libx264') video.write_videofile(
2. Con FFmpeg (via subprocess - più formati supportati)
import subprocess
# Convertire MKV a MP4
subprocess.run(['ffmpeg', '-i', 'input.mkv',
'-c:v', 'libx264', '-preset', 'fast',
'-c:a', 'aac', '-b:a', '192k',
'output.mp4'
])
3. Conversione batch (più file alla volta)
from moviepy.editor import VideoFileClip
import os
= "videos/"
input_folder = "converted/"
output_folder
=True)
os.makedirs(output_folder, exist_ok
for file in os.listdir(input_folder):
if file.endswith((".mp4", ".avi")):
= VideoFileClip(f"{input_folder}/{file}")
video
video.write_videofile(f"{output_folder}/{os.path.splitext(file)[0]}.mp4",
='libx264',
codec='aac'
audio_codec )
4. Cambiare risoluzione e bitrate
from moviepy.editor import VideoFileClip
= VideoFileClip("input.mp4")
video = video.resize(height=480) # Riduci a 480p
video
video.write_videofile("output.mp4",
="1000k", # Bitrate video
bitrate="128k" # Bitrate audio
audio_bitrate )
5. Installazione librerie necessarie
pip install moviepy ffmpeg-python
# Su Linux/Ubuntu anche:
sudo apt install ffmpeg
Formati supportati:
- Input: MP4, AVI, MOV, MKV, FLV, WMV, GIF, ecc.
- Output: MP4, GIF, AVI, MOV, WEBM, ecc.
Esempi avanzati:
1. Estrarre audio da video
from moviepy.editor import VideoFileClip
= VideoFileClip("input.mp4")
video "audio.mp3") video.audio.write_audiofile(
2. Tagliare e convertire
from moviepy.editor import VideoFileClip
= VideoFileClip("input.mp4")
video # Taglia i primi 10 secondi
= video.subclip(0, 10)
short_clip "short_output.mp4") short_clip.write_videofile(
3. Convertire con parametri specifici
subprocess.run(['ffmpeg', '-i', 'input.mov',
'-c:v', 'libvpx-vp9', # Codec video
'-crf', '30', # Qualità (0-63)
'-b:v', '0', # Bitrate variabile
'-c:a', 'libopus', # Codec audio
'output.webm'
])
Consigli:
- Per massima compatibilità usa MP4 con codec H.264
- Per qualità senza perdite usa MOV/AVI con codec non compresso
- Per il web usa WEBM/MP4 con codec VP9/H.265
- FFmpeg offre più controllo ma è più complesso
- MoviePy è più semplice ma meno flessibile
English version
Convert Video Files with Python
Here are the most effective methods for converting videos between different formats using Python:
1. Using MoviePy (the simplest method)
from moviepy.editor import VideoFileClip
# Convert MP4 to GIF
= VideoFileClip("input.mp4")
video "output.gif")
video.write_gif(
# Convert AVI to MP4
= VideoFileClip("input.avi")
video "output.mp4", codec='libx264') video.write_videofile(
2. With FFmpeg (via subprocess - more formats supported)
import subprocess
# Convert MKV to MP4
subprocess.run(['ffmpeg', '-i', 'input.mkv',
'-c:v', 'libx264', '-preset', 'fast',
'-c:a', 'aac', '-b:a', '192k',
'output.mp4'
])
3. Batch conversion (multiple files at a time)
from moviepy.editor import VideoFileClip
import os
= "videos/"
input_folder = "converted/"
output_folder
=True)
os.makedirs(output_folder, exist_ok
for file in os.listdir(input_folder):
if file.endswith((".mp4", ".avi")):
= VideoFileClip(f"{input_folder}/{file}")
video
video.write_videofile( f"{output_folder}/{os.path.splitext(file)[0]}.mp4",
='libx264',
codec='aac'
audio_codec )
4. Change resolution and bitrate
from moviepy.editor import VideoFileClip
= VideoFileClip("input.mp4")
video = video.resize(height=480) # Reduce to 480p
video
video.write_videofile("output.mp4",
="1000k", # Video bitrate
bitrate="128k" # Audio bitrate
audio_bitrate )
5. Install required libraries
pip install moviepy ffmpeg-python
# On Linux/Ubuntu also:
sudo apt install ffmpeg
Supported formats:
- Input: MP4, AVI, MOV, MKV, FLV, WMV, GIF, etc.
- Output: MP4, GIF, AVI, MOV, WEBM, etc.
Advanced Examples:
1. Extract audio from video
from moviepy.editor import VideoFileClip
= VideoFileClip("input.mp4")
video "audio.mp3") video.audio.write_audiofile(
2. Trim and convert
from moviepy.editor import VideoFileClip
= VideoFileClip("input.mp4")
video # Trim the first 10 seconds
= video.subclip(0, 10)
short_clip "short_output.mp4") short_clip.write_videofile(
3. Convert with specific parameters
subprocess.run(['ffmpeg', '-i', 'input.mov',
'-c:v', 'libvpx-vp9', # Video codec
'-crf', '30', # Quality (0-63)
'-b:v', '0', # Variable Bitrate
'-c:a', 'libopus', # Audio Codec
'output.webm'
])
Tips:
- For maximum compatibility, use MP4 with the H.264 codec.
- For lossless quality, use MOV/AVI with the uncompressed codec.
- For the web, use WEBM/MP4 with the VP9/H.265 codec.
- FFmpeg offers more control but is more complex.
- MoviePy is simpler but less flexible.
Puoi seguire anche il mio canale YouTube https://www.youtube.com/channel/UCoOgys_fRjBrHmx2psNALow/ con tanti video interessanti
I consigli che offriamo sono di natura generale. Non sono consigli legali o professionali. Quello che può funzionare per una persona potrebbe non essere adatto a un’altra, e dipende da molte variabili.
Per supportare e far crescere il canale in modo semplice, rapido e gratuito, potete fare acquisti su amazon usando il mio link di affiliazione.
Questo implica che io prenda una commissione ogni volta che qualcuno faccia un qualsiasi acquisto utilizzando il mio link di affiliazione https://amzn.to/4cgJ3Ls
Commenti
Posta un commento