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

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)。

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

平台各具特点,可支持多类型的设备、多协议接入,包括国标GB28181协议、RTMP/RTSP/Onvif协议、海康EHOME、海康SDK、大华SDK等,在视频流分发上,能支持全终端、全平台的视频流输出,包括RTSP、FLV、HLS、WebRTC等格式。

原文链接

本文结尾底部,领取最新最全C++音视频学习提升资料,内容包括(C/C++Linux 服务器开发,FFmpeg webRTC rtmp hls rtsp ffplay srs↓↓↓↓↓↓文章底部

猜你喜欢

转载自blog.csdn.net/m0_60259116/article/details/125393960
今日推荐