CodeGym /Kurslar /Python SELF AZ /Video və audio kliplərin yaradılması və işlənməsi: səsin ...

Video və audio kliplərin yaradılması və işlənməsi: səsin əlavə edilməsi və səs ilə videonun export edilməsi

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

1. Videoklip və audioklip

Mühazirəyə xoş gəlmisiniz, burada həqiqi video sehrbazlarına çevriləcəyik və görüntüləri və səsləri birləşdirərək möcüzələr yaratmağı öyrənəcəyik. Əlbəttə, Python və MoviePy kitabxanasının köməyi ilə! Bu günkü məqsəd — video və audiokliplərlə işləməyi öyrənmək, video səs əlavə etmək və nəticəni şık bir fayl olaraq ixrac etməkdir.

Belə ki, səbrinizi hazırlayın, diqqətinizi toplayın və irəli — Python ilə videomontajın zirvələrinə!

Əsaslardan başlayaq — videoklip yaratmaqdan. Həqiqi maestro olaraq, videodan kadrları çıxarmağı, onlara səs əlavə etməyi və əlbəttə ki, bütün bunları ixrac etməyi bacarmalıyıq. Bu iş üçün MoviePy əla seçimdir.

Video və audiokliplərlə işləmək üçün əsas siniflər

MoviePy-də multimedia ilə işləmək üçün əsas siniflər bunlardır:

  • VideoFileClip — videoklip yaratmaq və onlarla işləmək üçün.
  • AudioFileClip — audiokliplərlə işləmək üçün.

Videoklip obyektinin yaradılması

Əvvəlcə VideoFileClip sinifini istifadə edərək videoklip yaradaq. Bu sinif video faylını açmağa və redaktə etmək üçün müxtəlif parametrlərə və metodlara giriş imkanı verir.


from moviepy.editor import VideoFileClip

# Video faylını açmaq və videoklip yaratmaq
video_clip = VideoFileClip("sample_video.mp4")

# Videokip haqqında məlumat çap etmək
print("Videonun müddəti:", video_clip.duration, "saniyə")
print("Videonun ölçüləri:", video_clip.size)

Bu nümunədə:

  • VideoFileClip("sample_video.mp4") video faylını açır və dəyişən video_clip obyektini yaradır, hansı ki, səs və digər dəyişikliklər əlavə etmək üçün istifadə oluna bilər.
  • video_clip.durationvideo_clip.size videonun müddəti və ölçüləri haqqında məlumat verir.

Boş videoklipin yaradılması

Bəzən təmiz bir səhifədən başlamaq lazım olur — sıfırdan klip yaratmaq. MoviePy bunu ColorClip çağırışı ilə sadə edir.


from moviepy.editor import ColorClip

# 640x360 ölçülü və 5 saniyə müddətli qırmızı klip yaratmaq
blank_clip = ColorClip(size=(640, 360), color=[255, 0, 0], duration=5)

blank_clip.write_videofile("blank_clip.mp4", fps=25)

Bu, qırmızı rəngdə 5 saniyəlik video yaradacaq. Sadə, amma potensial olaraq çox perspektivlidir?

Videoklipdən audioun çıxarılması

Əvvəlcə yüklənmiş videoklipdən səsi çıxaraq. Əgər sizə original səs izini bəyənirsinizsə və onu ayrıca istifadə etmək istəyirsinizsə bu faydalı ola bilər.


# Videodan səs çıxarmaq
audio = video.audio

# Səsi fayla saxlamaq
audio.write_audiofile("extracted_audio.mp3")

İndi sizdə videodan alınmış səs faylı var. Bu, tək səs müşayiəti lazım olduqda faydalıdır.

Audio klip obyektinin yaradılması

MoviePy həmçinin audioklip əlavə etməyə imkan verir. Bunun üçün AudioFileClip sinifindən istifadə olunur, hansı ki, audio faylını açır və videokliplərə bənzər şəkildə onun üzərində işləməyə imkan verir.


