gpt4 book ai didi

FFMPEG 用 filter_complex 替换视频音频

转载 作者:行者123 更新时间:2023-12-04 23:08:41 28 4
gpt4 key购买 nike

我想要这样的输出视频,其中使用 ffmpeg -filter_complex 机制创建输出音频,

/usr/local/Cellar/ffmpeg/3.2.2/bin/ffmpeg 
-i /uploads/videos/1487684390-lg9htt0RW2.mov
-i /uploads/audios/1487664761-SCPbo6Tkac.mp3
-filter_complex "
[0:a]atrim=0:8.70824980736,asetpts=PTS-STARTPTS[aud1];
[1:a]atrim=0:12.9567301273,asetpts=PTS-STARTPTS[aud2];
[0:a]volume=0.3,atrim=start=8.70824980736:21.6649799347,asetpts=PTS-STARTPTS[slow_aud];
[aud2][slow_aud] amerge=inputs=2[a_merged];
[0:a]atrim=start=21.6649799347:31.6410098076 [remaining_audio];
[aud1][a_merged][remaining_audio]concat=n=3:v=0:a=1[aout]"
-map 0:v -map "[aout]" -c:v copy -acodec mp3
/uploads/output/1487684390-lg9htt0RW2.mov

基于 UTC 时间戳录制的原始音频与基于 UTC 时间戳录制的原始视频
            13:00-------- Original Event Audio -------- 13:20
12:50------------- Event Video Recorded --------------13:30

这是我的要求

所以输出视频的音频应该包含
  • 前 10 秒(12:50 - 13:00)是录制的事件视频的音频
  • 接下来的 20 秒 (13:00 -13:20) 合并音频(原始音频+原始视频,原始视频的音量为 .3)
  • 剩余 10 秒(13:21-13:30)的视频将播放视频的剩余音频

  • 我通过上面的命令得到了什么
  • 前 10 秒(12:50 - 13:00)是录制的事件视频的音频 达到
  • 接下来的 20 秒 (13:00 -13:20) 合并音频(原始音频+原始视频,原始视频的音量为 .3)达到
  • 剩余 10 秒(13:21-13:30)的视频将播放视频的剩余音频 未达到
  • 最佳答案

    您尚未按照 concat 过滤器的要求重置剩余音频的时间戳。所以,应该是

    [0:a]atrim=start=21.6649799347:31.6410098076,asetpts=PTS-STARTPTS[remaining_audio]; 

    实现相同结果的更短方法是
    -filter_complex
    "[1:a]adelay=12956.7301273|12956.7301273[mp3];
    [0:a]volume=0.3:enable='between(t,8.70824980736,21.6649799347)'[vid];
    [vid][mp3]amix[aout]"

    关于FFMPEG 用 filter_complex 替换视频音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369250/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com