Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio ffmpeg将无声视频与另一个视频合并+;音频_Audio_Video_Filter_Merge_Ffmpeg - Fatal编程技术网

Audio ffmpeg将无声视频与另一个视频合并+;音频

Audio ffmpeg将无声视频与另一个视频合并+;音频,audio,video,filter,merge,ffmpeg,Audio,Video,Filter,Merge,Ffmpeg,我想用一个命令创建一个来自3个来源的视频: 无声的背景视频 要叠加的较小视频(长度相同,为1),保留其音频 要覆盖的PNG徽标 我可以创建视频,但无法获得音轨。我不明白在这种情况下,-vf是否应该起作用。这就是我试图做的: ffmpeg.exe -y -i MASTER_SILENT_VIDEO.mp4 -vf "movie=SMALLER_VIDEO_WITH_AUDIO.flv, scale=320:-1[inner];movie=MY_LOGO.png[inner2]; [in][inne

我想用一个命令创建一个来自3个来源的视频:

  • 无声的背景视频
  • 要叠加的较小视频(长度相同,为1),保留其音频
  • 要覆盖的PNG徽标
  • 我可以创建视频,但无法获得音轨。我不明白在这种情况下,
    -vf
    是否应该起作用。这就是我试图做的:

    ffmpeg.exe -y -i MASTER_SILENT_VIDEO.mp4 -vf "movie=SMALLER_VIDEO_WITH_AUDIO.flv, scale=320:-1[inner];movie=MY_LOGO.png[inner2]; [in][inner] overlay=800:480,amerge [step1]; [step1][inner2] overlay=30:30 [out]" completed.mp4
    
    “amerge”过滤器应该完成音频合并工作,但它当然不起作用。我发现类似的问题涉及到
    -map
    或filtergraph,但它们指的是混合视频源和音频源;我尝试了几个filtergraph示例,但没有成功。有什么想法吗?

    使用一个输入的音频将一个视频叠加到另一个视频上 使用
    -filter\u complex
    ,消除电影源过滤器,并使用
    -map
    明确定义输出流:

    ffmpeg -y -i main.mp4 -i overlay_with_audio.flv -i logo.png -filter_complex
    "[1:v]scale=320:-1[scaled];
     [0:v][scaled]overlay=800:480[bg];
     [bg][2:v]overlay=30:30,format=yuv420p[video]"
    -map "[video]" -map 1:a -movflags +faststart
    output.mp4
    
    您可能需要根据输入的长度和您希望overlay的反应方式向提供其他选项,但由于您没有从命令中提供完整的控制台输出,因此我不得不创建一个通用的、效率较低的、可能不正确的示例

    将一个视频叠加在来自两个输入的其他合并音频上
    我假设两个输入都是立体声,并且您想要立体声输出。另请参见。

    关于您的答案,如果第一个视频(示例中的main.mp4)也有声音,并且我希望在两个视频中保留两个音频,那么ffmpeg命令会有什么变化?再次完美,无限感谢。我试图理解ffmpeg文档,但对我来说还是有点难。我会挖得更深!
    ffmpeg -y -i main.mp4 -i overlay_with_audio.flv -i logo.png -filter_complex
    "[1:v]scale=320:-1[scaled];
     [0:v][scaled]overlay=800:480[bg];
     [bg][2:v]overlay=30:30,format=yuv420p[video];
     [0:a][1:a]amerge=inputs=2[audio]"
    -map "[video]" -map "[audio]" -ac 2 -movflags +faststart
    output.mp4