mencoder **.y4m -ovc raw -of rawvideo -vf format=i420 -o **.yuv
就可以啦!
mencoder **.y4m -ovc raw -of rawvideo -vf format=i420 -o **.yuv
y4m to yuv conversion note
1. YUV4MPEG2 format
YUV4MPEG2这种文件格式是一种以头文件存储视频规格的未压缩视频序列。简单来说,在原始的yuv序列的起始和每一帧的头部都加入了纯文字形式的视频参数信息,包括分辨率、帧率、逐行/隔行扫描方式、高宽比(aspect ratio),以及每一帧起始的”FRAME ”标志位。具体的定义可以参考这里的wiki。也可以下载相应的.y4m序列样本观察。
2. y4m序列的播放
太笨,除了mplayer没有找到更好的播放器(单独的yuv序列可以用基本的yuvviewerplus,到处都可以找到)。因为主流的桌面linux发行版安装mplayer以及GUI界面smplayer都很方便,所以就不在windows下面折腾了。
在终端输入
mplayer xxxx.y4m
会自动调用y4m的demuxer和decoder之类的东西,因为头文件信息包含了帧率和分辨率因此无须手动指定。一些常见的快捷键在mplayer的man里面都有说明,比如p暂停,左右键快速前进后退等等。对比来看下yuv序列播放,在终端输入:
mplayer sample-720x576.yuv -demuxer rawvideo -rawvideo w=720:h=576
因为yuv序列只有luma分量和chroma分量的生肉(raw)数据所以必须指定宽高参数。