预览如何解决Linux下使用ffmpeg转换yuv格式出现的视频图像异常问题?

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了预览如何解决Linux下使用ffmpeg转换yuv格式出现的视频图像异常问题?相关的知识,希望对你有一定的参考价值。

TSINGSEE青犀视频的各个平台部署灵活,视频能力丰富且全面、能满足用户的多场景视频监控需求,平台各具特点,可支持多类型的设备、多协议接入,包括国标GB28181协议、RTMP/RTSP/Onvif协议、海康EHOME、海康SDK、大华SDK等,在视频流分发上,能支持全终端、全平台的视频流输出,包括RTSP、FLV、HLS、WebRTC等格式。

我们在开发测试过程中发现,ffmpeg使用yuv格式缩放时出现了视频图像异常。今天和大家分享一下解决小技巧。

在Linux系统下,将H.265格式的视频转H.264格式,出现下图问题。而在Windows系统中,则没有出现该异常。

所以在H.265转H.264格式过程中,我们需要一步一步保存文件来分析是哪一步转换时出现的问题。

目前转换过程分为以下三步:

1)拿到H.265数据,首先转换为YUV420数据;

2)将转换的YUV420数据,进行缩放分辨率的操作;

3)将缩放的YUV420分辨率,转换为h.264数据。

将以上三步保存成文件发现,只有最后一步YUV420转h.264出现了图像异常问题,视频图像有格子状花屏。原来在Linux系统进行YUV420缩放时,必须指定是缩小还是放大,否则会出现问题,而Windows系统则不需要。

此前在此处转换填入的是默认值,所以出现了上述的花屏现象,需要更改。因为需要缩放视频画面,所以填写一个缩放的参数值即可(SWS_POINT)。

修改后视频格式转换未出现异常。

若用户遇到无法解决的问题,也可以联系我们协助排查。目前我们正在积极研发人工智能技术与视频平台的融合,同时也推出了基于边缘AI计算的AI安全生产摄像机,可实现的功能有烟火检测、安全帽/防护服检测、口罩检测、室内消防通道占用检测、人员入侵检测、周界入侵检测、以及其他智能检测等等,在企业的安全生产监管场景中可发挥重要作用。

以上是关于预览如何解决Linux下使用ffmpeg转换yuv格式出现的视频图像异常问题?的主要内容,如果未能解决你的问题,请参考以下文章

如何将yuv编码为h264,自己编码或者ffmpeg都可以。

使用ffmpeg保存YUV420p文件

音视频开发中如何使用ffmpeg 一帧H264解码YUV420P?

将 RGB 转换为 YUV,+ ffmpeg

OpenCV for Android:使用 Imgproc.cvtColor 将相机预览从 YUV 转换为 RGB

从 YUV420P 到 RGB 的 FFMPEG Api 转换产生奇怪的输出