You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将两个30fps视频合并为60fps视频并交替取帧?

用FFmpeg快速实现双30fps视频交错生成60fps视频

不需要导出所有帧浪费空间,直接用FFmpeg的滤镜就能高效完成,核心是利用interleave滤镜实现帧交替,再强制输出60fps。

基础命令(仅处理视频)

如果不需要保留音频,或者两个视频都没有音频,用这条命令:

ffmpeg -i inputA.mp4 -i inputB.mp4 -filter_complex "[0:v][1:v] interleave, fps=60" -c:v libx264 -crf 23 output.mp4
  • [0:v][1:v] interleave:把两个输入视频的帧按顺序交错合并(A1→B1→A2→B2...)
  • fps=60:将输出视频的帧率锁定为60fps,刚好匹配交错后的帧密度
  • -c:v libx264 -crf 23:用H.264编码输出,CRF23是兼顾画质和体积的默认参数,数值越小画质越好(范围0-51)

带音频的处理方案

保留其中一个视频的音频

比如只保留视频A的音频:

ffmpeg -i inputA.mp4 -i inputB.mp4 -filter_complex "[0:v][1:v] interleave, fps=60" -c:a copy -map 0:a output.mp4
  • -c:a copy:直接复制音频流,避免重新编码损耗
  • -map 0:a:指定取第一个输入(视频A)的音频

混合两个视频的音频

如果需要同时保留两个视频的音频并混合:

ffmpeg -i inputA.mp4 -i inputB.mp4 -filter_complex "[0:v][1:v] interleave, fps=60; [0:a][1:a] amix=inputs=2:duration=longest" -c:v libx264 -crf 23 output.mp4
  • amix=inputs=2:duration=longest:混合两个音频流,以较长的音频时长为准

注意事项

  • 确保两个输入视频的分辨率、帧率一致,否则FFmpeg会自动调整,但如果分辨率差异大,建议先统一分辨率,比如把视频B缩放到和A一样的尺寸:
    ffmpeg -i inputA.mp4 -i inputB.mp4 -filter_complex "[1:v] scale=1920:1080 [b]; [0:v][b] interleave, fps=60" -c:v libx264 -crf 23 output.mp4
    
    把1920:1080替换成视频A的实际分辨率即可。
  • 如果两个视频长度不一致,最终输出视频的长度会以较短的那个为准,或者可以用trim滤镜裁剪较长的视频,保持同步。

内容的提问来源于stack exchange,提问作者Levi_OP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:35:18