【问题标题】:using ffmpeg to convert a set of YUV images to a video?使用 ffmpeg 将一组 YUV 图像转换为视频?
【发布时间】:2018-04-04 09:44:45
【问题描述】:

我正在尝试使用 ffmpeg 将一组 YUV 帧转换为 mp4 视频。 我有一组名为(每个都是图像)的 YUV 帧: YUV1.yuv YUV2.yuv . . YUv15.yuv 代码是:

ffmpeg -s 3840x2160 -pix_fmt yuv420p -i YUV%d.yuv -vcodec libx264 -r 30 -s 3840x2160 output.mp4

说明YUV%d.yuv没有这个文件或目录。 我知道 png 或 jpeg 或 bmp 可以命名为 Img%d.png/jpeg/bmp 但也许不能用于 .yuv。 那么有没有办法在ffmpeg中输入一组yuv图片呢?

【问题讨论】:

    标签: ffmpeg h.264 yuv


    【解决方案1】:

    ffmpeg 的通配符语法不适用于 yuv 或其他视频格式,我猜。你可以像这样连接它们:

    cat *.yuv > all.yuv  
    # or cat `ls |grep "\d*.yuv"` > all.yuv if you like
    # or any other complex commands to get the file list
    ffmpeg -i all.yuv -c:v libx264 ...
    

    Reference

    【讨论】:

    • 您可以跳过文件创建(并且必须通知流道具):cat *.yuv | ffmpeg -f rawvideo -s 3840x2160 -pix_fmt yuv420p -framerate 30 -i - -c:v libx264 ...
    • 感谢您的代码。我试过这段代码,但它总是显示找不到“猫”。
    【解决方案2】:

    来自 ffmpeg 文档: 您可以使用 YUV 文件作为输入:

    ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
    

    它将使用文件:

    /tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
    /tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, etc...
    

    我发现我需要使用这一行:

    -r, 21, -pix_fmt, yuv420p, -s, 1280x720, -i, file.Y
    

    https://ffmpeg.org/ffmpeg.html#Video-Options

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-02
      • 2017-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2017-11-10
      • 2020-05-30
      相关资源
      最近更新 更多