当前位置: 首页 > 知识库问答 >
问题:

结合多个特定持续时间的视频

郗河
2023-03-14

我将录制多个视频,这样我就可以用FFmpeg获得一个视频文件。

我已经找到了几种方法来实现这一点,但我发现的所有方法都不能与每个视频的特定持续时间相一致。

这意味着他们只关注整个视频。

正是,我想要的是将Video1插入到有特定时间的Video2中。在搜索与此相关的几篇文章时,我查看了许多文章说“ffmpeg不可能”。

所以我试图将Video2分成两个视频(如Video2-1、Video2-2)和conat Video1、Video2-1、Video2-2。

共有1个答案

诸葛乐逸
2023-03-14

你能做的就是在过滤器复合体中使用trim和atrim。

实例

ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v]trim=0:2,setpts=PTS-STARTPTS[v1];[1:v]trim=3:6,setpts=PTS-STARTPTS[v2];[0:a]atrim=0:2,asetpts=PTS-STARTPTS[a1];[1:a]atrim=3:6,asetpts=PTS-STARTPTS[a2];[v1][a1][v2][a2]concat=n=2:v=1:a=1" out.mp4

这将把vid1从0减少到2,vid2从3减少到6,并将它们结合在一起。

 类似资料:
  • 如何使用ffmpeg生成一部电影,使用一个特定分辨率的图像(image1.png)持续15秒,这样当我播放视频时,图像将在屏幕上显示15秒。

  • 对于我的项目,我必须读取在CSV文件中提供给我们的数据并以某种格式将其写出。我几乎完成了,但我遇到的问题是我的程序没有完全读取给定的时间。从这里开始,我的程序只是读取所有给定的时间。 我试图将<code>字符串时间。 这应该会回来 [芝麻街|埃尔莫之最1240:28:11] 但它返回 [Elmo的最佳|芝麻街124;2:29,1:30,2:09,1:46,1:55,2:02,1:42,2:40,1

  • 我正在尝试用FFMPEG录制一段H264视频。 以下是我在FFMPEG中使用的选项: -thread_queue_size 512-framerate 30-f rawvideo-pix_fmt rgb32-video_size 1920x1080-i\.\pipe\pipe_name-vcodec libx264-crf 23-pix_fmt yuv420p-preset超快-r 30“outp

  • 问题内容: 有人可以从下面的数据中告诉我我的会话将持续多长时间吗?-我不确定哪个告诉我 问题答案: 通常,您可以说_session.gc_maxlifetime_ 指定自上次更改会话数据( 而不是 上次调用!)以来的最长生存时间。但是PHP的会话处理有点复杂。 因为会话数据由垃圾收集器,其仅由称为除去用的概率_session.gc_probability合_ 由devided session.gc

  • 使用FFmpeg C API,我试图将输入视频转换成类似动画gif的视频,这意味着没有音频流,视频流为4/fps。 我有解码/编码部分工作。我可以从输出文件中删除音频流,但在降低fps时遇到了问题。我可以将输出视频流的time_base更改为4/fps,但它会增加视频的持续时间-基本上是以慢速模式播放。 我想我需要先删除额外的帧,然后再将它们写入输出容器。 下面是我读取输入帧,然后将它们写入输出容