Avisynth nedir?

değiştir

Avisynth, birçok eklentisi olan bir betik dilidir. Kötü olan ise sadece Windows'ta kullanılabilir olmasıdır. Avisynth 3 hem Windows'ta hem de Linux'ta çalışabilecektir, ancak henüz çok erkendir. Hakkında daha fazla bilgi avisynth2.sf.net'te bulunabilir.

AvsProxy nedir?

değiştir

AvsProxy, Windows'ta veya Wine altında Linux'ta çalışabilen küçük bir çalıştırılabilir dosyadır. Microsoft Visual C++ araçlarıyla derlenmelidir (Avisynth C++ ile). GNU C++ hiçbir şekilde VC++'yı sevmez. Ancak çok şükür ki Microsoft, VC++'nın Visual Studio Express adında ücretsiz bir sürümüne sahiptir.

AvsProxy, isminden de anlaşılabileceği üzere, Avisynth ve Avidemux arasındaki bir proxy'dir. Avisynth'ten frame'leri ister ve bu frame'leri bir soket arayüzünde mevcut hale getirir, bu sayede Avidemux bu frame'leri okuyabilir.

Söz dizimi basitçe şöyledir

avsproxy dosya.avs

veya

wine avsproxy.exe dosya.avs (eğer Wine çalıştırıyorsanız)

Not:

  • Hem 32 hem de 64 bit Linux altında, hem 32 bit hem de 64 bit Avidemux'la çalışır, SMP olup olmaması önemli değildir.
  • AvsProxy'yi başlatırken hatayla karşılaşmanız, Avisynth veya Wine altında Avisynth'in eksik-hatalı yüklendiği anlamına gelir.

Avidemux + AvsProxy

değiştir

AvsProxy'yi başlattıktan sonra AvsProxy, soketinin komutları almasına hizmet edecektir. Şimdi Avidemux'a o soketi baştan başa okuması gerektiğini anlatmalıyız. Bunu yapmak için aşağıdakileri içeren sahte bir video dosyası oluşturuyoruz:

ADAP
lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf
lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf
lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf
lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf
lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf
lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf
lkmlfdkmdlkdmlkdmflfkmkfmfdlkmflkfdmldkf

Bizim için sadece ADAP önemlidir. Geri kalan metin dosyanın aşırı şekilde küçük gözükmesini engellemek içindir. İlgili dosya okunurken Avidemux soket üzerinden AvsProxy'ye bağlanmaya çalışacaktır.

Örnek çıktı

değiştir
fx@dave64 /tmp $ wine avsproxy.exe 2mn.avs
AvsSocket Proxy, derivated from avs2yuv by  Loren Merritt
Loading Avisynth.dll
Avisynth.dll loaded
Env created
Importing..
23976023 / 1000000
Info
Width   :512
Height  :384
Fps1K   :23977
NbFrame :4592
Initializing WinSock
WinSock ok
Socket bound to port 9999
Waiting for client to connect...

Şimdi Avidemux sahte dosyayı okuduktan sonra bağlanıyor...

Client connected.
Received get info...
Get frame 0 (old:4294901760)

Bu örnek 64 bit SMP bir sistemde yapılmış ve sorun yaşanmamıştır.

Katkıda bulunanlar

değiştir

AvsProxy, Loren Merritt tarafından yazılmış olan avs2yuv'un türevidir.

Ayrıca bakınız

değiştir

Avisynth Proxy GUI - LoRd_MuldeR tarafından yazılmış AvsProxy için bir grafik arayüzü (Windows için)