gpt4 book ai didi

FFMPEG 图像未更新

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

输入文件

  • Python 脚本每 5 秒更新一次覆盖图像
  • 一个小 MP4 文件,将由 concat 输入
  • 循环
  • 一个 MP3 文件作为音频源


  • 命令(更新)

    这是我目前用来组合和流式传输输入的命令。
    ffmpeg -re -i music.mp3 -f concat -i videoincludes.txt
    -r 1 -loop 1 -f image2 -i overlay.png
    -c:v libx264 -c:a aac -shortest -crf 23 -pix_fmt yuv420p
    -maxrate 2500k -bufsize 2500k -preset ultrafast -r 30 -g 60 -b:v 2000k -b:a 192k -ar 44100
    -filter_complex "[1:v][2:v] overlay=0:0" -map 0:a -strict -2
    -f flv rtmp://a.rtmp.youtube.com/live2/{key}

    Als 尝试使用 -framerate 1而不是 -r 1
    问题

    所以问题是图像并不总是更新。有时它会在开始时每隔几秒钟更新一次,但它会在 10-20 秒后停止更新,而日志输出没有任何差异,有时它只是不更新​​。

    然而,我可以确认图像正在由 Python 脚本更新,但 FFmpeg 只是没有选择它。

    我读到将图像的输入格式设置为 image2应该允许它更新,所以我不确定出了什么问题或我能做些什么来改进它。

    最佳答案

    我正在做同样的任务,最后,我想,我找到了答案。
    因为流彼此不同,我们必须用 setpts=PTS-STARTPTS 重置它们的时间戳。让它们以相同的零时间戳开始。另外,尝试使用 image2pipe而不是 image2 .

    这是您的时间戳重置代码:

    ffmpeg -re -i music.mp3 -f concat -i videoincludes.txt
    -r 1 -loop 1 -f image2pipe -i overlay.png
    -c:v libx264 -c:a aac -shortest -crf 23 -pix_fmt yuv420p
    -maxrate 2500k -bufsize 2500k -preset ultrafast -r 30 -g 60 -b:v 2000k -b:a 192k -ar 44100
    -filter_complex "[1:v]setpts=PTS-STARTPTS[out_main]; [2:v]setpts=PTS-STARTPTS[out_overlay]; [out_main][out_overlay]overlay=0:0" -map 0:a -strict -2
    -f flv rtmp://a.rtmp.youtube.com/live2/{key}

    p.s 我认为 -r 中没有必要或 -framerate不再

    关于FFMPEG 图像未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44272948/

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