from moviepy.editor import AudioFileClip

# Audio faylını açmaq və audioklip yaratmaq
audio_clip = AudioFileClip("background_music.mp3")

# Audio müddəti haqqında məlumat çap etmək
print("Audionun müddəti:", audio_clip.duration, "saniyə")

2. Video və audio klipləri montaj edirik

Videoya audio əlavə etmək

İndi artıq bizdə videoklip və audioklip var, onları birləşdirib videoya səs yolunu əlavə edə bilərik. MoviePy-də bu set_audio() metodu ilə edilir.


# Audioklipi videoklipə əlavə etmək
video_with_audio = video_clip.set_audio(audio_clip)

Bu kod yeni video_with_audio obyektini yaradır, burada audioklip audio_clip videoklipə video_clip inteqrasiya olunub.

Audioklipin müddətinin təyin edilməsi

Bəzən audioklipin və videoklipin müddəti fərqli ola bilər. Audioklipin videoya uyğun gəlməsi üçün subclip() metodundan istifadə edərək səsi kəsmək və ya səsin videonun sonuna qədər təkrarlanmasını təmin etmək mümkündür.

Audio klipi videonun uzunluğuna uyğun kəsmək


# Audioklipi videonun müddətinə uyğun kəsmək
audio_clip_trimmed = audio_clip.subclip(0, video_clip.duration)

# Kəsilmiş audioklipi videoya əlavə etmək
video_with_audio = video_clip.set_audio(audio_clip_trimmed)

Bu nümunədə:

  • audio_clip.subclip(0, video_clip.duration) videoklipin müddətinə uyğun kəsilmiş yeni bir audioklip yaradır.
  • set_audio() metodu kəsilmiş səsi videoya əlavə edir.

Videonun müddətinə uyğun olaraq audioklipi təkrarlamaq

Əgər səsin videonun sonuna qədər təkrarlanmasını istəyirsinizsə, fx() metodunu loop funksiyası ilə istifadə edin.


from moviepy.audio.fx.all import loop

# Audioklipi videonun müddətinə qədər təkrarlamaq
audio_clip_looped = loop(audio_clip, duration=video_clip.duration)

# Təkrarlanan audioyu videoya əlavə etmək
video_with_audio = video_clip.set_audio(audio_clip_looped)

Bu nümunədə:

  • loop(audio_clip, duration=video_clip.duration) səsin təkrarlandığı və videonun bitməsinə qədər davam etdiyi bir səs yaradır.
  • Təkrarlanan səsi set_audio() metodu ilə videoya əlavə edirik.

3. Audio əlavə edilmiş videonun eksportu

Audio ilə videoklipin eksportu

Əmin olun ki, sizdə libx264 kimi video üçün və aac kimi audio üçün lazımlı codec-lər quraşdırılıb, çünki onlar olmadan bu möhtəşəm əsəri heç kim görməyəcək.

Videonu eksport edərkən müxtəlif parametrləri təyin edə bilərik, məsələn, təsvir ölçüsü və kadr tezliyi:


# Yeni parametrlərlə videonun eksportu
video_with_audio.write_videofile(
    "output_video_with_audio.mp4",
    codec='libx264',
    audio_codec='aac',
    fps=30,
    preset='medium',
    bitrate="2000k"
)

Bu nümunədə:

  • write_videofile("output_video_with_audio.mp4", codec="libx264", audio_codec="aac") video ilə audionu MP4 formatında saxlayır, libx264 video codec-i və aac audio codec-indən istifadə edir.

Ta-da! Şah əsərimiz YouTube, Vimeo ya da dostlara göndərmək üçün hazırdır.

Səs faylını videoya əlavə etdikdən sonra nəticəni yeni bir fayl kimi eksport edə bilərsiniz. Bunun üçün write_videofile() metodundan istifadə olunur.

Audio səviyyəsini tənzimləmək

