使用 FFmpeg 在特定时间将一个视频叠加在另一个视频上

2024-04-12

我正在尝试将一个视频与另一个视频叠加。我按照OP发布的原始命令进行操作here https://stackoverflow.com/questions/35269387/ffmpeg-overlay-one-video-onto-another-video。它有效,但它覆盖了从时间 0 开始的视频:

ffmpeg -i 720480.mp4 -i sdbug.mov -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  new.mp4 

我尝试了指定时间的正确答案,但它对我不起作用:1)叠加层大约在第二秒开始12、2) 叠加完成后不播放视频。

ffmpeg -i 720480.mp4 -i sdbug.mov -filter_complex "[1:v]setpts=PTS+10/TB[a]; [0:v][a]overlay=enable=gte(t\,5):shortest=1[out]" -map [out] -map 0:a -c:v libx264 -crf 18 -pix_fmt yuv420p -c:a copy new.mp4

最近有什么变化吗FFmpeg?!为什么它不起作用?

这是该命令的输出(它完成得非常快):

ffmpeg version N-92906-g54109b1d14 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181201
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 25.100 / 56. 25.100
  libavcodec     58. 43.100 / 58. 43.100
  libavformat    58. 25.100 / 58. 25.100
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 46.101 /  7. 46.101
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '720480.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2018-07-26T09:23:16.000000Z
  Duration: 00:01:50.17, start: 0.000000, bitrate: 3181 kb/s
    Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x480 [SAR 8:9 DAR 4:3], 2785 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : VideoHandler
      timecode        : 00:59:55:12
    Stream #0:1: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
    Stream #0:2: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
    Stream #0:3: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
    Stream #0:4: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
    Stream #0:5: Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : TimecodeMediaHandler
      timecode        : 00:59:55:12
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'sdbug.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2018-08-29T14:50:13.000000Z
  Duration: 00:00:10.01, start: 0.000000, bitrate: 10504 kb/s
    Stream #1:0(eng): Video: qtrle (rle  / 0x20656C72), bgra(progressive), 720x486, 9666 kb/s, SAR 109:120 DAR 109:81, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc (default)
    Metadata:
      creation_time   : 2018-08-29T14:50:13.000000Z
      handler_name    : Apple Video Media Handler
      encoder         : Animation
      timecode        : 00:00:00;00
    Stream #1:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2018-08-29T14:50:13.000000Z
      handler_name    : Time Code Media Handler
      timecode        : 00:00:00;00
Stream mapping:
  Stream #0:0 (h264) -> overlay:main
  Stream #1:0 (qtrle) -> setpts
  overlay -> Stream #0:0 (libx264)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
  Stream #0:3 -> #0:3 (copy)
  Stream #0:4 -> #0:4 (copy)
Press [q] to stop, [?] for help
[libx264 @ 000002b902a3f480] using SAR=8/9
[libx264 @ 000002b902a3f480] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002b902a3f480] profile High, level 3.0, 4:2:0, 8-bit
[libx264 @ 000002b902a3f480] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'new.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.25.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc (default)
    Metadata:
      encoder         : Lavc58.43.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
    Stream #0:2: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
    Stream #0:3: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
    Stream #0:4: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
    Metadata:
      creation_time   : 2018-07-26T09:23:16.000000Z
      handler_name    : SoundHandler
frame=  599 fps= 92 q=-1.0 Lsize=   11556kB time=00:01:50.01 bitrate= 860.5kbits/s speed=16.8x
video:6173kB audio:5288kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.828358%
[libx264 @ 000002b902a3f480] frame I:8     Avg QP:13.24  size: 44134
[libx264 @ 000002b902a3f480] frame P:174   Avg QP:18.62  size: 20916
[libx264 @ 000002b902a3f480] frame B:417   Avg QP:21.31  size:  5583
[libx264 @ 000002b902a3f480] consecutive B-frames:  6.0%  1.7%  5.5% 86.8%
[libx264 @ 000002b902a3f480] mb I  I16..4: 15.9% 58.9% 25.2%
[libx264 @ 000002b902a3f480] mb P  I16..4:  1.4% 13.6%  4.2%  P16..4: 36.6% 22.8% 12.3%  0.0%  0.0%    skip: 9.0%
[libx264 @ 000002b902a3f480] mb B  I16..4:  0.1%  0.9%  0.3%  B16..8: 46.4% 10.6%  2.9%  direct: 5.5%  skip:33.3%  L0:53.4% L1:36.9% BI: 9.7%
[libx264 @ 000002b902a3f480] 8x8 transform intra:68.5% inter:65.1%
[libx264 @ 000002b902a3f480] coded y,uvDC,uvAC intra: 77.5% 89.5% 77.2% inter: 26.8% 48.1% 10.1%
[libx264 @ 000002b902a3f480] i16 v,h,dc,p: 50% 13% 13% 23%
[libx264 @ 000002b902a3f480] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 12% 17%  6%  8% 10%  7%  9%  7%
[libx264 @ 000002b902a3f480] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 13% 10%  7% 12% 11%  9%  9%  7%
[libx264 @ 000002b902a3f480] i8c dc,h,v,p: 51% 15% 24% 10%
[libx264 @ 000002b902a3f480] Weighted P-Frames: Y:5.2% UV:2.9%
[libx264 @ 000002b902a3f480] ref P L0: 60.1% 19.6% 15.8%  4.4%  0.1%
[libx264 @ 000002b902a3f480] ref B L0: 91.6%  7.3%  1.1%
[libx264 @ 000002b902a3f480] ref B L1: 97.2%  2.8%
[libx264 @ 000002b902a3f480] kb/s:2529.97

