megui吧 关注:5,469贴子:37,820
  • 7回复贴,共1

跪求吧里大神解答一个技术性的问题

只看楼主收藏回复

跪求吧里大神解答一个技术性的问题_(:з」∠)_
我想把一个1080Pts格式的视频压成720Pmkv格式的视频,并且在某一时间段加一个透明的logo。
通过百度查找,我总算是把在某段时间加logo这段代码搞懂了,我把我的代码复制如下:
LoadPlugin("E:\VSFilter.dll")
Video=DirectShowSource("E:\1.ts", ConvertFPS=True).ConvertToRGB32
Logo_1=ImageReader("E:\1.jpg").ConvertToRGB32
Video_1=Trim(Video,0,3894)
Video_2=Trim(Video,3894,4100).Layer(Logo_1,"add",80,1270,15)
Video_3=Trim(Video,4100,7788)
Video_4=Video_1+Video_2+Video_3
Anime=ConvertToYV12(Video_4)
Return Anime
但是遇到的问题很烦:
1、无论怎么加代码都不能压成1280×720这个尺寸的,我知道是改变视频尺寸的代码是LanczosResize(1280,720) ,但是怎么加尺寸都不变是怎么回事,是哪里写的不对?求赐教_(:з」∠)_ _(:з」∠)_
2、logo本来是png的透明图片,但是加到这里,即使用下面代码也不显示:
ConvertToRGB32()
img=ImageSource("E:\1.jpg.png",pixel_type="rgb32").LanczosResize(100,29)
只有转换成jpg格式才显示,但是又有白色的底色非常不好看,求大神们帮忙解决怎么在视频里的一段时间加底色透明的logo啊_(:з」∠)_ _(:з」∠)_


来自Android客户端1楼2015-04-18 00:58回复
    Video=DirectShowSource("E:\1.ts",convertFPS=True)
    a=LanczosResize(Video,1280,720)
    a=ConvertToRGB(a)
    Logo_1=ImageReader("E:\1.png",pixel_type="rgb32").LanczosResize(100,30).ConvertToRGB32
    Video_1=Trim(a,0,9000)
    Video_2=Trim(a,9000,9250).Layer(Logo_1,"add",30,1170,10)
    Video_3=Trim(a,9250,0)
    Video_4=Video_1+Video_2+Video_3
    Video_4=ConvertToYV12(Video_4)
    return Video_4
    好吧最后还是我自己琢磨出来了,发出来供需要的人学习交流


    来自Android客户端2楼2015-04-18 20:35
    回复
      2025-05-14 15:22:31
      广告
      完全不理解你做的什麼。_(:з」∠)_。ts属於最难压的那类,先要抽流重封,然后用正确的source(dss我就不吐槽了),然后做tivtc(看情况,有些片deint),然后trim广告(没有就忽略),resize做内切边,降噪,修线条,加logo,最后deband输出。
      叠加用Overlay更好,避免了yuv于rgb转换的两次损失。


      IP属地:内蒙古来自手机贴吧3楼2015-04-19 08:50
      收起回复
        同样是合并 你这avs完全看不懂,而且顺序有些错乱 也不够简明一目了然,你自己是看懂了 我最多只看懂一半 没人会这个做参考。


        IP属地:广东来自手机贴吧4楼2015-04-25 15:10
        收起回复
          我写的 只是用原来写好的 稍作修改 不同的源写不同的脚步
          1、合并

          常用修改

          图片来自:信傑的百度相册


          IP属地:广东通过百度相册上传5楼2015-04-26 20:21
          回复
            SetMemoryMax(1024)
            Main = LWLibavVideoSource("[HorribleSubs] DanMachi - 03 [1080p].mkv", threads=1).RemoveGrainSSE3_RemoveGrain(4,4).aWarpSharp2(80).Spline36Resize(1280,720)
            Logo = LWLibavVideoSource("Danmachi03 特效.mov", threads=1)
            Start = 2827
            Avant = Trim(Main, 0, Start-1)
            Op = Trim(Main,Start,Start+179)
            APart = Overlay(Op, Logo, x=0, y=0, mask= ShowAlpha(Logo), opacity=1.0, mode="blend", greymask=true, ignore_conditional=false, pc_range=false)
            BPart = Trim(Main,Start+180,0)
            Avant+APart+BPart
            f3kdb(range=15, Y=72, Cb=48, Cr=48, grainY=0, grainC=0)
            TextSubMod("F:\BaiduYunDownload\03\Danmachi 03_all_BIG5_fin.ass")
            TextSubMod("F:\BaiduYunDownload\03\STAFF - 03(BIG5).ass")
            TextSubMod("F:\BaiduYunDownload\03\3_OP_eft_繁.ass")
            TextSubMod("F:\BaiduYunDownload\03\3_ED_eft_繁.ass")
            不知道这样你看得懂不


            IP属地:内蒙古6楼2015-04-27 01:39
            回复