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

如何用FFMPEG从多个视频中提取视频?

曹智
2023-03-14
ffmpeg -ss 648 -t 29 -i /MatrixMovie.ts -f mpegts -pix_fmt yuv422p -c:v libx264 -preset ultrafast -map 0 snapshot.ts

共有1个答案

卢普松
2023-03-14

您可以在FFMPEG中虚拟地将所有部分连接在一起:

./ffmpeg -i file1.ts -i file2.ts -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -ss 00:04 -t 11 out.ts

简短说明:
-i 为您拥有的每个源文件添加

现在我们需要将所有文件连接在一个过滤器-filter_complex中。[0:v:0][0:a:0][1:v:0][1:a:0]定义所有相关的输入(第一个数字是输入文件的计数器;v=视频流,a=音频流;最后一个数字0只挑选一个找到的流。为每个输入文件添加更多[X:v:0][X:a:0]。命令concat=n=2:v=1:a=1告诉FFmpeg如何处理所有这些流(n=2是因为有2个输入;为每个输入文件增加这个数字;v=1是一个视频;a=1是一个音频输出)。过滤器。

-map“[outv]”-map“[outa]”映射过滤器的输出以便进一步处理。

现在您有一个虚拟视频/音频。例如。如果您有2个持续时间为10秒的输入文件,那么虚拟流现在是20秒长。

-ss00:04-t11您已经知道搜索和修剪视频。

 类似资料:
  • 我想在背景图像上覆盖透明视频。我有一个视频,其中上半部分是RGB对象,下半部分是阿尔法掩码。 现在,为了制作这个,我执行以下步骤:

  • 我有一堆从Youtube下载的视频,我想从他们中提取帧。我使用的当前命令是: 但是我还想设置-r和-t选项。我想要的fps是每个视频的fps,持续时间是他们的持续时间。我知道如果我不设置-r选项,默认值是25 fps。

  • 我想提取原始Yuv帧从mp4剪辑使用FFMPEG。我输入。mp4告诉我视频格式是YUV420P10LE。我使用以下命令来提取帧: 以下是FFMPEG的日志:

  • 在一次ffmpeg调用中提取两个帧(比两次单独调用更快),或 每次调用为ffmpeg提供多个文件(以减少进程启动开销)

  • 我想执行FFmpeg命令,从应用程序的资产文件夹中的视频中提取MP3格式的音频。有关更多信息,请参阅http://writingminds.github.io/ffmpeg-android-java/ 但是我犯了一个错误。请提出解决方案。 JAVA木卫一。IOException:运行exec()时出错。命令:[/data/data/com.example.bansi_vasundhara.vide

  • 但我只想要一张截图,比如01:23:45。或1截图在86%英寸。 对于ffmpegthumbnailer来说,这一切都是可能的,但这是另一个我不想依赖的依赖项。我希望能够用FFMPEG来完成。