Video vágás automatizálás
Ajánlott kódolható vágóeszközök
1. MoviePy (Python könyvtár)
Mire jó: Teljes körű videószerkesztés Python kódból (vágás, összefűzés, feliratozás, effektek, hangcsere).
Előny: Olvasható, szintaktikailag tiszta kód, gyors feladat-automatizálás.
Háttér: Az FFmpeg motorra épül, de megszünteti a komplex parancssori szintaxis nehézségeit.
2. FFmpeg (Parancssori eszköz)
Mire jó: Vágás, konvertálás, méretezés és kódolás közvetlenül PowerShell-ből vagy Batch-ből.
Előny: Rendkívül gyors, nem igényli az egész videó újratömörítését (lossless vágás stream copy-val).
Háttér: Az iparági alapeszköz, amelyet szinte minden videós szoftver háttérmotorként használ.
Koncepció és architektúra
Miért kódolható a videó? A grafikus felületekkel (GUI) szemben a kódalapú videóvágás reprodukálható, skálázható és automatizálható pipeline-okat tesz lehetővé.
Eszközkészlet: FFmpeg (CLI layer), MoviePy (Python abstraction layer), Auto-Editor (algoritmikus vágás).
Előkészület
# csomag telepítés
pip install moviepy
Google colab környezetben
Google Colab tökéletesen alkalmas erre, mivel egy előre konfigurált Python környezetet biztosít a felhőben, ingyenes GPU/CPU erőforrásokkal.
Minták:
## forrás video állomány kódból történő feltöltése google drive könyvtárból
from google.colab import drive
drive.mount('/content/drive')
## ---------------
## parancssorbol 05-10 mp közötti rész kimentszése
!ffmpeg -ss 00:00:05 -i /content/kukoricaszem.mp4 -to 00:00:10 -c copy /content/kukoricaszem_5.mp4
## ---------------
## csomag betültése
from moviepy.editor import VideoFileClip
# 1. Videó betöltése
clip = VideoFileClip("/content/kukoricaszem.mp4")
# 2. Vágás: 00:05-től 00:15-ig (másodpercben megadva)
vagott_clip = clip.subclip(3, 8)
# 3. Hangerő módosítása 50%-ra
vagott_clip = vagott_clip.volumex(0.5)
# 4. Kimentés új fájlba (H.264 / AAC kódolással)
vagott_clip.write_videofile("/content/kimenet_vagott.mp4", codec="libx264", audio_codec="aac")
# 5. Erőforrások felszabadítása
clip.close()
vagott_clip.close()
## ---------------
## elkészült video file letöltése (laptopra)
from google.colab import files
files.download('kimenet_vagott.mp4')
## ---------------
## Több klip összefűzése áttűnéssel (MoviePy)
from moviepy.editor import VideoFileClip, concatenate_videoclips
clip1 = VideoFileClip("intro.mp4").subclip(0, 5).crossfadeout(1.0)
clip2 = VideoFileClip("fomult.mp4").subclip(10, 20).crossfadein(1.0)
final_clip = concatenate_videoclips([clip1, clip2], method="compose")
final_clip.write_videofile("osszefuzott.mp4", codec="libx264", audio_codec="aac")
## ---------------
## Dinamikus vízjel ráhelyezése (MoviePy)
from moviepy.editor import VideoFileClip, ImageClip, CompositeVideoClip
video = VideoFileClip("bemenet.mp4")
watermark = (ImageClip("logo.png")
.set_duration(video.duration)
.resize(height=50)
.set_opacity(0.6)
.set_position(("right", "bottom")))
final = CompositeVideoClip([video, watermark])
final.write_videofile("vizjelezett.mp4", codec="libx264", audio_codec="aac")
## ---------------
## Gyorsítás és hangcsere (MoviePy)
from moviepy.editor import VideoFileClip, AudioFileClip
clip = VideoFileClip("bemenet.mp4").subclip(0, 10)
gyorsitott = clip.speedx(2.0) # 2x-es sebesség
uj_hang = AudioFileClip("zene.mp3").subclip(0, gyorsitott.duration)
final = gyorsitott.set_audio(uj_hang)
final.write_videofile("gyors_zenel.mp4", codec="libx264", audio_codec="aac")
Python kódpélda feltöltésre és azonnali vágásra
A Colab egyetlen cellájába bemásolható és futtatható az alábbi kód,
amely felugró ablakban kéri be a videót a laptopról, elvégzi a vágást,
majd kimenti az eredményt:
import os
from google.colab import files
from moviepy.editor import VideoFileClip
# 1. Videó feltöltése a lokális gépről
print("Kérlek, válaszd ki a feltöltendő MP4 fájlt a gépedről...")
uploaded = files.upload()
# Feltöltött fájlnév azonosítása
input_filename = list(uploaded.keys())[0]
print(f"\nSikeresen feltöltve: {input_filename}")
# 2. Vágási művelet végrehajtása (MoviePy)
# Példa: 00:05 és 00:20 másodperc közötti szakasz kivágása
clip = VideoFileClip(input_filename)
vagott_clip = clip.subclip(5, 20)
# 3. Kimentés a Colab munkakönyvtárába
output_filename = "kimenet_lokalisbol.mp4"
vagott_clip.write_videofile(output_filename, codec="libx264", audio_codec="aac")
# Erőforrások lezárása
clip.close()
vagott_clip.close()
# 4. Elkészült videó automatikus letöltése a laptopra (opcionális)
print("\nFeldolgozás kész. Letöltés indítása...")
files.download(output_filename)
Megjegyzések
Megjegyzés küldése