FFmpeg的转换,从UYVY422 TO YUV420P(FFmpeg conversion FR

2019-09-19 04:40发布

我在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 

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

有没有人有什么我做错了什么想法? 我试图设置视频输出到RAW格式,但它没有工作... \

Answer 1:

ffmpeg的-y -r -f 25.0 -s rawvideo 1920×1080 -pix_fmt uyvy422 -i input.avi -pix_fmt YUV420P -f AVI -r -s 25 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


Answer 2:

有关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 1920×1080 output.avi



Answer 3:

我只是做了从YUV420P转换到yuv444p。 我不是100%肯定这会在你的情况下工作,但它可能。 值得一去:

在窗口中的命令行:

ffmpeg.exe -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

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

在你的情况,请更换输入和输出-pix_fmt到所需的格式。



文章来源: FFmpeg conversion FROM UYVY422 TO YUV420P