Registered User
Join Date: Jun 2007
Posts: 39
|
How to display "µ" using Avisynth? Matrix grid comparison of videos
Hey,
I'm working with high speed videos and need / want to do side by side comparisons or matrix-grid comparisons.
I made a counter to display the runtime and two versions of how to compare several videos in a matrix grid. Everything works fine, except this
subtitle(mm+" µs", text_color=color, size=size, x=x, y=y)
returns an A with hat as in  in front of the µ. Videos are only a few hundred frames at 210000 kHz, meaning 4.7ish µs per frame. How can I fix this?
The weird thing is, that this is displayed correctly, so it must be related to "subtitle_framerate.avs":
Code:
FFVideoSource("testclip.avi")
Subtitle("test µ",x=10,y=6,size=sz,text_color=clr)
Here is the rest of the code:
Code:
##subtitle_framerate.avs
## Written by djcj
## Modified by h2
## Last change: Oct 5th 2016
function flowtime(clip last, string "mode", int "color", float "size", int "x", int "y") {
mode = Default(mode, "error")
global color = Default(color, $ffffff)
global size = size
global x = x
global y = y
/*
mode =
hmmss: 0:04:17
mmss: 04:17
Hz210000: 1 Frame = 4,762 µs
*/
# h:mm:ss
error = ScriptClip("""
subtitle("specify framerate in format (xyzkHz)", text_color=color, size=size, x=x, y=y)
""")
# h:mm:ss
hmmss = ScriptClip("""
fs = current_frame/framerate
h = string(floor((fs/60)*60)/3600, "%1.0f")
mm = string(floor(fs/60)-floor(fs/3600)*60, "%02.0f")
ss = LeftStr(string(fs-floor(fs/60)*60, "%06.3f"), 2)
subtitle(h+":"+mm+":"+ss, text_color=color, size=size, x=x, y=y)
""")
# mm:ss, Platzhalter und Vorlage für Makro Videos -- dafuer geht aber auch ShowTime()
mmss = ScriptClip("""
fs = current_frame/framerate
mm = string(floor(fs/60)-floor(fs/3600)*60, "%02.0f")
ss = LeftStr(string(fs-floor(fs/60)*60, "%06.3f"), 2)
subtitle(mm+":"+ss, text_color=color, size=size, x=x, y=y)
""")
# 210kHz...beliebig erweitern
Hz210000 = ScriptClip("""
fs = 4.762*current_frame
mm = string(fs, "%1.2f")
subtitle(mm+" µs", text_color=color, size=size, x=x, y=y)
""")
(mode=="hmmss") ? Eval("""
return hmmss
""") : \
(mode=="mmss") ? Eval("""
return mmss
""") : \
(mode=="Hz210000") ? Eval("""
return Hz210000
""") : \
Eval("""
return error
""")
}
And I display it in a matrix grid and some descriptions using avslib with
Code:
#LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\ffms2.dll")
Import("subtitle_framerate.avs")
# load required modules (requires AvsLIB)
LoadModule("avslib", "array", "core")
LoadModule("avslib", "filters", "stack")
#Jetzt gehts los
sz = 16
clr = $ffffff
a= FFVideoSource("testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr).\
flowtime(mode="Hz210000",size=20,x=10,y=132)
b= FFVideoSource("testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr).\
flowtime(mode="Hz210000",size=20,x=10,y=132)
c= FFVideoSource("testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr).\
flowtime(mode="Hz210000",size=20,x=10,y=132)
d= FFVideoSource("testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr).\
flowtime(mode="Hz210000",size=20,x=10,y=132)
e= FFVideoSource("testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr).\
flowtime(mode="Hz210000",size=20,x=10,y=132)
f= FFVideoSource("testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr).\
flowtime(mode="Hz210000",size=20,x=10,y=132)
#StackVertical(StackHorizontal(a, b),StackHorizontal(c,d))
#mit LoadModule AvsLib gehts
vids = ArrayCreate(a,b,c,d,e,f)
return Stack(vids, 2, 3)
or without AvsLib
Code:
#LoadPlugin("C:\Program Files (x86)\AviSynth\plugins\ffms2.dll")
Import("subtitle_framerate.avs")
# load required modules
#LoadModule("avslib", "array", "core")
#LoadModule("avslib", "filters", "stack")
#Jetzt gehts los
sz = 16
clr = $ffffff
a= FFVideoSource("E:\zzzzzzzzzz_avisynth\testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr)
b= FFVideoSource("E:\zzzzzzzzzz_avisynth\testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr)\
c= FFVideoSource("E:\zzzzzzzzzz_avisynth\testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr)
d= FFVideoSource("E:\zzzzzzzzzz_avisynth\testclip.avi").\
AddBorders(6,6,6,6).\
Subtitle("text1",x=10,y=6,size=sz,text_color=clr).\
Subtitle("text2",x=10,y=24,size=sz,text_color=clr)
StackVertical(StackHorizontal(a, b),StackHorizontal(c,d))
flowtime(mode="Hz210000",size=20,x=16,y=316)
|