FFMpeg-添加enable = between参数时不显示覆盖

如何解决FFMpeg-添加enable = between参数时不显示覆盖

我正在使用以下命令使用叠加层在视频之间添加转场效果,以便当一个视频即将结束时,叠加层变得可见。在显示叠加层之前,我必须添加填充和连接视频,使它们成为单个视频,然后显示叠加层。

ffmpeg 
-i input1.mp4 
-i input2.mp4 
-i input3.mp4 
-i transition1.mp4 
-i transition2.mp4 
-filter_complex 
"[0:v]pad=width=1080:height=1920:x=(1080-iw)*0.5:y=(1920-ih)*0.5:color=black[video0];
[1:v]pad=width=1080:height=1920:x=(1080-iw)*0.5:y=(1920-ih)*0.5:color=black[video1];
[2:v]pad=width=1080:height=1920:x=(1080-iw)*0.5:y=(1920-ih)*0.5:color=black[video2];
[video0][video1][video2]concat=n=3:v=1:a=0[outv];
[3:v]colorkey=0x00d800:0.1[t0];
[t0]scale=w=1080:h=1920[tr0];
[4:v]colorkey=0x00d800:0.1[t1];
[t1]scale=w=1080:h=1920[tr1];
[outv][tr0]overlay=0:0:enable='between(t\,7\,9)'[out0];
[out0][tr1]overlay=0:0:enable='between(t\,12\,15)'[out1];
[0:a][1:a][2:a]concat=n=3:v=0:a=1[audio]" 
-vsync 0 -c:v libx264 -pix_fmt yuv420p -map [out1] -map [audio] -preset ultrafast output.mp4

但是上述命令不会显示任何重叠视频。如果我从覆盖参数中删除enable = between(t,start,end),则所有覆盖都会在视频开始时显示。我是视频编辑和FFMpeg的初学者。有人可以指导我在这里做错什么吗?

这是控制台中的日志:

ffmpeg version v4.4-dev-416
I/mobile-ffmpeg:  Copyright (c) 2000-2020 the FFmpeg developers
      built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
      configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libx264 --enable-gpl --enable-libxvid --enable-gpl --enable-libx265 --enable-gpl --enable-libvidstab --enable-gpl --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
      libavutil      56. 55.100 / 56. 55.100
      libavcodec     58. 96.100 / 58. 96.100
      libavformat    58. 48.100 / 58. 48.100
      libavdevice    58. 11.101 / 58. 11.101
      libavfilter     7. 87.100 /  7. 87.100
      libswscale      5.  8.100 /  5.  8.100
      libswresample   3.  8.100 /  3.  8.100

I/mobile-ffmpeg: Input #0,mov,mp4,m4a,3gp,3g2,mj2,from 'input1.mp4':
      Metadata:
        major_brand     : 
    mp42
        minor_version   : 
    0
        compatible_brands: 
    isommp42
        creation_time   : 
    2020-08-12T17:21:49.000000Z
        com.android.version: 
    9
      Duration: 
I/mobile-ffmpeg: 00:00:08.12,start: 
    0.000000,bitrate: 
    17298 kb/s
        Stream #0:0
    (eng)
    : Video: h264 (avc1 / 0x31637661),yuv420p(tv,bt709),1920x1080,16309 kb/s,SAR 1:1 DAR 16:9,28.70 fps,29.50 tbr,90k tbn,60 tbc
     (default)
        Metadata:
          rotate          : 
    90
          creation_time   : 
    2020-08-12T17:21:49.000000Z
          handler_name    : 
    VideoHandle
        Side data:
          
    displaymatrix: rotation of -90.00 degrees
        Stream #0:1
I/mobile-ffmpeg: (eng)
    : Audio: aac (mp4a / 0x6134706D),48000 Hz,stereo,fltp,192 kb/s
     (default)
        Metadata:
          creation_time   : 
    2020-08-12T17:21:49.000000Z
          handler_name    : 
    SoundHandle
I/mobile-ffmpeg: Input #1,from 'input2.mp4':
      Metadata:
        major_brand     : 
    isom
        minor_version   : 
    512
        compatible_brands: 
    isomiso2avc1mp41
        encoder         : 
    Lavf57.25.100
