目录
- 参考
- Y4M格式简介
- Y4M格式规范
1. 参考
2. Y4M格式简介
Y4M(YUV4MPEG2)是一种简单的用来保存YUV(YCbCr)数据的文件格式,文件扩展名为.y4m
。
格式样例: http://samples.mplayerhq.hu/yuv4mpeg2/
FFmpeg支持Y4M的格式,通过下面简单的命令就能得到Y4M格式的数据
ffmpeg -i input.mp4 output.y4m
3. Y4M格式规范
Y4M文件格式见下图
- 一个纯文本格式的header开始。
- header后面是任意数量帧数据。
- 每个帧数据以5个字节的“FRAME”开始,后面跟着0个或多个参数,每个参数前面'0x20',所有参数最后是'0x0A'。后面是YUV原始数据。
Y4M header的规范:
header中各参数信息都以空格(ASCII码 0x20)分隔,signature后面的信息没有顺序要求。各字段格式如下:
字段 | 格式 | 说明 |
---|---|---|
signature | 'YUV4MPEG2' | 固定的字符串,在文件的最前面 |
width | ’W720’ | 以'W'字符开头,其他的信息类似, 以某个字符开头进行标识, 后面跟具体的取值 |
height | ’H480’ | |
fps | ’F30:1’ | 'F30:1'表示的帧率为30/1 |
interlacing | 'Ix' | 'Ip' = Progressive 'It' = Top field first 'Ib' = Bottom field first 'Im' = Mixed modes |
pixel aspect ratio | 'A4:3' | 'A4:3'表示像素长宽比为4/3。 |
colour space | 'C420' | YUV的不同格式 |
comment | 'X****' | 注释,可忽略 |
二进制形式打开一个y4m文件,查看具体的信息: