Catatan
MoviePy baru-baru ini ditingkatkan ke v2.0, memperkenalkan perubahan besar yang dapat mengganggu. Anda dapat melihat dokumen v1 terakhir di sini namun berhati-hatilah karena v1 tidak lagi dipertahankan. Untuk informasi selengkapnya tentang cara memperbarui kode Anda dari v1 ke v2, lihat panduan ini.
MoviePy (dokumentasi online di sini) adalah pustaka Python untuk pengeditan video: pemotongan, penggabungan, penyisipan judul, pengomposisian video (alias pengeditan non-linier), pemrosesan video, dan pembuatan efek khusus.
MoviePy dapat membaca dan menulis semua format audio dan video paling umum, termasuk GIF, dan berjalan di Windows/Mac/Linux, dengan Python 3.9+.
Dalam contoh ini kita membuka file video, memilih subklip antara 10 dan 20 detik, menambahkan judul di tengah layar, dan menulis hasilnya ke file baru:
from moviepy import VideoFileClip , TextClip , CompositeVideoClip
# Load file example.mp4 and keep only the subclip from 00:00:10 to 00:00:20
# Reduce the audio volume to 80% of its original volume
clip = (
VideoFileClip ( "long_examples/example2.mp4" )
. subclipped ( 10 , 20 )
. with_volume_scaled ( 0.8 )
)
# Generate a text clip. You can customize the font, color, etc.
txt_clip = TextClip (
font = "Arial.ttf" ,
text = "Hello there!" ,
font_size = 70 ,
color = 'white'
). with_duration ( 10 ). with_position ( 'center' )
# Overlay the text clip on the first video clip
final_video = CompositeVideoClip ([ clip , txt_clip ])
final_video . write_videofile ( "result.mp4" )
Di balik terpal, MoviePy mengimpor media (bingkai video, gambar, suara) dan mengubahnya menjadi objek Python (array numpy) sehingga setiap piksel dapat diakses, dan efek video atau audio dapat didefinisikan hanya dalam beberapa baris kode (lihat efek bawaan misalnya).
Perpustakaan juga menyediakan cara untuk menggabungkan klip (penggabungan, memutar klip berdampingan atau di atas satu sama lain dengan transparansi, dll.). Klip terakhir kemudian dikodekan kembali ke mp4/webm/gif/etc.
Hal ini membuat MoviePy sangat fleksibel dan mudah didekati, meskipun lebih lambat dibandingkan menggunakan ffmpeg secara langsung karena operasi impor/ekspor data yang lebih berat.
Instal moviepy dengan pip install moviepy
. Untuk opsi instalasi tambahan, seperti FFMPEG khusus atau untuk pratinjau, lihat bagian ini. Untuk pengembangan, kloning repo itu secara lokal dan instal dengan pip install -e .
Dokumentasi online (di sini) secara otomatis dibuat pada setiap dorongan ke cabang master. Untuk membuat dokumentasi secara lokal, instal dependensi tambahan melalui pip install moviepy[doc]
, lalu buka folder docs
dan jalankan make html
.
MoviePy adalah perangkat lunak sumber terbuka yang awalnya ditulis oleh Zulko dan dirilis di bawah lisensi MIT. Proyek ini dihosting di GitHub, di mana setiap orang dipersilakan untuk berkontribusi dan membuka terbitan atau memberikan umpan balik. Silakan baca Pedoman Berkontribusi kami. Untuk meminta bantuan atau sekadar mendiskusikan penggunaan dan contoh, gunakan saluran Reddit kami.
Diinginkan pengelola! perpustakaan ini hanya bisa bertahan berkat keterlibatan pengelolanya, dan ada kalanya tidak ada di antara kita yang memiliki bandwidth yang cukup. Kami ingin mendengar tentang pengembang yang tertarik untuk membantu dan menyelesaikan beberapa masalah (terutama yang memengaruhi Anda) atau meninjau permintaan penarikan. Buka masalah atau hubungi kami langsung jika Anda tertarik. Terima kasih!