FFmpeg使用sws_scale转换像素格式后,视频变为绿色条纹背景及部分图像丢失

LINUX下使用FFmpeg采集电脑摄像头,并RTMP推流,使用VLC拉流发现视频如下图所示为绿色背景条纹且比分图像丢失。

FFmpeg使用sws_scale转换像素格式后,视频变为绿色条纹背景及部分图像丢失_第1张图片

        经过问题网上查找资料,以及自己修改代码测试发现是图像格式转换时,前后宽高比例不一致,输入为640*480,输出设置为了1280*720,后将输出设置为同一比例,视频播放正常。

主要涉及到的函数大概有以下几个:

1.av_image_alloc; 2.av_image_get_buffer_size ; 3.av_image_fill_arrays;4.sws_getContext;5.sws_scale。

如果遇到相同问题可排查这几个函数。

你可能感兴趣的:(音视频,ffmpeg)