Videoda audio səviyyəsini tənzimləmək üçün volumex() metodundan istifadə edə bilərsiniz. Bu metod səsliliyi müəyyən bir göstəriciyə dəyişir. Məsələn, səsliliyi azaltmaq istəyirsinizsə, 1-dən az bir dəyər, artırmaq üçün isə 1-dən böyük bir dəyər daxil edin.

Nümunə: Audionun səsliliyini azaltmaq


# Audio səsliliyini iki dəfə azaltmaq
audio_clip_quieter = audio_clip.volumex(0.5)

# Azaldılmış səsliklə audioları videoya əlavə etmək
video_with_audio = video_clip.set_audio(audio_clip_quieter)
video_with_audio.write_videofile("output_video_quieter.mp4")

Bu nümunədə:

  • audio_clip.volumex(0.5) audionun səsliliyini ilkin səviyyənin 50%-nə endirir.
  • set_audio()write_videofile() bu audioları videoya əlavə edir və nəticəni saxlayır.

4. Tam nümunə

Səsli video yaradılması və parametrlərin tənzimlənməsi

İndi baxdığımız bütün addımları bir nümunədə birləşdirəcəyik. Burada videoya səs əlavə edəcəyik, onu lazım olan uzunluğa qədər kəsəcəyik, səsin səsini tənzimləyəcəyik və son videonu ixrac edəcəyik.


from moviepy.editor import VideoFileClip, AudioFileClip
from moviepy.audio.fx.all import loop

# Video faylın açılması
video_clip = VideoFileClip("sample_video.mp4")

# Audio faylın açılması
audio_clip = AudioFileClip("background_music.mp3")

# Audionun səsini tənzimləmə
audio_clip_adjusted = audio_clip.volumex(0.7)

# Audionun videonun sonuna qədər loop edilmə
audio_clip_looped = loop(audio_clip_adjusted, duration=video_clip.duration)

# Videoya səs əlavə edilməsi
video_with_audio = video_clip.set_audio(audio_clip_looped)

# Səsli videonun ixrac edilməsi
video_with_audio.write_videofile("final_output_with_audio.mp4", codec="libx264", audio_codec="aac")

Bu nümunədə:

  1. Biz video və audio yükləyirik.
  2. volumex() metodu vasitəsilə audionun səviyyəsini tənzimləyirik.
  3. Audionu videonun uzunluğuna uyğun loop edirik.
  4. Videoya səs əlavə edirik.
  5. Səsli videonu final_output_with_audio.mp4 faylına ixrac edirik.

Tipik səhvlər və onların həlli

MoviePy ilə işləyərkən bəzi səhvlər, sanki pis ruhlar kimi, yaradıcılığımıza mane ola bilər. Məsələn, audiocodec problemləri və ya format uyğunsuzluğu. Səsin müasir kodlaşdırması üçün audio_codec='aac' istifadə edin, bu çox şeyi həll edəcək.

Əgər video və ya audio ixrac olunmursa və kod düzgün görsənirsə, lazım olan codec-lərin quraşdırıldığından əmin olun. MoviePy videoları və səsləri işləmək üçün FFMPEG-i istifadə edir, onu yükləyin ya da yeniləyin.

İndi videolar yaratmağı və ixrac etməyi bacarırsınız, imkanlar sonsuzdur. Bu bacarıqları müxtəlif layihələrdə istifadə edə bilərsiniz: təhsil videolarından tutmuş marketinq materiallarına qədər. İş müsahibələrində videolarla avtomatlaşdıra bilmək bacarığı sizin üstünlüyünüz ola bilər. Hər günlük işlərdə isə multimedia məzmununun emalında çoxlu zaman qənaət edə bilərsiniz.

Proqramlaşdırma və yaradıcılıq sehrini praktikada tətbiq etməyin vaxtıdır və dünyanı öz videolarınızla heyrətləndirin. Və unutmayın, bir müdrik proqramçı dediyi kimi: "Əgər kod işləmir, daha çox kofein əlavə edin, əgər işləyir — daha çox pafos əlavə edin!"

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION