搜索 社区服务 统计排行 帮助
  • 927阅读
  • 1回复

[分享]Avisynth 語法分享

楼层直达
级别: 版主
注册时间:
2002-12-02
在线时间:
0小时
发帖:
3002
終於免去找 DirectShowSource(getclip_file,fps=xx) 之 xx 數字

clip 的屬性運算證實如下
從以下導論:
Audiolength/時間 = Audiorate
Framecount/Framerate = 時間(S)
所以 Framerate = Framecount/時間
所以 時間 = Audiolength/Audiorate
得到 Framerate = Framecount/(Audiolength/Audiorate)

因此 寫一function傳出 clip.Framerate
就可得到 xx = clip.Framerate
以後就免去填寫 xx 的前置作業偵測

可能有人看不懂,沒關係因為這只是一項發現
weilai's Avisynth範本pack 自動安裝版將可省去
File_Path =
File_Name =
Frame_rate =
填寫
請大家拭目以待

级别: 版主
注册时间:
2002-12-02
在线时间:
0小时
发帖:
3002
只看该作者 1楼 发表于: 2004-01-29
部分關鍵性函式如下
Function Try_Framerate (String F_N, float "F_r") {
Try {
v = DirectShowSource(F_N, default(F_r, 30))
time_numA=v.Framecount
time_numB=v.Audiolength/v.Audiorate
vclip_Framerate=time_numA/time_numB
msg_str=String(vclip_Framerate)
}
catch(msg_str) {
}
return msg_str
}

#####主程序開始#####
Str_Frame_rate = Try_Framerate(Work_Movie_File, 30)
Frame_rate = Value(Str_Frame_rate)
DirectShowSource(F_N, Frame_rate)

第一行之30是假設值設計上隨意(亦可省去變成 ...Try_Framerate(Work_Movie_File)
使用上以後只需要填寫 F_N 就好了(檔案路徑暨檔名)
不再需要用 AVIcodec 測得 [FPS]

快速回复

限150 字节
上一个 下一个