Avidemux/avsproxy

Vikikitap, özgür kütüphane

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)