I/mobile-ffmpeg:   Duration: 
    00:00:05.97,bitrate: 
    770 kb/s
        Stream #1:0
    (und)
    : Audio: aac (mp4a / 0x6134706D),22050 Hz,128 kb/s
     (default)
        Metadata:
          handler_name    : 
    SoundHandler
        Stream #1:1
    (und)
    : Video: h264 (avc1 / 0x31637661),yuv420p,368x480,608 kb/s,27.29 fps,I/mobile-ffmpeg: 120 tbr,12k tbn,60 tbc
     (default)
        Metadata:
          handler_name    : 
    VideoHandler
I/mobile-ffmpeg: Input #2,from 'input3.mp4':
      Metadata:
        major_brand     : 
    isom
        minor_version   : 
    512
        compatible_brands: 
    isomiso2avc1mp41
I/mobile-ffmpeg:     encoder         : 
    Lavf55.19.104
      Duration: 
    00:00:13.05,bitrate: 
    2453 kb/s
        Chapter #2:0: 
    start 0.000000,end 13.033000
        Metadata:
          title           : 
        Stream #2:0
    (und)
    : Audio: aac (mp4a / 0x6134706D),44100 Hz,128 kb/s
     (default)
I/mobile-ffmpeg:     Metadata:
          handler_name    : 
    SoundHandler
        Stream #2:1
    (und)
    : Video: h264 (avc1 / 0x31637661),640x480,2320 kb/s,25 fps,25 tbr,1200k tbn,50 tbc
     (default)
        Metadata:
          handler_name    : 
    VideoHandler
        Stream #2:2
    (eng)
    : Data: bin_data (text / 0x74786574),0 kb/s
I/mobile-ffmpeg:     Metadata:
          handler_name    : 
    SubtitleHandler
I/mobile-ffmpeg: Input #3,from 'transition1.mp4':
      Metadata:
        major_brand     : 
    mp42
        minor_version   : 
    0
I/mobile-ffmpeg:     compatible_brands: 
    mp41isom
        creation_time   : 
    2020-08-17T09:24:04.000000Z
      Duration: 
    00:00:02.22,bitrate: 
    2445 kb/s
        Stream #3:0
    (und)
    : Video: h264 (avc1 / 0x31637661),1920x1080 [SAR 1:1 DAR 16:9],2414 kb/s,30 fps,30 tbr,30k tbn,60 tbc
     (default)
I/mobile-ffmpeg:     Metadata:
          creation_time   : 
    2020-08-17T09:24:04.000000Z
          handler_name    : 
    VideoHandler
          encoder         : 
    AVC Coding
        Stream #3:1
    (und)
    : Audio: aac (mp4a / 0x6134706D),79 kb/s
     (default)
        Metadata:
          creation_time   : 
I/mobile-ffmpeg: 2020-08-17T09:24:04.000000Z
          handler_name    : 
I/mobile-ffmpeg: SoundHandler
I/mobile-ffmpeg: Input #4,from 'transition2.mp4':
      Metadata:
        major_brand     : 
    mp42
        minor_version   : 
    0
        compatible_brands: 
    mp41isom
        creation_time   : 
    2020-08-17T09:21:33.000000Z
      Duration: 
    00:00:02.22,bitrate: 
    2331 kb/s
I/mobile-ffmpeg:     Stream #4:0
    (und)
    : Video: h264 (avc1 / 0x31637661),2298 kb/s,60 tbc
     (default)
        Metadata:
          creation_time   : 
    2020-08-17T09:21:33.000000Z
          handler_name    : 
    VideoHandler
          encoder         : 
    AVC Coding
        Stream #4:1
    (und)
I/mobile-ffmpeg: : Audio: aac (mp4a / 0x6134706D),79 kb/s
     (default)
        Metadata:
          creation_time   : 
    2020-08-17T09:21:33.000000Z
          handler_name    : 
    SoundHandler
