View Single Post
Old 6th October 2016, 08:26   #1  |  Link
hristoff2
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)
hristoff2 is offline   Reply With Quote