FFMPEG将多个音频输入文件映射到1个单个图像文件,以便创建多个视频输出文件分割滤镜

问题描述 投票:0回答:1

我试图将ffmpeg映射中的多个输出文件映射到多个输入,但是不是每个输入映射到一个唯一的输出我得到第一个输入映射到第一个视频然后下一个视频永远不会被创建,我将准确描述什么我想在下面实现,

我需要:

  1. 创建多个视频输出文件
  2. 来自多个音频输入文件
  3. 它们都使用相同的一个通用图像文件来创建视频

我将在下面发布我的命令,非常感谢任何帮助

-y -i input1.mp3 -i input2.mp3 -f image2 -loop 1 -r 2 -i imagefile.png -shortest -c:a aac -c:v mpeg4 -crf 18 -preset veryfast -movflags faststart -map 0 output1.mp4 -map1 output2.mp4
ffmpeg command android-ffmpeg php-ffmpeg
1个回答
0
投票

Basic command

ffmpeg -i input1.mp3 -i input2.mp3 -loop 1 -framerate 10 -i imagefile.png -map 2:v -map 0:a -vf format=yuv420p -shortest output1.mp4 -map 2:v -map 1:a -vf format=yuv420p -shortest output2.mp4

每个输出对视频进行过滤和编码一次。

With the split filter

ffmpeg -i input1.mp3 -i input2.mp3 -loop 1 -framerate 10 -i imagefile.png -filter_complex "[2:v]format=yuv420p,split=outputs=2[v0][v1]" -map "[v0] -map 0:a -shortest -movflags +faststart output1.mp4 -map "[v1]" -map 1:a -shortest -movflags +faststart output2.mp4

视频总共过滤一次,并为每个输出单独编码。

Pipe

ffmpeg -y -v error -loop 1 -framerate 10 -i imagefile.png -filter_complex "[0:v]format=yuv420p[v]" -map "[v]" -c:v libx264 -f nut - | ffmpeg -y -i - -i input1.mp3 -i input2.mp3 -map 0:v -map 1:a -c:v copy -shortest -movflags +faststart output1.mp4 -map 0:v -map 2:a -c:v copy -shortest -movflags +faststart output2.mp4

视频经过过滤和编码仅一次,每个输出流都会复制它。

© www.soinside.com 2019 - 2024. All rights reserved.