Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

OS X'de 60fps playback


GERGE

Öne çıkan mesajlar

  • Genel Yönetici
Su konuda konusmustuk biraz: http://forum.paticik.com/read.php?10,7892018,page=10#msg-8030644

Ben de oturup nasil hem benim dedigim mpv yonteminin, hem de Xenus'un daha iyi oldugunu soyledigi SVP yonteminin nasil kullanilacagini yazayim dedim. 60 fps degil bu arada tam olarak, onun icin ekstra bir ayar gerekiyor asagida yazdim, duz haliyle ekran tazelenme hizinda oynatiyor.

Once mpv kurmaniz gerek, burada anlattim onu, tekrar gecmiyorum uzerinden: http://muratcansimsek.com/2015/04/13/os-xde-mpv-kurulumu-ve-kullanimi/ Burada nasil kurulacagi ve kullanilacagi anlatiliyor.

Bu haliyle duz kullanirsaniz benim o konuda bahsettigim mpv tarzi interpolation ile kullanmis olursunuz. SVP tarzi yontem var bir de, bunlarin ne oldugu surada yazilmis: https://github.com/mpv-player/mpv/wiki/Interpolation

Bu haline bakin iyice, sonra asagida anlatacaklarimi yapip SVP tarzi ile kiyaslayin.

SVP tarzi interpolation icin MVTools kullanacagiz, SVP'de onu kullaniyor zaten. Ilk once mpv.conf ve input.conf dosyalarini degistirmeliyiz ama.

mpv.conf'da su degisiklikleri payin:

[list]
[*] vo satirini su hale getirin: vo=opengl-hq:dither-depth=auto:fbo-format=rgba16:icc-profile-auto:waitvsync
[*] vf satirini su hale getirin: vf=vapoursynth=~/.config/mpv/vapoursynth/interpolation.py
[*] display-fps=60 satirini silin.
[/list]
input.conf'a iki satir eklenecek:
P vf toggle vapoursynth=~/.config/mpv/vapoursynth/interpolation.py
G vf toggle gradfun
Bunlarla P tusu (buyuk harf p, mpv kisayollarda buyuk-kucuk harf ayrimi yapiyor) SVP tarzi interpolation'i kapatip acacak, G tusu da gradfun filtresini kapatip acacak.

Simdi MVTools'u yuklemeniz gerek. Terminal'de su komutu verin:
brew install --HEAD mvtools
Son yapilmasi gereken Vapoursynth icin MVTools'u calistiracak bir script yazmak. Ayarlarda gosterdigimiz ~/.config/mpv/vapoursynth/interpolation.py scripti bu. Terminal'de su komutlari girin:
cd .config/mpv
mkdir vapoursynth
touch vapoursynth/interpolation.py
open vapoursynth/interpolation.py
TextEdit ile bir sayfa acilacak, icine sunu kopyalayip kaydedin:
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(path='/usr/local/Cellar/mvtools/HEAD/lib/libmvtools.dylib')

clip = video_in

srcfps = round(float(container_fps))
plyfps = round(float(display_fps))

if not (container_fps > 59):
clip = core.std.AssumeFPS(clip, fpsnum=srcfps)
sup = core.mv.Super(clip, pel=2, hpad=16, vpad=16)
bvec = core.mv.Analyse(sup, truemotion=True, blksize=16, isb=True, chroma=True, search=3, searchparam=1)
fvec = core.mv.Analyse(sup, truemotion=True, blksize=16, isb=False, chroma=True, search=3, searchparam=1)
clip = core.mv.BlockFPS(clip, sup, bvec, fvec, plyfps, mode=3)

clip.set_output()
print("Source fps", srcfps)
print("Playback fps", plyfps)
Bu kadar. Artik vidyolar 60fps oynayacak actiginizda. Ayarlar epey duzgun ama sisteminiz kaldirirsa hpad, vpad ve blksize degerlerini 8 yapabilirsiniz. Script vidyonun ve ekranin fps'si ile tazelenme degerini otomatik algiliyor, vidyonun fps'sini ekran tazelenme hizina cikartiyor. Eger ekran tazelenme hizinizdan baska bir fps degeri ile oynatmak isterseniz vidyoyu plyfps'ye o degeri yazin. Soyle: plyfps = 120

OS X'de bundan baska 60fps vidyo oynatma yontemi yok benim bildigim. Kolay gelsin.
Link to comment
Sosyal ağlarda paylaş

  • Genel Yönetici
Daha iyi bir script. HZ ve kaynak fps'sini daha keskin hesapliyor, kalite de biraz daha iyi.


import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(path='/usr/local/Cellar/mvtools/HEAD/lib/libmvtools.dylib')

clip = video_in

src_num = int(float(container_fps) * 1e3)
src_den = int(1e3)
play_num = int(float(display_fps) * 1e3)
play_den = int(1e3)

if not (container_fps > 59):
clip = core.std.AssumeFPS(clip, fpsnum=src_num, fpsden=src_den)
sup = core.mv.Super(clip, pel=2, sharp=2, rfilter=4, hpad=16, vpad=16)
bvec = core.mv.Analyse(sup, truemotion=True, blksize=16, isb=True, chroma=True, search=3)
fvec = core.mv.Analyse(sup, truemotion=True, blksize=16, isb=False, chroma=True, search=3)
clip = core.mv.BlockFPS(clip, sup, bvec, fvec, num=play_num, den=play_den, mode=3, thscd2=48)

clip.set_output()
print("Source fps", (src_num/src_den))
print("Playback fps", (play_num/play_den))
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...