【问题标题】:Processing very huge video files in Matlab在 Matlab 中处理非常大的视频文件
【发布时间】:2016-02-25 22:00:04
【问题描述】:

我是 MATLAB 新手,我的视频很少,每个约 100GB(时长 10 小时)。我想计算视频每第 n 帧的一些特征。我关注了this code,但我的电脑只是因为在一个视频中查找帧数而休眠。即

nFrames = get(vidObj, 'NumberOfFrames');

有没有更快的方法来处理像我这样的大型视频,因为这似乎很慢。我也尝试在互联网上寻找,但没有找到任何合理的解决方案。

提前致谢。

【问题讨论】:

  • 100GB,您在处理未压​​缩的视频吗?我的第一次尝试是创建可管理的片段,将您的视频分成易于管理的片段(可能是 1 小时)。使用直接流复制应该不会比复制那个大小的文件花费更多的时间。
  • 代码使用旧语法,vidObj.NumberOfFrames 是新语法,但我认为这不会有任何区别。请注意,该代码可能存在与最新 MATLAB 版本不完全兼容的进一步问题。
  • 我也试过vidObj.NumberOfFrames,但这并没有什么不同。而且我不认为将视频分割成碎片对我的应用有好处。

标签: matlab video-processing


【解决方案1】:

Matlab 很慢,所以你可以用 ffmpeg 代替。保留您的特定功能,您可以使用以下命令从视频中提取单个图像:

ffmpeg -i input.mp4 -vf fps=60 out%d.png

与 Matlab 视频处理相比,Ffmpeg 视频处理要快得多。

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2016-11-09
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多