2012-07-07 171 views
2

我有UYVY422格式的原始视频,我想将其转换为YUV420p。 我'执行该命令()FFmpeg conversion从UYVY422到YUV420P

ffmpeg -y -r 25.0 -f rawvideo -s 1920x1080 -pix_fmt uyvy422 -i input.avi -pix_fmt yuv420p -f avi -r 25 -s 1920x1080 output.avi 

和我的输出视频似乎漂浮(视频的右侧开始出现在左边缘,它是从左至右移动)

有没有人知道我做错了什么?我试图设置输出视频为原始格式,但它没有工作... \

回答

3

与ffmpeg我想你需要告诉它做一个直接的副本,否则它会尝试编码输出。尝试添加 '-vcodec副本' 选项:

的ffmpeg -y -r -f 25.0 -s rawvideo 1920×1080 -pix_fmt uyvy422 -i input.avi -vcodec复制 -pix_fmt YUV420P -f AVI -r -s 25 1920x1080 output.avi

+1

没有它不工作,我没有转换:通过将视频分为帧,比转换成每个YUV420与Image Magick合成帧,然后将帧连接成输出视频 – risque 2012-12-25 19:52:45

1

我只是做了从yuv420p到yuv444p的转换。我不是100%肯定这会适用于你的情况,但它可能。值得一去:

在Windows命令行:

ffmpeg.exe -y -pix_fmt YUV420P -s -r 1920x1080的30 -i ldr_420.yuv -f rawvideo -pix_fmt yuv444p -s 1920×1080 -r 30 ldr_444.yuv

在Linux中的命令行:。 $/ffmpeg的-y -pix_fmt YUV420P -s 1920×1080 -r 30 -i ldr_420.yuv -f rawvideo -pix_fmt yuv444p -s 1920×1080 -r 30 ldr_444.yuv

在您的情况下,请将输入和输出-pix_fmt替换为所需的格式。

6

的ffmpeg -y -r 25.0 -f rawvideo -s 1920×1080 -pix_fmt uyvy422 -i input.avi -pix_fmt YUV420P -f AVI -r 25 -s 1920×1080 output.avi

问题这里是源代码是一个AVI文件。它可能包含原始的YUV帧,但它不是原始的YUV文件,它仍然具有AVI头等。您告诉它将其解析为原始YUV文件,这就是您看到滚动帧的原因。

我的-i之前只是删除所有的选项,那么就应该正常工作:

ffmpeg -i input.avi -pix_fmt yuv420p -c:v rawvideo -an -s 1920x1080 -y output.avi