是否可以重新缩放和/或调整 IP 摄像头流的色彩空间以提高 MJPEG 图像质量?

是否可以重新缩放和/或调整 IP 摄像头流的色彩空间以提高 MJPEG 图像质量?

使用 IP 摄像头,抓取 h264 流,图片看起来不错。想使用 MJPEG 流,但图像褪色,缺乏对比度,黑色显示为深灰色,白色显示为浅灰色。色度看起来不错(亮蓝色是暗蓝色,黄色是黄色等)。问题在 VLC、FFplay、FFmpeg 中很明显。

ffplay rtsp://cam/h264/stream

Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 1280x720, 30 fps, 30 tbr, 90k tbn, 180k tbc

ffplay rtsp://cam/mjpeg/stream

Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn, 90k tbc

如果摄像头错误报告了其比例或色彩空间,有没有什么办法可以解决?我试过这个,对图片没有影响:

ffmpeg -i rtsp://cam/mjpeg/stream -vf scale=in_range=tv  -f matroska - | ffplay -

任何建议都值得赞赏!

我的ffmpeg版本升级到了4.1-win64-static,原来是3.4。

答案1

设置参数过滤器自 ffmpeg 版本 4.0 开始可用,可以更改输入的颜色范围标志,而不会改变实际像素数据。您可以使用它将 MJPEG 流标记为有限范围。

setparams=range=limited

PS 跳过对视频进行重新编码,这很昂贵并且会损失更多质量,添加-c:v rawvideo

相关内容