Pora w kolejnym artykule z Pythona przyjrzeć się następnemu pakietowi 😄! W języku Python znajdziesz niejaki "moviepy" zdolny do obsługiwania plików multimedialnych 🎥! Dowiesz się jak skorzystać z tego pakietu oraz jak wykonywać podstawowe operacje na obrazach, dźwiękach i klipach wideo ❤️! Zapraszam wszystkich zainteresowanych!
OTO W JAKI SPOSÓB PAKIET "MOVIEPY" W JĘZYKU PYTHON POZWALA NA OBSŁUGĘ PLIKÓW MULTIMEDIALNYCH!
Wpierw przedstawię parę zdań o samym pakiecie, zanim przejdziemy do jego ukazania w kodzie źródłowym 📜.
CZYM JEST "MOVIEPY" W JĘZYKU PYTHON?
W Pythonie, "moviepy" jest pakietem przeznaczonym do podstawowej obsługi plików multimedialnych, czyli obrazów, plików dźwiękowych i krótkich filmów 🎥. Za jego pośrednictwem, możesz przy użyciu kodu w Pythonie wykonać proste operacje na wskazanym pliku bądź utworzyć nowy plik tego typu po dokonaniu jakichś modyfikacji 🔥.
Pamiętajmy, że "moviepy" pozwala na dużo więcej operacji, na temat których możesz dowiedzieć się z jego oficjalnej dokumentacji 📖. My tutaj przyjrzymy się tylko pewnej części, aby pokazać jak rozpocząć korzystanie z tego pakietu i później abyś mógł/mogła sam(a) zgłębiać w dalszym ciągu ten pakiet 😉.
Zaczniemy od samej instalacji, ponieważ "moviepy" nie jest dostępne od razu wraz z zainstalowaniem Pythona 💾.
JAK ZAINSTALOWAĆ PAKIET "MOVIEPY" W JĘZYKU PYTHON?
Otwórz wiersz poleceń znany jako "cmd" (najlepiej z uprawnieniami administratora 🔓) i uruchom następujące polecenie 👇:
pip install moviepyTo uruchomi instalację proces pobierania pakietu "moviepy" przez instalator pakietów Pythona, a Tobie pozostaje jedynie zaczekanie dłuższej chwili 🚀. Pakiet wymaga pokaźnej liczby innych zależności, stąd całość może wymagać pobrania ok. 50 MB łącznie, natomiast przy dobrym sprzęcie i łączu internetowym, nie powinno to trwać dłużej niż parę sekund ⌚.
Jeżeli Twój system nie rozpoznaje hasła "pip", musisz zerknąć na zmienne środowiskowe i sprawdzić czy w zmiennej "Path" znajduje się wpisana ścieżka do zainstalowanego Pythona 🔍.
Gdy ujrzysz taki komunikat (albo podobnej postaci) 👇:
Successfully installed colorama-0.4.6 decorator-5.3.1 imageio-2.37.4 imageio_ffmpeg-0.6.0 moviepy-2.2.1 numpy-2.5.2 pillow-11.3.0 proglog-0.1.12 python-dotenv-1.2.2 tqdm-4.70.0to dowód, że pakiet "moviepy" został poprawnie zainstalowany ❤️! To teraz możemy przejść do ukazania korzystania z niego w praktyce ⏩!
JAK SKORZYSTAĆ Z PAKIETU "MOVIEPY" W JĘZYKU PYTHON?
Po otwarciu swojego skryptu w dowolnym edytorze, wstaw poniższą instrukcję u samej góry, aby zaimportować pakiet 👇:
import moviepyTym sposobem, uzyskujesz dostęp do całości pakietu 🔓. Gdy interesuje Cię tylko jakaś jego część (wartość i/lub funkcja), możesz skorzystać z alternatywnego zapisu importu z dodatkowym słowem "from" 👇:
from moviepy import [wartość/funkcja występująca w module/pakiecie]W Pythonie, wybór jednego z dwóch powyższych zapisów importu, ma później znaczenie podczas odwoływania się do wartości/funkcji pakietu ⚠️! Więcej informacji zostanie zawartych w osobnych artykułach ℹ️. Wszystkie późniejsze przykłady
Mamy wstęp za sobą, więc czas na demonstrację możliwości pakietu "moviepy" 🎉! Pokażę krótko obsługę dla 3 następujących rodzajów plików 👇:
- obraz graficzny,
- dźwięk,
- klip wideo.
Aby nie uczynić tego materiału jakimś ogromnym, poprzestanę tylko na samych podstawach, czyli jak wgrać plik danego typu i go otworzyć we właściwy sposób ℹ️. W każdym z nich początek jest identyczny - korzystamy z odpowiedniego konstruktora klasy, tworzymy obiekt, a w parametrze podajemy ścieżkę względną do pliku razem z odpowiednim rozszerzeniem 💡. Przypomnę, że ścieżka względna polega na tym, że "katalogiem-korzeniem" jest ten sam katalog, w którym posiadasz skrypt Pythona, na którym działasz 🙂.
Zaczynamy 😊!
JAK ZAIMPORTOWAĆ OBRAZ GRAFICZNY DO OBSŁUGI PRZEZ PAKIET "MOVIEPY" W JĘZYKU PYTHON?
Celem zaimportowania pliku graficznego do Pythona, należy utworzyć obiekt klasy "ImageClip" przy użyciu konstruktora i podać w parametrze bezbłędną ścieżkę względną do tego pliku wraz z rozszerzeniem 💡.
To jest prosty przykład przy założeniu, że obraz jaki chcemy załadować do programu jest rozszerzenia PNG i znajduje się w tym samym katalogu, co nasz skrypt 👇:
my_image_clip = moviepy.ImageClip('obraz.png')To wystarczy, aby załadować obrazek do programu i skorzystać z niego do dalszych czynności 😊. A najbardziej fundamentalną jest oczywiście, wyświetlenie go 😄!
Plik graficzny może zostać załadowany do programu korzystając z konstruktora klasy "ImageClip".
Zobaczmy jak to zrobić 👀!
JAK WYŚWIETLIĆ OBRAZ GRAFICZNY PRZEZ PAKIET "MOVIEPY" W JĘZYKU PYTHON?
W "moviepy", plik graficzny jest technicznie pojedynczą klatką filmową, a nie obrazkiem samym w sobie, stąd należy dokonać lekkiej modyfikacji instrukcji tworzącej obiekt klasy "ImageClip" i dodać niezbędny argument nazwany o nazwie "duration", aby przypisać wartość liczbową oznaczającą czas trwania "filmu" w formie pojedynczej klatki 👇:
my_image_clip = moviepy.ImageClip('obraz.png', duration=3)Dopiero wtedy możemy skorzystać z metody "preview", aby móc ujrzeć wskazany obraz w nowym oknie, który sam się zamknie po podanej liczbie sekund w parametrze "duration" ✅:
my_image_clip.preview()Poza samym wyświetlaniem, niewiele więcej można zdziałać importując plik graficzny. Więcej informacji znajdziesz na tej stronie oficjalnej dokumentacji "moviepy" 📖.
Celem wyświetlenia podglądu wczytanego pliku graficznego, należy dopisać dodatkowy argument nazwany do konstruktora klasy o nazwie "duration" i przypisać dowolną dodatnią liczbę całkowitą (bez ułamka), a następnie wywołać metodę "preview".
Teraz plik dźwiękowy 🎵!
JAK ZAIMPORTOWAĆ DŹWIĘK DO OBSŁUGI PRZEZ PAKIET "MOVIEPY" W JĘZYKU PYTHON?
Mając zaimportowany pakiet "moviepy", tworzymy sobie obiekt klasy "AudioFileClip" za pomocą konstruktora i przypisujemy do zmiennej, aby móc się na niego powoływać w kolejnych instrukcjach ✅. W wywołaniu wprowadzamy parametr w postaci ścieżki względnej do pliku dźwiękowego razem z pasującym rozszerzeniem.
Oto przykład (zakładamy, że plik znajduje się w tym samym katalogu co skrypt, który posiada ten kod) 👇:
my_audio_file_clip = moviepy.AudioFileClip('dźwięk.wav')To wszystko 👌.
Konstruktor klasy "AudioFileClip" pozwala na wczytanie do programu dowolnego pliku dźwiękowego.
Przejdźmy do wyjaśnienia sobie jak go teraz odtworzyć ▶️!
JAK ODTWORZYĆ DŹWIĘK PRZEZ PAKIET "MOVIEPY" W JĘZYKU PYTHON?
Wystarczy wywołać metodę "audiopreview" bezpośrednio ze zmiennej typu "AudioFileClip", którą utworzyliśmy wcześniej 👇:
my_audio_file_clip.audiopreview()Gdy uruchomisz program, to w tle usłyszysz dźwięk, który został zaimportowany 😊. Może się zdarzyć, że minie dłuższa chwila zanim dźwięk zostanie odtworzony z uwagi na konieczność jego odczytania ℹ️.
Oprócz wczytywania dźwięków z plików, można też generować pliki dźwiękowe powstałe z efektów. Więcej informacji na temat obsługi od strony dźwiękowej znajdziesz w oficjalnej dokumentacji "moviepy" 📖.
Wywołanie metody "audiopreview" sprawi, że dźwięk przypisany do zmiennej typu "AudioFileClip", zostanie odtworzony podczas działania programu.
Został nam klip wideo 🎥!
JAK ZAIMPORTOWAĆ KLIP WIDEO DO OBSŁUGI PRZEZ PAKIET "MOVIEPY" W JĘZYKU PYTHON?
Gdy masz już zaimportowany pakiet "moviepy" u góry skryptu, stwórz sobie nową zmienną i korzystając z konstruktora typu "VideoFileClip", utwórz nowy obiekt tej klasy, a w parametrze wprowadź ścieżkę względną do klipu filmowego jaki chcesz mieć załadowany przez program, razem z jego rozszerzeniem.
To jest przykład zakładający, że klip wideo znajduje się w tym samym katalogu, w którym znajduje się skrypt z tym kodem 👇:
my_video_file_clip = moviepy.VideoFileClip('film.mp4')Już. Możemy korzystać do woli 😅!
Aby wczytać wybrany klip wideo, należy utworzyć obiekt na podstawie konstruktora klasy "VideoFileClip".
Pokażę Ci teraz jak prosto się odtwarza taki film!
JAK ODTWORZYĆ KLIP WIDEO PRZEZ PAKIET "MOVIEPY" W JĘZYKU PYTHON?
Po utworzeniu obiektu typu "VideoFileClip" dla klipu wideo, możesz wywołać metodę "preview", aby "moviepy" odtworzyło film zaraz po przejściu do tej instrukcji 👇:
my_video_file_clip.preview()Bądź świadomy(-a) tego, że to nie działa identycznie jak odtwarzacz wideo w systemie operacyjnym, stąd też obraz może spowalniać przy dużych rozdzielczościach klipu wideo ⚠️!
Odtworzenie załadowanego klipu wideo jest możliwe przy użyciu metody "preview".
Jeżeli chodzi o manipulacje, klip wideo można modyfikować na parę ciekawych sposobów 👇:
- przycięcie filmu o pewien fragment,
- zmiana prędkości odtwarzania filmu,
- wyeksportowanie filmu do pliku o formacie GIF,
- wyeksportowanie tego samego filmu po wprowadzeniu różnych modyfikacji np. przycięciu o 5 sekund.
Szczegóły związane z obsługą klipów wideo znajdziesz w oficjalnej dokumentacji "moviepy" 📖.
To wszystko 😁! Pakiet "moviepy" posiada jeszcze bardziej daleko idące możliwości obsługi wszystkich wymienionych rodzajów plików, natomiast nie o to chodzi, aby próbować to wszystko tu opisać co do każdego zagadnienia 😊. Od tego są dokumentacje, a tu chodziło mi tylko o wprowadzenie Cię w ten temat 👍!