gpt4 book ai didi

ffmpeg - 使用 FFMPEG 将文件转换为完全匹配另一个规范?

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

我有一系列来自同一来源的文件,因此在我与 FFMPEG 连接的所有方面都具有完全相同的格式

  • 文件1.mov
  • 文件2.mov
  • 文件3.mov

  • 这非常快并且工作正常但是不,我想采用可选的介绍文件(来自许多不同的来源和许多不同的类型)并在加入之前将其转换为与其他文件匹配。
  • 介绍.mp4

  • 我如何用 FFMPEG 做到这一点?
    这会给我所需的一切吗?
    ffprobe -select_streams a:0 -show_entries \
    stream=codec_name,channels -of default=nw=1:nk=1 -v 0 ./file1.mov

    ffprobe -select_streams v:0 -show_entries \
    stream=codec_name,width,height,r_frame_rate,pix_fmt \
    -of default=nw=1:nk=1 -v 0 ./file1.mov
    因此,我可以:
    ffmpeg -i intro.mp4 \ 
    -c:v h264 -s 1280x720 -pix_fmt yuv420p -framerate 30/1 \
    -c:a pcm_s16le -ca 1 intro.mov
    然后将其无缝合并到其余部分?
    ffmpeg -f concat -safe 0 -i videos.txt -c copy merged.mov -y
    答案当然是“不”,因此请求您的支持。
    合并文件 1、2 和 3 时音频很好,但合并前奏 + 1、2 和 3 时音频太快。转换后和合并后,转换后的介绍文件始终可以正常播放,但其他文件在合并后播放音频太快。
    我错过了什么?
    更新:
    所以最后这对介绍有用:
    ffmpeg -i intro.mp4 \ 
    -c:v h264 -s 1280x720 -pix_fmt yuv420p -framerate 30 \
    -c:a pcm_s16le -ac 1 -b:a 512k -ar 32000 intro.mov -y

    最佳答案

    我怀疑 intro.mp4具有比其他音频采样率更高的音频,-f concat正在将虚拟输入文件的音频采样率设置为 intro.mov并与它一起运行。
    要解决此问题,请再次运行您的探针并检查音频采样率(我不记得它在输出中的名称,但可能是“sample_rate”)。让这个号码fs然后转码intro.mp4

    ffmpeg -i intro.mp4 \
    -c:v h264 -s 1280x720 -pix_fmt yuv420p -framerate 30/1 \
    -c:a pcm_s16le -ar fs -ca 1 intro.mov
    替换 fs以您找到的汇率。如果它只是播放得更快,则所有其他音频格式都是兼容的。

    关于ffmpeg - 使用 FFMPEG 将文件转换为完全匹配另一个规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71589315/

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