如何将.yuv视频转换为每帧的.y .u .v

时间:2016-02-10 09:20:23

标签: video yuv

我正在尝试将.yuv视频转换为单独的.y .u .v,用于视频的每个帧。

suppose video has 60 frames then it should output total 180 files. 
.y for 1st frame   .u for 1st frame   .v for 1st frame
.y for 2nd frame   .u for 2nd frame   .v for 2nd frame
.
.
.
.y for 60th frame   .u for 60th frame   .v for 60th frame

有人可以建议怎么做吗?

注意:有一些软件可用,但它们为整个视频提供.y .u .v(只有3个文件作为输出videoname.y videoname.u videoname.v)。

1 个答案:

答案 0 :(得分:1)

来自Wikipedia

  

Y'CbCr经常与YUV颜色空间混淆,通常是   术语YCbCr和YUV可互换使用,导致一些   混乱;当提到视频或数字形式的信号时,   术语" YUV"主要是指" Y'CbCr"。

假设视频采用YCbCr 4:2:0 8bpp plane-separated格式,分辨率为640x480,那么您需要做的就是:

1帧

To extract Y-component
Read 640*480 bytes

To extract Cb-component
Read 640*480/4 bytes

To extract Cr-component
Read 640*480/4 bytes

重复所有帧。

1帧的大小为640*480*3/2=460800 bytes

对于其他 YCbCr格式,请参阅http://www.fourcc.org/yuv.php