使用 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
我正在尝试使用 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