Y4M视频文件格式

什么是Y4M

以YUV4Mpeg格式创建的视频文件;这个视频文件存储了一组未压缩的YCbCr图像,这些图像逐帧组成视频;在压缩成MPEG-2或Matroska等更流行的视频格式之前,用作原始的彩色视频格式

Y4M文件是一个纯文本格式的header开始,header有0或多个参数,每个参数以0x20分隔,在所有参数最后以0x0A结束,后面就是YUV原始数据。header后面是任意数量帧数据。每帧数据以固定字符串FRAME开始,我们以这个Y4M文件来一窥究竟。

  • Y4M header中的各参数都以空格(ASCII码为0x20)分隔:
    Y4M视频文件格式_第1张图片

YUV4MPEG2 W384 H288 F25:1 Ip A0:0, 这段话的意思是:
YUV4MPEG2: 签名,这是固定的,在文件的最前面
Y4M文件以一段明文开始,前10字符是YUV4MPEG2+0x20,0x20表示空格字符。紧随其后的是各种视频参数信息,各参数都以空格0x20分隔,写完各种参数后跟一个0x0A(0x0A表示换行字符)来表示Y4M文件头的结束。之后就是FRAME+0x0A+YUVDATE,每个YUV原始数据之前是都会有这样一个固定头部,紧随其后就是按照YCbCr存储的原始YUV数据。

现在我们看年Y4M文件头中的参数信息,这里参数信息特点是用一个字母表示参数类型,后面跟具体的值:

  1. 帧宽:W,如W384
  2. 帧高:H,如H288
  3. 帧率:F,如F25:1 ,25/1,即每秒25帧
  4. 隔行扫描interlacing:I,如
    Ip 表示逐行扫描
    It 表示顶场优先地隔行扫描
    Ib表示底场优先地隔行扫描
    Im:混合模式
  5. 像素的宽高比pixel aspect ratio:A,如
    A0:0 表示未知
    A1:1表示正方形像素
    A4:3表示NTSC-SVCD,480x480拉伸到4:3显示
    A4:5表示NTSC-DVD,720x480压缩到4:3显示
    A32:27表示NTSC-DVD,720x480拉伸到16:9显示
  6. 色彩空间Color space:C,如
    C420jpeg = 4:2:0
    C420paldv = 4:2:0
    C420 = 4:2:0
    C422 = 4:2:2
    C444 = 4:4:4
  7. 注释信息:X,会被YUV4MPEG2解析器忽略。

你可能感兴趣的:(音视频开发,音视频)