当我尝试从 ffmpeg 预处理的视频中读取帧时,遇到了一个恼人的问题。简而言之,我使用以下命令在 ffmpeg 中进行了裁剪和重新编码:
ffmpeg -i concat_output.avi -vf "crop=482:330:100:150" -c:v ffv1 test_crop.avi
输出视频正常,可以在VLC播放器中正常播放。
但是当我在matlab中读取视频时,我发现读取的帧是扭曲的(见下图)。
我花了几个小时搜索网上发布的类似问题,但一无所获。谁能给我一些建议来摆脱这个问题?谢谢!
最奇怪的事情:
我在未裁剪的原始视频(concact_output.avi)中没有发现这个问题。该原始视频也以 ffv1 编码。
如果我进行了裁剪但没有使用以下命令重新编码,则没有发现此问题:
ffmpeg -i concat_output.avi -vf "crop=482:330:100:150" test_crop2.avi
在上述两种情况下,我都可以在 matlab 中正常读取图像,如下所示: