使用FFmpeg转换SER容器中bayerrggb16be格式视频流至单帧图像的问题咨询
使用FFmpeg转换SER容器中bayerrggb16be格式视频流至单帧图像的问题咨询
大家好,我最近在用FFmpeg处理SER容器里的原始视频流,想把它转换成单帧图像时遇到了一些麻烦,想请教各位:
我最初尝试的命令是:
ffmpeg -i my.ser frames_%03d.fits
我的视频流像素格式是bayerrggb16be,但不管输出TIFF还是FITS格式,得到的图像都是乱码——看起来FFmpeg没有正确解析这种16位大端的像素格式。
后来我摸索出了一个临时解决办法:强制用灰度格式来解析输入流,对应的两条命令如下:
- 转换为TIFF格式:
ffmpeg -f rawvideo -pix_fmt gray16be my.ser -pix_fmt + frames_%03d.tif - 转换为FITS格式:
ffmpeg -r 1 -f rawvideo -pix_fmt gray16be my.ser -f segment -segment_time 1 frames_%03d.fits
注:输出FITS格式时必须把输入流分割成单帧,否则所有帧会被保存为一个FITS序列文件
现在的问题是:用这个方法转FITS帧完全正常,但转TIFF格式时,原始像素值出现了明显的偏移,感觉像是色彩空间或者格式转换环节出了问题……
备注:内容来源于stack exchange,提问作者Eyecon
相关产品推荐
相关产品推荐