I/mobile-ffmpeg: Stream mapping:
      Stream #0:0 (h264) -> pad
      Stream #0:1 (aac) -> concat:in0:a0
      Stream #1:0 (aac) -> concat:in1:a0
      Stream #1:1 (h264) -> pad
      Stream #2:0 (aac) -> concat:in2:a0
      Stream #2:1 (h264) -> pad
      Stream #3:0 (h264) -> colorkey
      Stream #4:0 (h264) -> colorkey
I/mobile-ffmpeg:   overlay
     -> Stream #0:0 (libx264)
      concat
     -> Stream #0:1 (aac)
    Press [q] to stop,[?] for help
W/mobile-ffmpeg: [graph 0 input from stream 0:0 @ 0x73485c3fc0] sws_param option is deprecated and ignored
    [graph 0 input from stream 1:1 @ 0x73485c4140] sws_param option is deprecated and ignored
    [graph 0 input from stream 2:1 @ 0x73485c4200] sws_param option is deprecated and ignored
    [graph 0 input from stream 3:0 @ 0x73485c42c0] sws_param option is deprecated and ignored
W/mobile-ffmpeg: [graph 0 input from stream 4:0 @ 0x73485c4380] sws_param option is deprecated and ignored
W/mobile-ffmpeg: [swscaler @ 0x7324db9000] No accelerated colorspace conversion found from yuv420p to argb.
W/mobile-ffmpeg: [swscaler @ 0x7324876000] No accelerated colorspace conversion found from yuv420p to argb.
I/mobile-ffmpeg: [libx264 @ 0x7332f9a500] using SAR=1/1
W/mobile-ffmpeg: [libx264 @ 0x7332f9a500] MB rate (8160000000) > level limit (16711680)
I/mobile-ffmpeg: [libx264 @ 0x7332f9a500] using cpu capabilities: ARMv8 NEON
I/mobile-ffmpeg: [libx264 @ 0x7332f9a500] profile Constrained Baseline,level 6.2,4:2:0,8-bit
    [libx264 @ 0x7332f9a500] 264 - core 160 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
I/mobile-ffmpeg: Output #0,to 'output.mp4':
      Metadata:
I/mobile-ffmpeg:     major_brand     : 
    mp42
        minor_version   : 
    0
        compatible_brands: 
    isommp42
        com.android.version: 
    9
        encoder         : 
    Lavf58.48.100
        Chapter #0:0: 
    start 0.000000,end 13.033000
        Metadata:
          title           : 
        Stream #0:0
I/mobile-ffmpeg: : Video: h264 (libx264) (avc1 / 0x31637661),yuv420p(progressive),1080x1920 [SAR 1:1 DAR 9:16],q=-1--1,1000k tbn,1000k tbc
     (default)
        Metadata:
          encoder         : 
    Lavc58.96.100 libx264
        Side data:
          
    cpb: 
    bitrate max/min/avg: 0/0/0 buffer size: 0 
    vbv_delay: N/A
        Stream #0:1
    : Audio: aac (mp4a / 0x6134706D),128 kb/s
     (default)
        Metadata:
I/mobile-ffmpeg:       encoder         : 
    Lavc58.96.100 aac
E/Progress: Progress: 3.6918316
D/mobile-ffmpeg: Progress: frame: 1,time: 1002,Pct: 0.036918
I/mobile-ffmpeg: frame=    1 fps=0.0 q=0.0 size=       0kB time=00:00:01.00 bitrate=   0.5kbits/s speed=1.13x      

解决方法

叠加层过滤器通过时间戳同步两个输入,因此叠加层视频的第二个X被打印在主视频的第二个X的顶部。因此,使用overlay=0:0:enable='between(t\,7\,9)'的arg,ffmpeg首先要在时间戳为7.00的主视频上覆盖时间戳为7.00的叠加帧。如果覆盖视频的时间不长,则不会有任何效果。

需要修改叠加视频的时间戳,以创建所需的同步。

[3:v]colorkey=0x00d800:0.1,scale=w=1080:h=1920,setpts=PTS-STARTPTS+7/TB[tr0];

设定值将第一个转换流转换为从时间戳7开始。现在可以用enable='between(t\,9)'覆盖。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-