Vapoursynth Rehberi - Videoyu Önizleme ve Plugin Yükleme

Her şeyden önce burada yazdıklarımı tamamen gösteren bir videolu anlatım hazırladım ama isterseniz önce yazılı anlatımı okuyun sonra anlamazsanız videolu anlatımı izleyin.


 Bundan başka videolu anlatım yapılmayacaktır.


Kütüphanleri/Eklentileri Yükleme (Vsrepo Kullanımı)

Bir önceki iletide Vapoursynth'ın kurulumunu anlatmıştım, kurulumun nasıl yapılacağını bilmiyorsanız ilk önce lütfen bir önceki iletiyi okuyun.

Bir videoyu izleyebilmek için sıkıştırılmış video verisinin çözülmesi gereklidir. Sıkıştırılmış video verisine "raw bitstream" denir.

Bu raw bitstream'i okuyacak bir kütüphaneye ihtiyacımı vardır.

Benim en çok kullandıklarım "FfmpegSource2" ve "LWLibavSource"tur. 

Ben yukarıdaki videoda LWLibavSource kullandım.

LWLibavSource kütüphanesini yüklemek için Vapoursynth ile yüklenen Vsrepo'yu kullanacağız. Vsrepo, vapoursynth'ın sunduğu hizmetlerden biridir. İhtiyacımız olan kütüphaneleri tek bir komut satırı komutu ile kolayca yüklememizi sağlar.

Windows komut satırını açın ve Vsrepo'nun sorunsuz çalıştığından emin olmak için komut satırına "vsrepo -h" yazıp enter'a basın. Aşağıdaki gibi bir çıktı alıyorsanız sorun yok demektir.


Şimdi Vsrepo'nun kullanımı anlatayım.

Kütüphane/eklenti yükelemek için "install" argümanından sonra yüklemek istediğiniz kütüphane/eklenti isimlerini aralarında boşluk olarak sıralamalısınız.

vsrepo install eklenti_alan_ismi_1 eklenti_alan_ismi_2


Eğer ffms2'yi ve LWLibavSource'u aynı anda yüklemek istiyorsak aşağıdaki gibi yazmalıyız

vsrepo install ffms2 lsmas

Hangi kütüphaneleri/eklentileri yükleyebileceğiniz görmek için https://vsdb.top adresini ziyaret edin. Buradan yüklemek istediğiniz kütüphaneleri alan isimlerini (namespace) görebilirsiniz, vsrepo ile yükleme yaparken alan isimlerini (namespace) kullanılır. 

https://vsdb.top adresini ziyaret etmek istemezseniz "vsrepo available" komutunu kullanabilirsiniz, komutun kullanımı aşağıda açıklanmıştır.

Yükleme sonunda şöyle bir çıktı göreceksiniz.



Eğer yüklü tüm eklentileri listelemek istiyorsanız aşağıdaki komutu çalıştırın.
vsrepo installed

 


Eğer silmek istediğiniz bir kütüphane varsa aşağıdaki komutu çalıştırın.

vsrepo uninstall eklenti_alan_ismi


Vsrepo üzerinden Vapoursynth ile uyumlu ve yükleyebileceğiniz tüm kütüphaneleri/eklentileri listeleyip, bunların alan isimlerini (namespace) görmenizin bir yolu var.

Bunu yapmak için aşağıdaki komutu çalıştırın.

vsrepo available


Aşağıdaki komutlar ile yüklü olan tüm kütüphanelerinizi güncelleyebilirsiniz. Aşadağıda verdiğim sıra ile çalıştırın.

vsrepo update
vsrepo upgrade-all

 


Benim tüm paketlerim güncel olduğu için bu ekran görüntüsünde herhangi bir güncelleme görünmemektedir.

VirtualDub2 Kurulumu

Özel bir kurulum gerektirmez aşağıdaki adresten indiriğ, 32bit veya 64bit sürümlerinden kendinize uygun olanı çalıştırın.

VirtualDub2 indirme bağlantısı --> https://sourceforge.net/projects/vdfiltermod/

 Videoyu Önizleme 

Encode edeceğimiz video için yazacağımız her script'in sonuçlarını videoyu encode etmeden gözlemleyebilmemiz gerekmektedir.

Video üzerinde herhangi bir filtre uygulamdan sadece videoyu açmak için kullanabileceğimiz iki kütüphaneden yazımın başında bahsetmiştim, "FfmpegSource2" ve "LWLibavSource".

Bunlar videonun sıkıştırılmış verisi olan raw bitstream'i zaman damgalarından arınmış şekilde çözer ve videoyu ön izlemenizi sağlar. Zaman damgalarından arınmış olması karmaşık scriptler yazmak süretiyle ugulayabileceğiniz pek çok filtrenin sonucunu videoyu encode etmeden gözlemlemenizi sağlar.

Zaman damgalrından arınmış olması videoyu encode ettikten sonra video üzerinde büyük sorunların yaratacağını düşünebilirsiniz ama böyle bir sorun yoktur şayer videonuzun frame-rate'i sürekli değişkenlik göstermiyorsa. Her ne kadar önemli bir konular olsa da zaman dalgasından arınmışlıkla ilgili diğer konular üzerinde durmam şimdiden "Video Önizleme ve Plugin Yükleme" başlığı altında yazmak istediklerimden çok fazlasını yazmış bulunmaktayım. Bu konular başka bir güne kalsın.

Şimdi ilk vapoursynth script'imizi yazalım ve videonun ön izlemesini VirtualDub2 programı üzerinden alalım. Oluşan dosyaya istediğiniz gibi isim verin.


İlk önce sağ tıklayarak açılan menüden bir "VapourSynth Python Script" dosyası oluşturun. Bu dosya notepad ile açılıp düzenlenebilecek türden dosyadır, diğer bir deyişle bir text dosyasıdır yani herhangi bir metin editörü ile düzenlenebilir, uzuntısının ".vpy" olduğuna bakmayın. Oluşan dosyaya istediğiniz gibi isim verin.


Daha sonra VirtualDub2'yi çalıştırın program penceresinin yukarı tarafından "Tools" menüsünü bulun bu menüden "Script Editör"e tıklayın.


Açılan Scrip Editor penceresinden "Edit" menüsünü bulun ve bu menüden "Script Handling" sekmesinden "VapourSynth"a tıklayın, artık Vapoursynth scriplerinizin ön izlemesini VirtualDub2  ile yapabilirsiniz.


Script editor üzerinden aşağıdaki script'i çalıştıralım. Script Editorde script'iniz yazılıyken klavyenizden f5 tuşuna basarsanız script'inize göre şekil alan videonun ön izlemesi VirtualDub2 üzerinde görünür. Tabii aşağıda yazan script sadece mevcut videonuz ne haldeyse onu gösterecek kadar basit bir script.

from vapoursynth import core

video = core.lsmas.LWLibavSource(r"test_vid.mp4")

video.set_output()


Bu iletide anlatacaklarım bu kadar, bundan sonra Vapoursynth çıktısını Ffmpeg ile encode etmeyi göstereceğim.

Yorum Gönder

0 Yorumlar