Use setpts https://ffmpeg.org/ffmpeg-filters.html#setpts_002c-asetpts添加延迟overlay https://ffmpeg.org/ffmpeg-filters.html#overlay:

ffmpeg -i main.mp4 -i overlay.mov -filter_complex "[1:v]setpts=PTS-STARTPTS+10/TB[ovr];[0:v][ovr]overlay=enable=gte(t\,10):eof_action=pass,format=yuv420p[vid]" -map "[vid]" -map 0:a? -c:v libx264 -crf 23 -c:a copy -movflags +faststart output.mp4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 FFmpeg 在特定时间将一个视频叠加在另一个视频上 的相关文章

  • 如何在 cv2.VideoWriter 中使用 FPS 参数?

    好的 所以我正在制作视频 我想确切地知道如何使用 FPS 参数 它是一个浮点数 所以我假设这是我想要的每帧之间的间隔 你能给个例子吗 我只想知道视频会如何随着 FPS 参数值的变化而变化 因为我制作的视频现在太快了 谢谢 确实只是这样 fr
  • 使用FFMpeg确定视频类型,然后进行转换?

    我正在尝试以编程方式确定文件的真实类型 看来我必须使用 FFMPeg 来实现这一点 我想确定上传的文件实际上是否是 MP4 或 FLV 对于 Flash 视频 或 WebM 对于 HTML5 我知道 FFMPeg 中的 i 运算符 但我不知
  • 为什么处理时间随着修剪位置的增加而增加?

    我最近一直在使用ffmpeg修剪一些视频 我注意到随着修剪位置的增加 修剪视频所花费的时间也会增加 即使持续时间相同 5 seconds 下面给出了修剪视频的命令0 to 5秒 处理仅需1秒 ffmpeg y i input mp4 fil
  • 两个图像之间的视频变形,FFMPEG/Minterpolate

    我正在尝试在 Ubuntu Linux 上的 bash 脚本中使用两个帧 png 图像 和 ffmpeg 的 minterpolate 过滤器制作一个快速且简单的变形视频 目的是稍后使用变形作为不同视频编辑器中相似视频之间的过渡 它适用于
  • 使用 RGBA 颜色覆盖背景图像,并使用 CSS3 过渡

    今天早些时候我问使用 rgba 背景颜色覆盖背景图像 https stackoverflow com q 17134929 1544337 我的目标是拥有一个带有背景图像的 div 当有人将鼠标悬停在 div 上时 背景图像会覆盖有 rgb
  • Ffmpeg 无法正确转换为 ogg [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在使用 ffmpeg 在我的网站上转换音频和视频 Ffmpeg 可以正确转换为其他格式 如 mp3 mp4 等 但无法正确转换为 ogg 虽然 f
  • 致命错误:libavcodec/avcodec.h 没有这样的文件或目录编译终止

    我正在尝试使用 gcc 执行tutorial01 c 并且 gcc 和tutorial01 c 以及 libavcodec 和 libavformat 及其关联文件位于同一文件夹中 它给了我这个错误 致命错误 libavcodec avco
  • Yii:使用多重上传文件扩展时如何管理视频

    我是yiibie 正在努力上传视频 我已经用过uploadmultifile扩展并根据此链接进行了更改http www yiiframework com extension uploadmultifiles in my video view
  • 使用 xuggle 将 mp3 转换为 wav 出现异常

    我正在尝试将 mp3 转换为 wav 代码在这里 String mp3 F work pic2talk38512 mp3 String wav F work pic2talk38512 wav TranscodeAudioAndVideo
  • 如何让 Python 找到 ffprobe?

    I have ffmpeg and ffprobe安装在我的 mac macOS Sierra 上 并且我已将它们的路径添加到 PATH 中 我可以从终端运行它们 我正在尝试使用ffprobe使用以下代码获取视频文件的宽度和高度 impor
  • 在 HTML5 中设置视频高度

    也许这是一个简单的问题 但它真的让我发疯 我只想设置 HTML5 视频的高度和宽度 我正在使用这段代码
  • Python FFmpeg查询rtsp太慢

    目前 我正在尝试使用 python 和 FFmpeg 来查询原始格式为 h264 的 rtsp 数据 直播流视频的信息为 fps 29 分辨率 1280 720 我希望我可以以相同的格式 h264 查询数据并将其放入python队列中以便将
  • 在 Windows Phone 8 中以编程方式下载媒体文件

    我们的应用程序是基于视频 音频的应用程序 我们已将所有媒体上传到 Windows Azure 上 但需要方便用户点播下载音视频文件 以便在本地播放 所以我需要以编程方式下载音频 视频文件并将其保存在IsolatedStorage中 我们有每
  • 如何在google colab中安装ffmpeg包

    我正在尝试使用 Google Colab 来做一些事情 我特别想用ffmpeg打包到从图像创建视频 https stackoverflow com a 44951066 6890234 但 ffmpeg 似乎工作得不太好 这个 在最后一个块
  • 有哪些技术可用于程序化视频编辑?

    Problem 用户应该能够从其系统上运行的应用程序 胖客户端 上传高分辨率视频剪辑 在这个应用程序中 我需要一个能够将视频转换为低分辨率版本的框架或库 另一方面 我需要能够立即从图像构建视频的东西 并以看起来像视频的方式对它们进行动画处理
  • FFMPEG:将 YUV 数据转储到 AVFrame 结构中

    我正在尝试转储YUV420数据进入AVFrameFFMPEG 的结构 从下面的链接 http ffmpeg org doxygen trunk structAVFrame html http ffmpeg org doxygen trunk
  • ffmpeg 配置复杂过滤器时出错

    ffmpeg 命令存在一些问题 也许有人可以指出我正确的方向 我使用此链接来构建我的命令 那么问题 https stackoverflow com questions 7333232 how to concatenate two mp4 f
  • id3 图像编辑后播放 mp3 时遇到问题

    由于硬件限制 我们生产的软件试图确保导入到其库中的任何音频文件 准备复制到硬件上 都是可接受的比特率 最近 我们开始使用 FFmpeg 将许多不同的音频类型转换为 mp3 以便在我们的硬件上导入和使用它们 虽然转换工作正常并且 mp3 文件
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • 如何从 ffmpeg 中打开的文件获取流信息?

    我正在尝试使用 ffmpeg 读取视频文件 我有与其旧版本相对应的工作代码 并开始尝试升级到最新的构建版本 将所有这些已弃用的函数替换为其实际的类似函数 但是我遇到了问题 似乎没有检索到任何流 并且视频负载停止在轨道中 这是我正在使用的代码

随机推荐

  • 为什么继承不能按照我认为应该的方式工作?

    我遇到了一些继承问题 因为我有一组相互关联的抽象类 需要一起重写它们才能创建客户端实现 理想情况下 我想做类似以下的事情 abstract class Animal public Leg GetLeg abstract class Leg
  • Excel VBA 检查插件是否已安装但未打开

    我有以下代码来检查所需的插件是否已安装 可用 然后再从当前上下文调用该插件中的脚本 Function IsAddinEnabled addinName as string As Boolean IsAddinEnabled True Dim
  • 资产目录与文件夹参考:何时使用其中之一?

    我可以将文件放入Assets xcassets或者我可以将文件放入文件夹引用 蓝色文件夹 中 我什么时候会选择其中之一而不是另一个 您可能应该使用资产目录 因为这就是 Apple 希望您今后使用的内容 工具将反映这一点 并且它们带来了许多优
  • 将 docker 根文件夹移动到新驱动器/分区

    我正在尝试将 var lib docker 文件夹从一个磁盘移动到另一个磁盘 因为它占用了太多空间 我不断遇到一些与权限相关的错误 根据这些问题 如何将 Docker 容器的映像移动到永久磁盘 https stackoverflow com
  • Spring-boot 启动 tomcat 上下文时出错。创建名称为“servletEndpointRegistrar”的 bean 时出错

    我是 spring boot 的新手 因此 在从 Spring Initializr 引导项目后 我尝试在 intellij 上运行它 但我在启动时遇到错误 以下是versions 爪哇 8春季启动 2 0 6我尝试过更改 spring b
  • 如何在字符串中用反斜杠美元替换美元字符

    我有一个像这样的字符串 String str aLnx5 bK C4EFg 我想换掉所有的美元 带有反斜杠美元的字符 为了得到 String expectedString aLnx5 bK C4EFg String str aLnx5 bK
  • 在ggplot2中绘制饼图

    我想绘制一个合适的饼图 然而 该网站之前的大部分问题都来自stat identity 如何绘制像图 2 这样的普通饼图 其角度与cut 我正在使用diamonds来自 ggplot2 的数据框 ggplot data diamonds ma
  • Go 中的 URL 生成器/查询生成器

    我感兴趣的是通过浏览器或 CLI 动态获取用户的参数作为输入 将这些参数传递给 REST API 调用 从而使用 Go 动态构建 URL 最终为我获取一些 JSON 数据 我想了解 Go 中的一些技术可以帮助我做到这一点 我认为一种理想的方
  • Ajax 调用提交处理程序 Jquery 验证

    我有一个具有多个选择下拉列表的表单name select 并且此表单是从 Jquery Validation 进行验证的 并且在成功验证后提交处理程序调用 Ajax 我想发送所有表单键和值也包括在数组表单中 这是我的代码 function
  • 如何删除核心数据持久存储

    我需要删除我的持久存储 逐个对象执行此操作并不实际 因为我有超过 100 000 个对象 我试过这个 IBAction resetDatabase id sender NSPersistentStore store persistentSt
  • 如何在C程序执行过程中显示自定义提示符?

    我正在尝试在 Linux 中使用 C 程序模拟终端 并且需要我的程序在程序执行时显示自定义提示 有没有办法使用我的 C 程序显示它 我总是可以尝试手动打印 My prompt 每一行 但我正在寻找更好的方法 另外 除了基本库之外 我无法使用
  • 那么为什么 i = ++i + 1 在 C++11 中定义良好呢?

    我见过other https stackoverflow com q 1860461 150634相似的问题 https stackoverflow com q 4336860 150634并阅读defect http www open s
  • JSON.parse 返回 [Object Object] 而不是值

    我的 API 返回 JSON 值 例如 UserName xxx Rolename yyy I need Username and RoleNamevalue seperatly 我尝试了 JSON parse 但它返回 Object Ob
  • 如何编辑表格数据 (ASP MVC)

    我需要能够在浏览器中编辑数据表 我在 MVCContrib 中看到有一个 HTML 帮助器来渲染表格 有用 但是如果我希望用户能够编辑该表怎么办 据我所知 这并没有帮助 解决这个问题的最佳方法是什么 传统的 FORM 里面有一个 TABLE
  • Azure IoT Hub设备消息结构和路由查询

    我使用了来自的 python 示例https learn microsoft com de de azure iot hub quickstart send telemetry python https learn microsoft co
  • 使用“VisualStudio.DTE.10.0”创建解决方案并添加项目

    我正在尝试创建 VS2010 解决方案并从独立应用程序 而不是加载项 添加项目 我可以创建 VS2010 的实例 但我无法确定如何正确创建项目 我只能找到如何使用 EnvDTE80 对象创建项目的示例 这稍后会导致异常 因为该项目文件的格式
  • Android Room 通用 DAO

    美好的一天 Stack 我正在开发一个使用 Android Room 1 0 0 Alpha 5 的 Android 项目 我面临的主要问题是每次我需要从 Room 调用其中一个 DAO 时 我都需要执行类似的操作这 活动 java App
  • 基本树概念:定义祖先

    祖先的定义是什么 更具体地说 E 会是 H 的祖先吗 或者更简单地说 F C A 是 H 的祖先 也许甚至是G 我只是想澄清这个简单的概念 E 不是 H 的祖先 它是uncle因为它是一个siblingF 的parent of H F C
  • R twitterR 包,尽管有限制但仍能获得关注者

    我一直在玩RtwitteR包 但还没有弄清楚如何实现一个系统来收集超过每小时最大数量的数据 Twitter 用户的关注者数量 我知道计划应该是收集最大数量 等待 X 时间 然后重复直到收集完所有内容 但是我该如何使用twitteR包裹 th
  • 使用 FFmpeg 在特定时间将一个视频叠加在另一个视频上

    我正在尝试将一个视频与另一个视频叠加 我按照OP发布的原始命令进行操作here https stackoverflow com questions 35269387 ffmpeg overlay one video onto another