【问题标题】:ffmpeg: concatenating mp4 files. Video freezes for few seconds on first frame on output mp4ffmpeg:连接 mp4 文件。视频在输出 mp4 的第一帧冻结几秒钟
【发布时间】:2020-05-20 18:26:48
【问题描述】:

我使用 ffmpeg 创建了几个 MP4 文件。所有视频都具有相同的设置和编解码器。唯一的区别是每秒帧数和持续时间。然后我使用下面的命令连接视频。

 ffmpeg -f concat myList.txt -c copy output.mp4

我注意到,在 Windows 媒体播放器中启动/打开 output.mp4 文件时,它会在视频的第一帧停止/冻结大约三四秒,然后开始播放,其余视频具有正确的 fps 并运行顺利。有没有人遇到过这个问题。我希望视频一经推出就开始播放。有什么缓解这个问题的建议吗?

更新:到目前为止,我发现视频长度正是我所期望的。

ffprobe -i output.mp4

当我播放视频时,它运行流畅,但是当我使用 windows 媒体播放器时,它卡在第一帧大约 4-5 秒,然后播放流畅。所以我假设这个问题与媒体播放器(播放前的缓冲区/加载)有关。不过不能确定。

【问题讨论】:

  • 显示myList.txt 中列出的每个输入的信息。 ffmpeg -i input1 -i input2 -i input3 的完整输出。
  • 我在构建合成视频时遇到了同样的问题:ffmpeg -y -r 10 -f lavfi -i testsrc=duration=10:size=192x108:rate=1 -c:v libx264 vid.mp4。我不确定,但这可能是FFmpeg 中的一个错误(将输出文件设置为vid.avi 可以解决它)。你能检查其他文件类型,比如avi吗?
  • @llogan 在vid.mp4 中,第一帧被复制了 10 次(执行上述命令时)。
  • @llogan 我正在尝试用新的帧速率重新混合输入。输入速率为 1fps - 模式计数器每帧增加。输出帧率应为 10Hz。我认为这是语法。也许我大喊发布一个关于它的问题。谢谢

标签: ffmpeg mp4


【解决方案1】:

我通过将输入文件转换为 avi 并将它们调整为相同大小解决了这个问题。

然后运行

ffmpeg -i "concat:file1.avi|file2.avi|" -c copy out.avi

【讨论】:

    猜你喜欢
    • 2020-07-15
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多