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ştir

Dikkat 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ştir

Betiğ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ştir

Buradaki 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ştir
Komut 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ştir
Komut 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ştir
Komut 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

Ayrıca bakınız

değiştir