Avidemux/Betik yazımı
Avidemux 2.1 sürümünden beri betik yönetimi için SpiderMonkey ECMAScript dilini kullanır. Proje dosyaları ECMAScript tabanlıdır.
Özel betiklerinizi üretmek için ECMAScript'i kullanabilirsiniz. Bu sayfa Avidemux komutlarını anlatacaktır.
Bir betik dosyası üretme
değiştirDikkat edeceğiniz ilk şey bir Avidemux ECMAScript projesinin "//AD" ile başlamasıdır. Örneğin şunun gibi:
//AD //--automatically built-- //--Project: /tmp/l.js var app = new Avidemux();
Muhtemelen Avidemux sınıfının bir nesnesini yaratmak isteyeceksiniz, bu nesne sayesinde dahili Avidemux fonksiyonlarına erişebileceksiniz.
Bu işlem new Avidemux()
komutuyla yapılmaktadır. Artık bütün örneklerde app
değişkeni nesneyi temsil ediyor.
Uyarı: Sayı olmayan parametrelerin çoğu çift parantez arasına alınmalıdır.
Bir proje dosyası kaydedip bu dosyayı özel betiklerimiz için başlangıç noktası kabul etmek genel anlamda iyi bir fikirdir.
Fonksiyonları kullanma
değiştirBetiğimizin standart baş kısmını yazdıktan sonra (baş kısmını yukarıda yazmıştık) bütün fonksiyonları tanımladığımız değişkenin sonuna '.' (nokta) işareti koyarak çağırabiliriz. Örneğin, var app = new Avidemux(); satırı sayesinde artık app.fonksiyon satırını kullanabiliriz. Buradaki fonksiyon çağırmak istediğimiz fonksiyonun adıdır. Avidemux'taki bütün fonksiyonları listelemek için bu sayfanın sonraki bölümlerine bakın.
Bazı örnek fonksiyon çağrıları:
- app.load("/home/user/Video.mpg.idx");
- app.clearSegments();
- app.addSegment(0,0,20084);
- app.markerA=4898;
- app.markerB=4902;
- app.video.addFilter("crop","left=10","right=0","top=4","bottom=4");
- app.video.addFilter("resize","w=704","h=468","algo=0");
- app.video.addFilter("fluxsmooth","temporal_threshold=7","spatial_threshold=7");
Ek fonksiyonlar
değiştirBuradaki komutlar Avidemux sınıfının parçası değildir. Direkt olarak (nesne oluşturmadan) erişilebilirler.
Komut | Parametre | Parametre | Dönüş | Açıklama |
---|---|---|---|---|
displayError | metin | İçinde ilgili metin olan bir hata ileti kutusu gösterilir | ||
displayInfo | metin | İçinde ilgili metin olan bir bilgi kutusu gösterilir | ||
fileReadSelect | dosya adı | Dosya seçicisini okuma için açar | ||
fileWriteSelect | dosya adı | Dosya seçicisini yazma için açar | ||
allFilesFrom | klasör | Belirtilen klasördeki dosya sayısı | Klasör ayrıştırmayı başlat | |
nextFile | dosya adı | Bir sonraki dosya adını döndürür |
Avidemux fonksiyonları
değiştirKomut | Parametre | Parametre | Dönüş | Açıklama |
---|---|---|---|---|
load | "dosya adı" | Belirtilen video açılır (öncekilerin hepsini silerek) | ||
append | "dosya adı" | Belirtilen video aktif videonun/videoların sonuna eklenir | ||
save | "dosya adı" | Açık video belirtilen dosya adıyla kaydedilir | ||
saveDVD | "dosya adı" | Çıktı formatı MPEG PS olarak ayarlanıp dosya kaydedilir | ||
saveOGM | "dosya adı" | Çıktı formatı OGM olarak ayarlanıp dosya kaydedilir | ||
clearSegments | 0 frame kalan komuttan sonra bütün segmentler silinir | |||
addSegment | referans | start,len | Kaynak referanstan yeni bir segment eklenir, len frame'leriyle başlayan frame'den başlar | |
goToTime | saat | dakika,saniye | saat:dakika:saniye'deki frame'e gidilir (saat, dakika ve saniye ikişer haneli olarak girilmelidir) | |
forceUnpack | Otomatik Unpack ayarlanır, dosyayı açmadan önce bu komut çalıştırıldığında dosya unpacked olacaktır | |||
setContainer | "kapsayıcı" | Çıktının kapsayıcısı ayarlanır (kapsayıcı " ve " arasında olmalıdır) - olası seçenekler şunlardır: PS, ES, TS, OGM, AVI, AVI_DUAL, AVI_UNP |
Ayrıca değiştirmek isteyebileceğiniz iki değişken daha vardır:
- markA: A işaretçisi ayarlanır (örn: app.markA=100; A işaretçisini 100. frame'e koyar)
- markB: B işaretçisi ayarlanır
Avidemux video fonksiyonları
değiştirKomut | Parametre | Parametre | Dönüş | Açıklama |
---|---|---|---|---|
addFilter | "filtre adı" | "filtre parametresi" | Filtreyi ekler | |
clearFilters | Bütün video filtreleri silinir | |||
Codec | "kodek adı" | "kodek yapılandırması"[,"kodek ekstrası"] | Kodlayıcıyı seçin, kodek yapılandırmasına "CBR=bit oranı", "CQ=qz", "2PASS=boyut" veya "SAME=0" koyun | |
saveJpeg | "dosya adı" | Aktif frame, JPEG dosyası olarak kaydedilir | ||
getWidth | sayı | Video genişliğini döndürür | ||
getHeight | sayı | Video yüksekliğini döndürür | ||
getFps1000 | sayı | Video frame oranı * 1000'i döndürür | ||
setFps1000 | sayı | Video framerate * 1000 ayarlanır | ||
getFCC | metin | Metin olarak video FourCC'sini döndürür | ||
isVopPacked | sayı | Videonun paketli bit akımı olup olmadığını döndürür | ||
hasQpel | sayı | Videonun Qpel'i olup olmadığını döndürür | ||
hasGmc | sayı | Videonun GMC'si olup olmadığını döndürür | ||
setPostProc | tip | threshold,strength | Postprocessing ayarlanır |
Avidemux ses fonksiyonları
değiştirKomut | Parametre | Parametre | Dönüş | Açıklama |
---|---|---|---|---|
scanVBR | MP3 VBR için gerekli olan zaman haritası inşa edilir | |||
save | "dosya adı" | Ses parçası belirtilen dosya adıyla kaydedilir | ||
load | "tür" | "dosya adı" | Harici bir parça olarak ses yükleyin, tür dosya türüdür - AC3, MP3, WAV, dosya adı açılmak istenen dosyanın adıdır | |
getNbTracks | sayı | Frame'deki ses parçalarının sayısını döndürür | ||
setTrack | track | Track'i ayarla |
Eğer nesne app=new Avidemux() ile oluşturulmuşsa yukarıdaki gibi değiştirebileceğiniz iki değişken daha var demektir. Bunlara app.audio.xxx=yyy ile erişebilirsiniz:
- normalize: 1 (normalize aktifleştirilir), 0 (aktifleştirilmez)
- downsample: downsample yapılır (48 kHz 44.1 kHz'e düşürülür)
- resample: yeni frekans ayarlanır
- delay: ms cinsinden gecikme ayarlanır
- film2pal: 1 (film2pal aktifleştirilir), 0 (aktifleştirilmez)
- mono2stereo: mono stereo'ya dönüştürülür