08« 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.»10

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告  /  tb: --  /  cm: --  /  △top

關於avi加載mov格式水印的avs編寫問題 

記在這裡只是防止下回忘記的啊哈哈orz
反正像我這樣的人是一輩子不准備跟avs相互理解了
不過活還是要做的,於是就這麼空手套白狼上了= =+
在網上搜的教程只有avi掛avi水印,實踐起來倒是比較方便的
1、avi片源掛載avi的logo水印的avs命令

以下是網絡複製產物,自己稍微改了下
如果是掛avi的logo水印,可以用這個avs



#以下示例是将视频水印加载到第60秒显示(请注意片源的帧数,这里假定片源和LOGO的帧率是一样的都是29.97帧,否则LOGO的开始时间不能准确定义到第60秒)
#原理:水印开始前为一个视频片源,开始时与片源合并为一个视频片源,水印结束后到影片结束为一个视频片断,然后将三个片源合并为一个视频,如需将水印显示两次原理相同

#截取需合并显示LOGO片段视频,改变颜色环境为RGB32模式,即从第60秒(60秒*29.97帧=1799)开始显示LOGO(22秒)(开始帧1799+660))
v1=AviSource("I:\1.avi").ConvertToRGB32().trim(1799,2459)

#加载动态LOGO,改变颜色环境为RGB32模式
#colorkeymask($000000,30)這個是解決背景影問題的,具體調數還沒摸清

v2=AviSource("I:\logo.avi").ConvertToRGB32().colorkeymask($000000,30)


#将V1需显示的片断和LOGO进行合并,255是透明度,30,30分别是显示的X轴和Y轴的位置,一定要使用RGB32颜色模式,其它模式不能解决透明层的问题


V3=Layer(v1,v2,"add",255,30,30).ConvertToRGB32()

#加载完整片源
V4=AviSource("I:\1.avi").ConvertToRGB32()
#合并,从0-1798是正常片源,然后加合并的那一段,最后加上合并后未加LOGO的段(从2460帧开始,参考V1结束的帧)

ALL=V4.trim(0,1798)+V3+V4.trim(2460,0)

return ALL





2、avi片源掛載mov格式的logo水印的avs編寫

掛載mov的主要問題是插件
必須安裝QuickTime6.5版(我裝的6.5.2)
需要有QTReader.vfp插件
主要就是v2那段置換一下就可以了……


LoadVFAPIPlugin("D:\Program Files\DVD\quicktime\QTReader.vfp","QTReader")
QTReader("I:\1.mov").ConvertToRGB32
ChangeFPS (29.97,LINEAR=False)
FlipVertical


用以上的avs試著運行了一下,可以正常播放mov
(如果不能播放mov,那麼應檢查QuickTime和QTREADER.vfp這兩項是不是出問題)
FlipVertical是個視頻翻轉命令,不用的話字會倒著顯示
於是把這段改在avi掛avi的avs里:



v1=AviSource("I:\1.avi").ConvertToRGB32().trim(1799,2459)

LoadVFAPIPlugin("D:\Program Files\DVD\quicktime\QTReader.vfp","QTReader")
v2=QTReader("I:\1.mov").ConvertToRGB32.ChangeFPS (29.97,LINEAR=False).FlipVertical.colorkeymask($000000,30)

V3=Layer(v1,v2,"add",255,30,30).ConvertToRGB32()

V4=AviSource("I:\1.avi").ConvertToRGB32()
ALL=V4.trim(0,1798)+V3+V4.trim(2460,0)

return ALL




用這個就可以順利運行了……
avs用kmp打開直接看效果沒問題的話就可以壓片了= v =
準備還是用megui壓,等logo來了再調試一下avs的一些數據……

OK,5小時就琢磨了這麼個東西囧……
歲叫去orz



更新:

3、avi片源掛載mov格式logo水印后再加載字幕的avs編寫

以上是avi視頻單掛mov動態水印logo的avs
但是如果要另外加載字幕,則上面的avs加載后,動態logo出現的那段將不會有字幕……
於是又研究了一下再加載字幕的avs
更新如下:



LoadPlugin("D:\Program Files\DVD\YYeTs_After_Tools\apps\VSFilter.dll")
v1=AviSource("I:\1.avi").ConvertToRGB32().TextSub("I:\1.ass")

v2=trim(v1,0,1798).ConvertToRGB32()
v3=trim(v1,1799,2459).ConvertToRGB32()

LoadVFAPIPlugin("D:\Program Files\DVD\quicktime\QTReader.vfp","QTReader")
v4=QTReader("I:\1.mov").ConvertToRGB32.ChangeFPS (25,LINEAR=False).FlipVertical.colorkeymask($000000,30).FadeOut(5)

v5=Layer(v3,v4,"add",255,30,30).ConvertToRGB32()
v6=trim(v1,2460,0)

return v2+v5+v6




.FadeIn() 和 .FadeOut(5)是淡入淡出命令,數值代表淡入淡出幀數
但運用起來暫時感覺不是特別好,等真正logo拿到再做調整

原理基本相同,後者主要是將整個片源avi作為整體v1,先行加載字幕軸
這樣v5這段有動態logo的動畫因為是v1的一部份,也會掛上字幕
而前者沒有整體掛字幕的命令在,所以到了logo部份會失去字幕= v =||


注:各插件和視頻路徑應根據實際情況調整
這邊
1.avi為片源
logo.avi為avi格式水印logo
1.mov為mov格式水印logo
  /  tb: 0  /  cm: 1  /  △top

コメントの投稿

Secret

△top

この記事に対するコメント

扶額……各種看不懂OTZ……虧你有勁兒過來寫這個OTZ

URL |  #-

2010/09/14 00:12 * 編集 *

△top

トラックバック

トラックバックURL
→http://journeycc.blog88.fc2.com/tb.php/65-c2a13e9f
この記事にトラックバックする(FC2ブログユーザー)

△top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。