dwing吧 关注:5,624贴子:88,250

常up分享:边学边用一年多来的小技巧s

取消只看楼主收藏回复

Ok,先来一个刚刚昨天才弄懂的油条字幕效果。
在我国有一个不存在的网站叫油条,他已经支持字幕,但是有一个黑框,半透明的黑框,然后下面这种方法就可以达到这个效果。
一个是添加文字,一个是添加字幕的,都可以。


IP属地:广东来自Android客户端1楼2019-12-15 10:15回复
    视频部分
    以每秒一帧的循环输入图片
    先缩放了1/3*1/3大小
    然后(完全不懂lte),结果出来是:
    以每帧0.001的幅度放大,最多放大到750帧
    到达最大后再以每帧0.001的幅度缩小,最小只能缩回初始输入图片的大小。
    设置时间=1500帧,15帧每秒
    :x:y的设置意思以中心为缩放点,如果不设置则默认为左上角
    最后再调整为1440:1080的大小画面,居中放于1080P,两边颜色随机,不设置则默认为黑边。
    音频部分
    输入1降低音量到0.52倍并调慢1/4再无限循环,定义名为[2]。
    第三第四个输入,只取音频相加,并调大音量3.5倍,定义名为[1]
    [1][2]混音,时间长度以第一个为准.


    IP属地:广东来自Android客户端2楼2019-12-19 11:14
    回复
      原来FFMPEG也有象MKVTOOL那样切割
      -f segment -segmet_time 1800 -map 0 -c copy output%d.mp4 这是按每1800秒时长切割
      -f segment -segmet_times 600,1500,2700,3600 output%d.mp4 这是按指定时间切割
      但是,无论任何形式的切割,只能准确到关键帧。
      现在留给我唯一的问题是,无法将MKV里的DVD图形字幕象MKVEXTRACT那样提出为IDX+SUB出来。
      如果这都解决,彻底告别MKVTOOL


      IP属地:广东来自Android客户端3楼2019-12-20 11:56
      收起回复
        补充楼上的方法, 当一个节目很多段分割,而又不知怎样查找时,用这方法:
        -i battle factory 01.mkv -r 1 -s 120x72 180\%4d.jpg
        源文件分述了三段故事, 有个画面叫"battle"作为转接... 然后以每秒一画输出. 再用ALIKE找转接画面..
        如图
        -f segment -segmet_times 368,677,975 output%d.mp4 这样就很恰当的分出了应该分的四段了.


        IP属地:广东4楼2020-01-11 17:27
        收起回复
          搞双声道要用amerge,最后要加上
          aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=mono
          否则可能会出错.


          IP属地:广东来自Android客户端5楼2020-02-21 13:48
          收起回复
            一边一有声音一边没声音最后两边不同声音的
            -i ddl.mp3 -t 4 -i ddr.m4a
            -filter_complex "color=s=720x1280:d=5,drawtext=msyh.ttf:text='被常听到的外放
            沙雕小视频声音':fontsize=100,setsar=1[v1],
            color=s=720x1280:d=5,drawtext=msyh.ttf:text='心理阴影面积里的
            车打不着火的声音':fontsize=85,setsar=1[v2],
            color=s=720x1280:d=5,drawtext=msyh.ttf:text='混为
            一谈':fontsize=350,setsar=1[v3],
            [0:a]volume=2.5,[a1],[1:a]volume=0,固定句[b1],[a1][b1]amerge[a01],
            [0:a]volume=0,固定句[a2],[1:a]volume=1.25,固定句[b2],[a2][b2]amerge[a02],
            [0:a]volume=2.5,固定句[a3],[1:a]volume=1.25,固定句[b3],[a3][b3]amerge[a03],
            [v1][a01][v2][a02][v3][a03]concat=n=3:v=1:a=1[v][aa]"
            -map [v] -map [aa] -r 30 -c:a libfdk_aac -ab 256k output-lr.mp4
            固定句就是 aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=mono


            IP属地:广东7楼2020-03-24 11:44
            收起回复
              -map [v] -map [fa] -map [fa2] -crf 28 -r 25 -c:a libfdk_aac -b:a:0 96k -b:a:1 128k
              不同音轨不同码率的处理. 上下两种方法都一样, 上是有调整, 下是直接压.
              -map 0:v -map 0:a -crf 28 -r 25 -c:a libfdk_aac -b:a:0 96k -b:a:1 128k


              IP属地:广东8楼2020-03-30 17:19
              回复
                还是关于字幕的处理...双语字幕
                有时压不出字幕是可能PGS DVB等的格式设定为1920X1080但视频为1280x720
                这时要调整字幕 [0:s]SCALE=1280:720, 或 [0:v][0:s]scale2ref=iw:ih[v][s]再OVERLAY
                如果双DVD/DVB/PGS字幕,可以这样搞,
                [0:s:1][0:s:0]overlay=0:35[c],[0:v][c]overlay[g] -map [g]这里35就是字幕的间距,不设置为重叠
                也可以这样
                [0:s:1]scale=1280:720[s1],[0:s:0]scale=1280:640[s0], [s1][s0]overlay[c],[0:v][c]overlay[g] -map [g] 字幕尺寸小的要在后面.
                有些双语特效ASS,例如NORM的制作...极可能要把SIMHEI.TTF ARIAL.TTF等字体文件放到(手机)相应目录才能压制.否则会没字幕出现
                subtitles='/storage/emulated/0/t.mkv:si=8':fontsdir='/storage/emulated/0/fonts/'
                例如上句这样就可以,forec_style不一起起作用于ASS,因为FFMPEG有自动选ttf的功能,但如果是双语SRT就可能要这样
                subtitles=t.mkv:si=0:fontsdir='/storage/emulated/0/fonts/':force_style='FontName=微软雅黑,arial'


                IP属地:广东9楼2020-04-01 13:08
                回复
                  再补充一下字幕的截取
                  文本类的字幕截取 -i aa.mkv -ss 1:25:30 -t 15 -c:s copy aaa.ass 或SRT
                  -ss -t 或to 不能放在 -i 之前, 图形类的字幕就可以.


                  IP属地:广东10楼2020-04-01 16:17
                  回复
                    制作一个自定义的时间
                    drawtext=arial.ttf:text='2020-03-28AM':timecode='07\:50\:06\:00':r=30:fontsize=40:x=(w-tw)+52:y=8 -r 30 -t 59 output.mp4
                    fontsize=40:x=(w-tw)+52 这里的字体大小和X的位置调整数建议为1.3倍,即这个40:52是最好的,因为秒以后的显示数比较坑
                    r=30 这个要和输出的视频频率相同, 否则会看到明显快慢时差...


                    IP属地:广东11楼2020-04-03 16:06
                    回复
                      https://tieba.baidu.com/p/6383160012
                      压了硬字幕,文件长了很多秒,但在播放的最后多出部分秒数只静止停留在最后画面没声音没字幕或者黑屏(相当于停留在最后一帧)。当然,播放的全程没出现不同步.
                      解决方法(未完全测试)
                      overlay=shortest=1 这样就会和实际视频一样长度
                      overlay=shortest=0 这样=最后画面停止且没声音没字幕或者黑屏持续一段时间.


                      IP属地:广东12楼2020-04-07 10:44
                      收起回复
                        [0:v]split=4[a][b][c][d],[a][b][c][d]concat=n=4:v=1:a=0[v]
                        视频的循环,想循环多少次就split多少。


                        IP属地:广东来自Android客户端13楼2020-04-14 08:28
                        回复
                          一个不算易搞的双黑边加文本字幕
                          -i storks16.mkv
                          -filter_complex "[0:v]pad=1920:1080:0:128,
                          subtitles=storks16.mkv:si=6:force_style='Alignment=6,marginv=4,fontsize=13',
                          subtitles=storks16.mkv:si=1:force_style='alignment=2,marginv=6,marginl=96,marginr=96,scalex=0.2%,scaley=0.3%',
                          scale=960:540,setsar=1[v]"
                          -map [v] -crf 26 -map 0:a -ac 2 -c:a libfdk_aac -ab 128k st16a.mkv -y


                          IP属地:广东14楼2020-05-16 17:30
                          回复

                            有时IdxSubOcr搞不好的,可以试试SUBTITLE EDIT...


                            IP属地:广东15楼2020-09-22 11:49
                            回复
                              dvd字幕不好搞....只能用VOBRIP这软件在电脑上分离出IDX+SUB。
                              然后....
                              -i 1.VOB -i 2.VOB -i 3.VOB -i 4.VOB -i a.idx
                              -filter_complex "[0:v][1:v][2:v][3:v]concat=n=4:v=1:a=0[v],
                              [0:a:0][1:a:0][2:a:0][3:a:0]concat=n=4:v=0:a=1[a0],
                              [0:a:1][1:a:1][2:a:1][3:a:1]concat=n=4:v=0:a=1[a1],
                              [0:a:2][1:a:2][2:a:2][3:a:2]concat=n=4:v=0:a=1[a2],
                              [4:s:2][4:s:1]overlay=0:-35[s],[v][s]overlay=0:32,scale=852:480,setsar=1[v]"
                              -map [v] -map [a2] -map [a0] -map [a1]
                              -crf 25 -c:a libfdk_aac -ac 2 -vol 512 -r 25 -aspect 16:9 000snpy.mp4


                              IP属地:广东16楼2020-10-14 15:42
                              收起回复