1

我尝试在 Matlab 中阅读 4k 视频。我使用下一个代码:

vision.VideoFileReader('my_file.mp4', ...
                              'ImageColorSpace', 'RGB', ...
                              'VideoOutputDataType', 'uint8');

视频文件是从 GoPro 相机获取的,并使用 MPEG-4 H264 编解码器来压缩视频。每帧分辨率为3840 x 2160像素,确实是4k超高清视频。我得到了下一个错误:

Error using coder.internal.errorIf (line 9)
Unable to read video from the file. Use dsp.AudioFileReader to read audio content.
Error in vision.VideoFileReader/setFileInfoProps (line 352)
Error in vision.VideoFileReader/set.Filename (line 150)
Error in matlab.system.SystemProp/parseInputs (line 908)
Error in matlab.system.SystemProp/sysObjSetProperties (line 298)
Error in vision.VideoFileReader (line 133)

来自同一摄像机(意味着相同的编解码器)的视频,但使用 1920 x 1080 像素的分辨率,可以毫无错误地读取。

我使用 Matlab R2014b(64 位),Windows 7 专业版。

有什么想法可以在不将其转换为其他格式的情况下阅读 4k 视频吗?

4

1 回答 1

1

Cathrine,此系统对象使用 Windows API,例如 DirectShow 或 Media Foundation 来读取视频。您可以使用 Windows Media Player 播放此视频吗?如果不是,那么它将无法在 MATLAB 中运行。

我不相信 Windows 默认为 4K 视频提供编解码器。你可以试试: https ://www.mediaplayercodecpack.com/

然后试一试。安装这些编解码器后,如果您能够使用 Media Player 播放但仍然无法使用 vision.VideoFileReader 或 VideoReader,那么您可能应该联系技术支持。

于 2015-06-12T02:50:33.487 回答