Cum să tai video cu filterul trim din FFmpeg
In this tutorial, you'll learn about Cum să tai video cu filterul trim din FFmpeg. We cover key concepts, practical examples, and best practices.
Problema
Vrei să tai o porțiune dintr-un video fără a re-encodinga totul, dar comanda ta cu -ss și -t produce tăieri la keyframe-uri inexacte sau durează prea mult.
Soluția rapidă
Fix 1: Trim cu Timpi Exacti
GRESIT — folosind -ss după input (căutare inexactă):
ffmpeg -i input.mp4 -ss 10 -t 5 output.mp4
# (taie la cel mai apropiat keyframe, nu exact la secunda 10)
CORECT — folosește filtrul trim pentru precizie:
ffmpeg -i input.mp4 -vf "trim=start=10:duration=5,setpts=PTS-STARTPTS" output.mp4
# trim exact la secunda 10 pentru 5 secunde
# setpts=PTS-STARTPTS resetează timestamp-urile la 0
Fix 2: Trim cu Cadre (Frame-uri)
# Taie de la cadrul 50 la cadrul 150:
ffmpeg -i input.mp4 -vf "trim=start_frame=50:end_frame=150,setpts=PTS-STARTPTS" output.mp4
Fix 3: Trim cu Start și End Time
# Taie de la secunda 10 la secunda 20:
ffmpeg -i input.mp4 -vf "trim=start=10:end=20,setpts=PTS-STARTPTS" output.mp4
Fix 4: Trim Audio (atrim)
ffmpeg -i input.mp4 -filter_complex \
"[0:v]trim=start=10:duration=5,setpts=PTS-STARTPTS[vout]; \
[0:a]atrim=start=10:duration=5,asetpts=PTS-STARTPTS[aout]" \
-map "[vout]" -map "[aout]" output.mp4
Fix 5: Trim cu Căutare Rapidă (Keyframe)
# Combină -ss pentru căutare rapidă cu trim pentru precizie:
ffmpeg -ss 9.5 -i input.mp4 -vf "trim=start=0.5:duration=5,setpts=PTS-STARTPTS" output.mp4
# -ss 9.5 sare aproape de poziția dorită (căutare rapidă)
# trim=start=0.5 corectează la poziția exactă (secunda 10)
Fix 6: Trim și Combinare cu Alte Filtre
ffmpeg -i input.mp4 -vf "trim=start=5:end=15,setpts=PTS-STARTPTS,scale=1280:720,fade=t=in:st=0:d=1" output.mp4
# Taie, scalează și adaugă fade in
Folosește DodaTech's Video Trimmer pentru a tăia video precis cu o interfață timeline.
Prevenție
- Folosește întotdeauna
setpts=PTS-STARTPTSdupă trim pentru a reseta timestamp-urile. - Pentru audio, folosește
asetpts=PTS-STARTPTSdupă atrim. - Combină
-sscu trim pentru încărcare rapidă și tăiere precisă. - Testează pe un segment scurt înainte de procesarea completă.
- Verifică durata output-ului cu ffprobe.
Greșeli comune
- Lipsa setpts după trim — timestamp-urile nemodificate cauzează probleme de sincronizare.
- Trim audio fără asetpts — audio-ul rămâne cu timestamp-urile originale.
- ss după -i în loc de înainte —
-i input.mp4 -ssdecodează de la început (lent). - end_frame în loc de end — amestecarea parametrilor de cadre și timpi.
- Trim fără durată specificată — trim de la start la sfârșitul video-ului.
Aceste greșeli apar frecvent în codul FFmpeg real. Contribuitorii DodaTech au identificat aceste modele prin analiza proiectelor open-source și a sistemelor de producție.
Exercițiu practic
Taie un fragment de 8 secunde începând de la secunda 12.5 dintr-un video, aplică scalare la 720p și fade in de 1 secundă.
Acest exercițiu întărește conceptele prezentate în acest ghid. Încearcă să-l implementezi înainte de a verifica soluțiile online.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro