笔者在做某个嵌入式linux视频项目的过程中,遇到的需求如下:同事在解码进程中将h264解码为RGB数据,发送给Qt进程,我在Qt进程中通过RPC接收RGB图片数据(至于为啥不是接收压缩后的h264数据,这是历史遗留问题,请别在意),然后在界面中渲染组合成视频画面。结果发现Qt播放出现偶发乱序、回退问题。为了排查是我接收到的数据有问题,还是我Qt代码写得有问题。我一接收到图片数据,就将其保存为jpg图片到硬盘中,然后我们可以通过BitRecoverFree JPEG Viewer这款软件来播放jpg图片,观察接收到的图片是否乱序。该软件可以像视频播放器那样自动播放用户所选相册中的照片。
该软件下载地址:https://www.bitrecover.com/free/jpeg-viewer/
我们将接收到的图片数据按照序号保存到硬盘中。
File -> Open Image
打开第一张图片
Display order -> File name
Play folder as slidershow/movie -> 25fps
然后我们就可以观察这些图片是否乱序了