使用 ffmpeg 将一组 YUV 图像转换为视频?

using ffmpeg to convert a set of YUV images to a video?

我正在尝试使用 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 的通配符语法不适用于 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

来自 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