文件交换

图片缩略图

mmread

读任何媒体文件在Windows、Linux或Mac。

87下载

更新2009年11月12日

查看许可协议

(视频、音频)= mmread(文件名、框架、时间、disableVideo disableAudio, matlabCommand, trySeeking, useFFGRAB)
mmread读取任何媒体文件。现在使用AVbin和FFmpeg捕获数据,这包括url。Matlab的代码万博1manbetx支持所有主要的操作系统和架构上运行。

输入
文件名输入文件阅读(mpg, avi,对wmv, asf, wav, mp3, gif,…)帧指定视频帧捕获,默认全部或指定次[]

时间(开始时间stopTime),默认[]disableVideo禁用所有视频捕获,节省内存或时间disableAudio禁用所有音频采集、节省内存和时间

matlabCommand不返回视频结构,但由matlabCommand调用指定的函数。processFrame.m函数定义必须匹配。看到processFrame。m的更多信息。
trySeeking(真正的)设置为false使代码慢但更精确。如果前几帧是扭曲或计时信息不准确,设置为false。

useFFGRAB mmread的(真正)使用新的版本,它使用ffmpeg。然而,如果一个音频或视频不能看你运行的是Windows设置为false(旧版本)。

输出
视频是一个结构体有以下字段:
宽度视频帧的宽度
高度的视频帧
视频的帧率,如果不能确定它将1。

nrFramesTotal帧的总数在电影《不管有多少被抓获。不幸的是,这并不总是可以确定。如果它是负的,那么它是一个估计基于持续时间和速率(通常只内准确)。它可以是0,在这种情况下,它不能确定。如果这是一个积极的数字应该是准确的。

totalDuration视频的总长度在几秒钟内。
框架结构体数组有以下字段:
cdata[高度宽度X 3] uint8 matricies
colormap总是空的
乘以相应的帧的时间戳(毫秒)
skippedFrames一些编解码器(不是mmread)将跳过重复帧(即与先前相同)在固定帧速率电影节省时间和空间。可以检测到这些跳过帧寻找跳跃在“时间”字段。当帧跳过这一领域将会如此。

音频是一个结构体有以下字段:
nrChannels通道的音频流的数量(1或2)
率音频的采样率,44100。如果不能确定,那么这将是1。

比特位深度的样品(8或16)
整个音频流数据的真实数据。这可以使用wavplay玩。如果指定的时间范围,数据的长度可能不对应的总时间。这通常发生在电影。问题是,音频流的开始通常是计算在第一帧的结束。所以,时间由1 /帧速率转移。

nrFramesTotal音频或帧捕获数据包,该部门的音频帧不一定是有意义的。

totalDuration音频在几秒钟内的总长度。
uint8s帧单元阵列。可能不是很有用。
乘以相应的帧的时间戳(以毫秒为单位)

如果没有视频或音频流对应的结构将是空的。

音频捕获指定帧并没有影响。如果你想要只有一个分段的音频使用3号参数“时间”。指定时间效应两个音频和视频。时间以秒为单位指定(次秒级分辨率支持部分数量交货。1.125),从0开始。万博1manbetx时间被定义为开始时间(包容)stopTime(独家),或使用符号(开始时间stopTime)。

如果有多个视频或音频流,然后将结构长度> 1。例如:音频(1)。数据和音频(2). data。

例子
(视频、音频)= mmread (“chimes.wav”);%读取整个wav文件
wavplay (audio.data audio.rate);

视频= mmread (“mymovie.mpg”);%阅读整个电影
电影(video.frames);

视频= mmread (mymovie.mpg, 1:10);%得到只有第一个10帧

视频= mmread (mymovie。3.5 mpg的[],[0]);%读第3.5秒的视频

(视频、音频)= mmread(编钟。0.25 wav”, [], [0]);%阅读的第0.25秒wav
(视频、音频)= mmread (“chimes.wav”, [], [0.25 - 0.5]);%读取wav的0.25到0.5秒,与前面的示例没有重叠。

读电影直接从URL
视频= mmread ('http://www.nature.com/neuro/journal/v9/n4/extref/nn1660-S8.avi”);

视频= mmread (“mymovie.mpg”,[][],假的,真正的);%阅读所有帧,禁用音频

mmread (mymovie.mpg,[][],假的,假的,“processFrame”);%使用内联处理所有帧processFrame.m在电影中使用函数

引用作为

弥迦书里歇尔(2020)。mmread(//www.tianjin-qmedu.com/matlabcentral/fileexchange/8028-mmread), MATLAB中央文件交换。检索

评论和评级(350年)

谢谢你的帖子。我成功地阅读的数字化音频流使用函数mmread .vma文件。

剑李

布莱恩

出色的工作!

我想使用这个不支持嵌入式系统,通过Matlab,但支持八度(不确定是否允许提及O字:- s)。万博1manbetx为了做到这一点我需要编译代码为八度墨西哥人文件。你可以发布您所使用的头文件来编译墨西哥人文件?

Soah李

嗨米迦,

感谢分享这个函数。

我有一个麻烦运行代码。我认为这是一个配置问题。我用MacOS高塞拉10.13.6和Matlab
R2018a。请告诉我如何配置库来解决这个问题通过我的电子邮件<“soahlee@stanford.edu”>。

提前谢谢吨。

最好的,
Soah
- - - - - - - - - - - - - - - - - - - - - - - -
无效的MEX-file ' /用户/ soahlee /下载/ FFGrab。mexmaci64”: dlopen(/用户/ soahlee /下载/ FFGrab。mexmaci64, 6):库加载:
@loader_path / libmex.dylib
引用:/用户/ soahlee /下载/ FFGrab.mexmaci64
原因:没有找到图片。

错误mmread(第146行)
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

avi2tiff误差(1号线)
(视频、音频)= mmread (01. avi,[],[],假的,假的,“processFrame”);

不错的工作,这取决于我最后的项目

奈Dhingra

请帮助在这个错误! !我已经把错误放在FFGrab的使用。

错误使用mexDDGrab
一个对象或名称不存在。

错误mmread(第367行)
mexDDGrab (buildGraph,文件名);

嘿,
我使用这个函数与FFV1读视频编码。那是512年x424。现在我换了1440 x810和尺寸的帧数0,我无法阅读框架。你知道为什么吗?

双线性插值在流媒体视频分割是什么

我玩我的音频文件请告诉我我是初学者

错误使用FFGrab
无法打开文件

错误mmread(第146行)
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

错误motio(24)行
mov = (mmread (' Input.wmv ')); clc

我一直有这个错误

我有完全相同的问题如上名

我无法读取老.avi文件早些时候,经常错误,我需要Indeo5编解码器

所以我下载mmread mmwrite,推荐

mmread添加到路径和尝试使用mmread Matlab R2012a使用建议的语法:
v = mmread (originalFilename)

Matlab停止工作和崩溃。
我做错了什么

当我添加mmread Matlab路径,Matlab不响应并退出!
使用Matlab R2011a
显示错误:Matlab已经停止工作

我做错了什么吗? ?

我有问题mmread当我想运行代码返回的命令FFGrab不是定义

美鑫

介绍说,输出音频。数据可以使用wavplay玩。

我你这是:wavplay (audio.data)。但它不工作。
我怎么能使用wavplay“数据”谢谢。

PLeyva

hy张

有用的

梅梅李

很好

优秀的工具。谢谢!

g

你好,当我想要运行这个错误显示。我使用完整路径名称为文件名姚明张说但它不工作。

未定义的函数“FFGrab”“char类型的输入参数。

错误mmread(第146行)
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));


我写一个程序,我用mmreader videofile阅读。我知道想要第一个5帧的视频,然后花个人的直方图帧。
你能请帮我用这个程序吗

张姚

非常强大的功能。我已经成功地运行它。人有这样的问题:“未定义的函数FFGrab或mexDDGrab输入字符”,你可以尝试使用完整路径名称为文件名。

玛丽亚

嗨米迦,

谢谢你的mmread,它对我来说很不错!我在想如果有一个扩展,它还可以读实时信息流H264压缩格式。我需要读取和保存视频传输采用RTSP协议。你知道,如何工作?

谢谢!

玛丽亚

伊兰

弥迦书,

第一次调用mmread。m mpg文件的加载一个五分钟的剪辑工作不错,但坠毁后所有调用Matlab e06d7363 APPCRASH-event错误代码,我相信这是一个墨西哥人之间的兼容性问题文件和我的笔记本电脑与Matlab R2012b windows 7(64位)。这甚至发生如果我重新启动笔记本电脑,恢复到以前的原点)所以我试图编译一个新的墨西哥人文件。要做到这一点,我下载一个版本avbin和FFmpeg的需要(不确定版本),但似乎也需要许多其他. h文件(功能。h, inttypes。h, unistd.h)。你以前遇到过这个问题,如果是这样,你知道一个解决方案或你能上传的所有依赖项需要得到这个mmwrite。m函数编译?

谢谢你!

Ami沙

嗨米迦
试着尽可能早地解决我的问题

Ami沙

请尽早的解决方案,因为我使用了mmread代码在我的项目工作。
警告:用户称MEX-file C: \ \电脑
Doctor.com \桌面\ mmread \ FFGrab.dll”。
mex files . dll扩展不会在未来版本执行
MATLAB。

Ami沙

请尽早的解决方案,因为我使用了mmread代码在我的项目工作。

格言

你好,米迦!
我爱你的mmread。
但是最近我开始使用图像采集工具箱,建议保存的格式jpeg 2000 (.mj2)。
因为某些原因mmread崩溃。
我将高兴如果你能建议一些。(除了储蓄在avi =))

Yanwei傅

嗨米迦,
你的优秀MMREAD非常好,甚至比MATLAB内置版本。好像不支持视频/ x-h264解码格式,它将使我们的万博1manbetx项目了。你能帮助添加支持吗?万博1manbetx

很好的工作!不过,我有以下问题。当阅读帧从一个大视频文件和函数对于大型框架indec似乎相当慢。如
视频= mmread (“/ home / tyiannak /桌面/ 05-10-19。avi, [10000]);
运行几秒钟。我想这是由于某种类型的文件。我可以avoide呢?
问候,
西奥多。

嗨。我试图类型mmread(不带任何参数)…然后我的Matlab (R2009b)关闭。在代码中导致这样的东西吗?谢谢!

茗周

只是更新。我最终使用mmreader相反:P,但一点点的欺骗……

obj = mmreader (“test.avi”);
frameCount = 1;

因为我= 1:obj.NumberOfFrames

currFrame =阅读(obj, [frameCount frameCount]);
imwrite (currFrame文件名,jpg);
frameCount = frameCount + 1;

结束

是的…我知道。我吸在编码:P

Risa

伟大的一段代码。我正在vista32并确认FFGRAB小民的解决方案。

阿明

嗨,迈克,

谢谢分享! ! !
在以下问题上可以给我任何帮助?

警告:在目录中“G: \ \ MATLAB工具箱\ code3.0.1 \ piotr_toolbox_V3.01 \ \博士mmread”,
mexDDGrab。现在mexw32 mexDDGrab.dll阴影。
请参阅MATLAB 7.1发行说明。
在seqIo > > frImgs享年311岁
在seqIo 70
错误使用交换
内存不足。为你的选择输入帮助记忆。

错误mmread(第201行)
data =排列(重塑(数据,3、宽度、高度),[3 2 1]);

格雷格

弥迦书,

FFmpeg几天前刚刚发布了1.0版本和发布经常更新。我们容易/可能是mmread更新FFmpeg的用户库/文件,这个函数使用阅读的文件吗?如果是这样,什么指导,我们将不胜感激。如果没有,你有什么计划与最新的更新mmread FFmpeg AVbin版本?

谢谢!

小民

亲爱的所有,

对于那些有错误
? ? ?错误使用= = > FFGrab
无法打开文件

把视频文件(.avi)褶皱mmread相同。米,然后它可以很容易找到的。
否则视频文件的目录(.avi)太长,找到该文件,目录是正确的。

干杯

小民

嗨米迦,
我也遇到这个错误当我运行你的包
? ? ?错误使用= = > FFGrab
无法打开文件

错误= = > mmread享年146岁
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

= = > my_read_try误差在1
(视频、音频)= mmread (“chimes.wav”);%读取整个wav文件

希望很快听到你的

哈里斯

哈里斯

嗨,迈克,

伟大的工作和支持的代码万博1manbetx

我有一个问题在一个可执行的编译mmread当我使用matlab Commnad选项。得到的是错误的
“未定义的函数或方法的processFrame输入参数类型的‘uint8’。”

丹尼尔

嗨,迈克,

第一,伟大的工作! ! !
我的音频有问题*。wmv文件:
(视频、音频)= mmread (“test_mov1.wmv”);
无法打开音频流吗

视频正在读好,但音频是空的…
这并不会发生与其他文件。
这是一个已知的问题吗?

谢谢!

直接的工作。简单的神奇,当我有很多头痛试图读视频数据在MATLAB在Linux上!

没有它的好
I1 = video.frames .cdata (100);

你好
一旦我们有了“视频”如何访问结构的每一帧?
例如,如果我想工作在第一帧2等命令是什么?
谢谢你!

我在使用这个命令有问题…
生成以下错误当我使用它:-
”? ? ?指数超过矩阵维度。”
请告诉我我在哪儿错了

拉维

mov = mmread (Input.wmv); clc
我在上面的线,得到了概率的一般是什么abve线

7点错误= = >无标题的
mov = mmread (Input.wmv); clc

拉维

mov = mmread (Input.wmv); clc
我在上面的线,得到了概率的一般是什么abve线

7点错误= = >无标题的
mov = mmread (Input.wmv); clc

嗨米迦,

我没有意识到负面nrFramesTotal值表示估计的帧数。这使得寻找最后一帧的过程比我使用的方法更简单mmcount。

谢谢,
凯文

嗨,凯文,,

抱歉延迟的回复。我不知道为什么mmread返回的结构对你不起作用,特别是v.nrFramesTotal。如果nrFramesTotal是正的视频帧的数量,如果是负的,那么这个视频不报告的框架和nrFramesTotal总数估计从视频的帧率和持续时间。所以,下面的代码应该适合你:

v = mmread (' somevideo.mpg ', 1);
如果v。nrFramesTotal > 0
vlast = mmread (somevideo.mpg, v.nrFramesTotal);
其他的
%估计最后一帧,试着阅读过去的视频,之后,nrFramesTotal将是准确的。
vlast = mmread (somevideo.mpg, -v.nrFramesTotal * 1.01);
vlast = mmread (somevideo.mpg, v.nrFramesTotal);
结束

希望这有助于
弥迦书

嗨,珍妮花,

你有几个选项。一个是使用64位Matlab(在64位机器上有大量的内存)。另一个选择是读小块的视频和样品图片,以便他们占用较少的内存。最后一个选择是使用processFrame。m界面,输入“帮助processFrame”获得更多信息。

最好的,
弥迦书

看到我的评论Nov.8, 2011。

我写一个程序,使用mmread()计算帧的数量在一个.asf视频没有读取整个文件(//www.tianjin-qmedu.com/matlabcentral/fileexchange/33885-mmcount-m)。这样,就可以读文件的第一个和最后一个帧,而不用担心内存耗尽;它也比读取整个文件快得多。

我给mmread()评级为4;它不是一个5的唯一原因是失踪的这一功能。希望它将很快的某个时候,我就可以退休mmcount ()。

珍妮花

我想读一个英里长约24分钟的影片,这显然是太大,以适应到内存中。然而,即使当我在块,把它说500帧(约8秒),仍然没有足够的内存和数据做任何事。这似乎对吧?
我的主要问题是,我希望能够跟踪(缓慢)移动物体所以我真的需要超过8秒充分区分物体和背景。
有办法延长我能读多少我可以平均在一个更大的样本,或免费的记忆在一个更好的方法吗?谢谢你的帮助。

尼克

神奇的!读视频文件,MATLAB mmreader不能,也比mmreader快读视频文件。好工作!

mmread完美的工作,但我的记忆中。所有我想要的是第一个和最后一个(非常大)asf文件的框架。
视频= mmread (' tmp.asf ', 1);在第一帧工作…有没有一种方法来确定最后一帧的数量,这样我就可以做什么
视频= mmread (tmp.asf, lastFrameNum);
没有读取整个文件吗?

谢谢! ! !

以防它对任何人都有用。一行,将帧转换为灰度在你的回调函数(取代“ProcessFrame”)可能是:

grayFrame =重塑(…
3 * uint16(数据(1:3:结束))+…
6 * uint16(数据(2:3))+…
1 * uint16(数据(三3:结束))、宽度、高度)”;

在适当的范围和精度:

grayFrame = (grayFrame)的两倍。/ (3 + 6 + 1);

这个现在可以显示和显示亮度图像为例。

这适合我的数据库没有错误。

不相关的问题和解决……mmread是个很棒的功能!

更正:我在一个windows 7的机器

我有一个非常严重的问题。Matlab撞两次使用这个功能,现在它不会开始,除非我在nojvm模式下运行它(其他java应用程序运行得很好)。当我试着matlab运行,启动窗口出现,但是没有matlab作为开始,然后就消失了,没有错误消息。

我第一次跑这段代码在一个avi文件的数据库,很光滑。问题发生在我试图利用entis调ffgrab的东东。在定义自己的函数“ProcessFrame”时,我第一次做它极其简单的…只是回应帧数提示前10帧。这一次,然后坠毁。第二次运行后,matlab坠毁,离开我的现状。

我在64位机器上Vista与7.11.0.584 (R2010b)。

有什么建议吗?有一个机会,这是与mmread无关。

在几分钟内找到了工作,伟大的工作在这个代码!非常用户友好。我找不到任何好办法读取mp4文件,直到我看到了这个。很棒的工作!

嗨米迦。对不起,因为一些原因我写的最后发表了在我以前的文章里面我的问题。我用mmread退出特定帧从一个mpeg - 2文件转换从一个VOB文件。我有一个计时器嵌入的图像不匹配的时间视频,我使用这个时间乘以采样率来获得感兴趣的帧数。什么奇怪的是,这与mmread第一分钟左右,然后就完全偏离轨道。我已经检查,以确保嵌入式时间戳是连续的,它是。什么奇怪的是nrFramesTotal显示-683的视频。我想知道这个负值表示解码的帧数的问题,我认为这可以解释我的问题。我不确定这将帮助,但我也注意到,当我玩视频VLC或windows媒体播放器,每隔几分钟时间重置为零,事实上在它看来,这种不一致的框架开始发生。

非常感谢创建mmread和回答问题,这个脚本是完美的问题我在工作!

顺便说一下,我有试过TrySeeking开启和关闭,同样的结果

超忙

亲爱的米迦
现在,我做一个简单的视频播放器,虽然我读过一些关于GUI的书,我也不知道开始我的项目。你能给我一些建议吗?
谢谢!

对不起64位*

太棒了!是开箱即用的。但我希望看到它在一个32位的。
伟大的工作!谢谢!

阿布森

跟进我之前的消息。

我用Matlab R2010a在Windows 7。

阿布森

你好,

我看到这个问题上来,但是没有任何结论性的解决方案。所以,我要问一遍。

我增加了mmread目录和调用
mmread (“xylophone.mpg”);

输出结果是:

? ? ?错误使用= = > FFGrab
无法打开文件

错误= = > mmread享年146岁
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

这个错误消息背后的原因是什么?我怎么能修复它吗?

我刚刚下载了您的代码,并使用它阅读在Matlab mpeg文件。这一事实是工作没有任何问题在Ubuntu上是很好的,所以…谢谢你!

嗨,克里斯,

640 x480未压缩的视频需要每帧640 * 480 * 3个字节或略低于1 mb的内存。如果你为2分钟20帧捕获,20 * 120或640 * 480 * 3 * 2.2 gb的内存。所以,难怪你的内存错误;还2 gb内存最多32位Matlab可以分配。

为了解决这些问题,看视频在较小的抛掷或使用processFrame接口。或者使用mmreader自您正在使用Matlab的新版本。

最好的,
弥迦书

我阅读的评论来验证是否与这个问题,我是唯一一个,看起来像我。它是典型的不能够负载超过2分钟640 x480, 20 fps WMV-encoded和32位Matlab文件而不会耗尽内存吗?我是运行学生版本(32位)Matlab 7.10.0 R2010a在Windows 7 64位。即使阅读在一小部分时间,我超过2分钟的视频后我的内存限制。

哈利

我曾经mmread和mmwrite .avi读写文件的前一段时间,但我真的不记得为什么,可能在速度和内存,最近我在mmreader改变。现在我试图mmread试验,提出一个问题,我认为你会知道的。同样的avi文件通常mmread mmreader不返回相同数量的帧。对一些文件他们都返回正确的numreb但大多数时候他们不。在某些场合mmread返回mmreader numFrames返回的一半。我注意到mmreader回报总是这样,在我的例子中,少或相等的帧。当我播放的文件与BSplayer显示mmreader所表现出的的帧数。

因为它是一个重大的改变,我还没有看到它也许错在我提到的电脑(编解码器或Windows)。
我使用Windows XP SP3和Matlab R2010b

汤姆F

好的更新:刚刚我发了我又试了一次,这一次与有问题的文件在同一个目录下mmread这工作。也许我是愚蠢的,似乎mmread目录添加到path和其他文件上运行该函数不工作。现在尝试去看它如何应对不同的编解码器。

汤姆

汤姆F

你好,我希望这可能解决这个问题,我已经让matlab内置函数来读取Mac OSX上的任何电影文件。然而,它不能读的大部分电影我尝试,给了我以下错误:
? ? ?错误使用= = > FFGrab
无法打开文件

错误= = > mmread享年146岁
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

这种情况发生的所有本地文件我已经试过到目前为止,所有这些都播放QuickTime和其他球员。例如,“木琴。英里/加仑的MATLAB文件附带我的版本给了这个错误。所以. .有人得到这个工作在Mac吗?还有一些其他的库或我需要安装的东西。有趣的是,我有阅读是唯一的URL从自然的例子。

谢谢,

汤姆
Mac OSX 10.5.8
MATLAB 7.6.0 (R2008a)

你好麦克,
伟大的工作!
但是我有一个问题。我与Matlab R2009b运行Windows XP。当我尝试运行”(视频、音频)= mmread (handel.wav);“我得到错误消息:
警告:在目录中“E: \ MATLAB \ \ mmread工作”,mexDDGrab。现在mexw32阴影
mexDDGrab.dll。
请参阅MATLAB 7.1发行说明。
? ? ?错误使用= = > FFGrab
无法打开文件

错误= = > mmread享年146岁
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

但当我再次运行时,它只ruturn
错误= = > mmread享年146岁
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

你能帮我吗?
谢谢你!

你好吉米,

在旧版本的电影Matlab命令播放的视频很快以前玩它。这会是你指的闪烁吗?绕过,你可以试试我的mmplay://www.tianjin-qmedu.com/matlabcentral/fileexchange/15880-mmplay

最好的,
弥迦书

吉米啊

酷,谢谢米迦现在工作。

出于某种原因,当我在matlab中扮演avi视频使用命令电影,我得到这个闪烁在回放的开始。我试着慢慢玩框架,但它仍然会发生,所以在帧之间变化不会发生。我试着aviread和mmread,但电影()用于,闪烁。我也试着消除前几帧但它仍然发生。有谁知道问题是什么吗?

你好吉米,

Matlab的使用mmread在很老的版本(版本),重命名FFGrab。mexw32, FFGrab.dll

您可能还想重命名DDGrab。mexw32 . dll。

最好的,
弥迦书

吉米啊

你好,

我下载mmread并将文件提取到当前目录中。我对Matlab 7 R14运行Windows XP SP1。当我试着运行mmread时,我得到的错误信息:“未定义的函数FFGrab”。我需要编译FFGrab还是什么?

谢谢

是的,非常感谢你与mmplay现在工作,从你:那么聪明)。

另一件事,是的,我想要显示2视频一起在他们两人之间的比较(原始,和噪声干扰)所以我怎么能显示他们在同一时间?
谢谢麦克:)

你好,艾哈迈德,

我以为你是问mmplay。不,你不能使用次要情节显示多个视频在同一图。mmplay只支持在一个万博1manbetx图,如果你尝试播放两个视频同时会出现一个新窗口打第二个视频。

声音和视频这样做:
[v] = mmread (…)
mmplay (v);%确保你通过两个音频和视频结构mmplay以播放视频和音频

如果你还没有得到音频,确保音频结构“a”包含数据和你为mmread启用音频捕捉。

最好的,
弥迦书

嘿,麦克风,我想知道为什么不播放声音在电影显示? ? ?请尽快回复:)谢谢

嘿,麦克风,它最后的作品,但是我想问另一个问题:
我可以用次要情节功能显示多个视频相同的图吗?

你好,麦克
我使用windows 7,当我有一个问题说:

? ? ?错误使用= = > mexDDGrab
一个对象或名称不存在。

错误= = > mmread享年367岁
mexDDGrab (buildGraph,文件名);
所以我想知道到底把其余的文件附有mmread。m文件,我怎么能解决这个问题请,提前谢谢:)

你好,麦克
我使用windows 7,当我有一个问题说:

? ? ?错误使用= = > mexDDGrab
一个对象或名称不存在。

错误= = > mmread享年367岁
mexDDGrab (buildGraph,文件名);
所以我想知道到底把其余的文件附有mmread。m文件,我怎么能解决这个问题请,提前谢谢:)

嗨Casandra,

不幸的是,你没有太多选择。如果您使用的是Windows机器你可以试试useFFGRAB设置为false。除此之外,你所能做的就是知道哪3帧没有解码通过查看视频。乘以向量。

弥迦书

Casandra

你好,
谢谢你的计划,很好!然而,我有一个问题当我读我的视频…我知道它已经完全750帧,但我总是只有747……为什么我失去那些3帧?我能做些什么来获得他们吗? ?
提前谢谢。

非常感谢!能够阅读从wmv帧和mov的linux机器上改善了我的生活质量:)

杰雷米

嗨米迦,
首先大项目。谢谢你贡献! ! !

我想今天第一次使用它,将一个大电影(wmv格式)分成几个子电影(自由格式)。我创建了一个循环,我检索的开始和结束时间是秒。创建的值是正确的。第一子电影提取的工作非常出色,但当涉及到第二个,我得到以下信息:

警告:在目录中“C: \开发\ matlab \ mmwrite”, mmwrite。现在mexw32 mmwrite.dll阴影。请参阅MATLAB 7.1发行说明。
>在test_sync 32
警告:在目录中“C: \开发\ matlab \ mmread”, mexDDGrab。现在mexw32 mexDDGrab.dll阴影。
请参阅MATLAB 7.1发行说明。
在extract_pulses_videos > > extract_sub_video享年73岁
在extract_pulses_videos 33
在test_sync 32

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
分割违反发现星期五2010年7月16日17:15:29
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

配置:
MATLAB版本:7.3.0.267 (R2006b)
MATLAB许可证:34912
操作系统:微软Windows XP
窗口系统:5.1版(2600年建造:服务包3)
处理器ID: GenuineIntel x86家族6模型15步进13日
虚拟机:Java 1.5.0与Sun Microsystems Inc . Java HotSpot VM (TM)客户端混合模式
默认字符集:windows - 1252
(.............)

错误= = > mmread享年195岁
(数据、时间)= FFGrab (“getVideoFrame”,张,f - 1);

我使用windows xp和matlab 7.3。我已经安装了KLite编解码器包在我的电脑上。因为我不能找到一个为我的声卡驱动,我不能useFFGRAB设置为false。我有多次复制错误。

你会对我有什么线索来解决这个问题吗?

最好的,
杰雷米

嗨Vineet,

直接给我发邮件。你有多少次叫mmread才会开始产生问题?我做了压力测试并运行它10000次,没有一个问题。

你用useFFGRAB = =假吗?如果是这样的话,那可以解释你的内存泄漏。很多直接显示过滤器有内存泄漏;没有任何控制。释放内存的唯一方法就是戒烟Matlab。

同时,你可能会考虑使用processFrame。米,而不是调用mmread很多次。这可能不适合你的目的虽然……

最好的,
弥迦书

Vineet

嗨米迦,

我试图从网络获取流媒体视频相机。我能得到帧和成功地处理它们。然而一段时间后,程序停止可能因为缓冲区溢出。我因此构建实时应用程序的代码运行的需要。请告诉我如何从内存清除处理帧,这样我的代码永远不会崩溃。

C C

我还是需要帮助的,我愿意支付某人帮我启动并运行。我甚至尝试在旧2006机器,不能让它工作。任何合格方可以写我。我将按小时支付健康率。谢谢你!

C C

我目前有困难处理一个h .格式化。mov文件使用mmread从我的摄像机。不幸的是,每次我尝试过程视频摄像机,Matlab完全崩溃。其他文件过程非常好。

我目前使用Matlab 2009 b, Windows 7 64位。我试过无数的设置(useFFGrab = true / false)。此外,我已经安装了最新的FFDShow 64位不工作时,我安装在上面的文章中列出的修正,但对于64位。

我已经上传。mov文件下面的位置。如果任何人都可以验证该文件是否设置工作,或提供任何额外的小费,这将是非常有用的。谢谢你!

http://drop.io/sampleh264video/asset/sampleh264-mov

完成了。升级matlab,似乎得到了正确的编解码器和所有工作。谢谢。

可能感兴趣的一些人,但ffdshow没有工作的最新版本为特定h。mov文件我试图使用(卡西欧EX-F1高清视频)。然而老构建:ffdshow_rev1936_20080413_clsid.exe

可以在:
http://sourceforge.net/projects/ffdshow-tryout/files/

欢呼,
T

Risa

嗨,汤姆,

这是一个奇怪的问题。你试过重新启动Windows /重启Matlab ?当你尝试在Windows媒体播放器播放的视频吗?

至于useFFGRAB设置为false,这是因为您使用的是旧版本的Matlab。也许你应该考虑升级……

最好的,
弥迦书

嗨米迦,
首先大项目。谢谢你的贡献。

直到几周前这工作好我尝试几乎任何视频格式。突然开始返回空结构数组:
“0 x0结构体数组字段:“

最初似乎仍然读取文件(。mov在这种情况下,但我得到同样的结果与.avi和.wmf)

我试着使用稍微年长和mmread最新版本的相同的结果(虽然我必须禁用useFFGRAB最新版本或我得到一个”? ? ?未定义的命令/函数FFGrab”消息。我用Matlab 7.0.4视窗xp)

你的想法将不胜感激。

问候,
汤姆

你好安德烈,

我的猜测是,你使用OS X 10.4和我在OS X 10.5编译代码。我没有访问10.4系统所以你唯一的选择是自己升级或尝试编译代码。如果你想自己编译代码,肯定直接联系我,我可以让你通过所有的步骤……

最好的,
弥迦书

弥迦书,

谢谢你所有的工作回应查询到目前为止。我有另一个……

当mmread (“movie.avi”),我得到以下错误:

? ? ?无效的MEX-file ' /用户/…/ FFGrab。mexmaci”: dlopen(/用户/…/ FFGrab。mexmaci, 1):没有发现合适的形象。确实发现:/用户/…/ FFGrab。0 x8000001c mexmaci:未知负载命令。

所有的上市文件位置是相同的。

我用Matlab在Mac OS X 10.4.11 2007。

感谢任何帮助!

安德烈

Borys Golik

嗨Yianos,

你需要复制avbin。dll, C:\Users\a_user\AppData\Local\Temp\a_user\ mcrCache7.10 \ estima0 \ \ mmread工具箱。

问题是,FFGrab。mexw32取决于这个dll。当你编译的程序使用mcc编译后的程序丢失这个dll。

我希望这可以帮助,
弥迦书

嗨拉维,

你有一个示例文件和音频有问题吗?如果是这样的话,我可以看看你的问题。

最好的,
弥迦书

yianos

这就跟你问声好!

优秀的工作(和支持:-)万博1manbetx

我有一个问题在一个可执行的编译mmread测试部署的一部分。

执行生成的exe文件生成以下错误:“catch-able”

? ? ?无效的MEX-file
“C: \ \用户当地a_user \ AppData \ \ Temp \ a_user \ mcrCache7.10 \ estima0 \工具箱\ mmread \ FFGrab.mexw32”:
找不到指定的模块。

错误= = > mmread享年146岁

错误= = > myMatlabProg 37

MATLAB: invalidMEXFile

顺便说一句,FFGrab。mexw32 * *位于“C: \用户当地\ Temp \ a_user \ AppData \ \ a_user \ mcrCache7.10 \ estima0 \工具箱\ mmread \”,相反错误消息!

我试着useFFGRAB = false和一切工作。使用useFFGRAB = true非常快得多,所以我欣赏任何支持。万博1manbetx

欢呼,
y

拉维

这段代码很有用。我用它来提取音频组件从AVI文件,我面临的问题是,提取的音频失真度高,与视频更清晰。在这一点上,我需要更好的音频质量。再次感谢这个实用程序,请帮助如果你能。最好,拉维

好的我用一个旧版本的matlab(32位)和mmread mmread安装文件lib现在功能是在32位和64位matlab。

伟大的工作,谢谢。

这就跟你问声好!

我有一个问题与matlab 7.9.0 mac。
如果我选择useFFGRAB = true我有错误:
? ? ?错误使用= = > FFGrab
无法打开文件
如果我选择useFFGRAB = false我有错误:
? ? ?未定义的函数或方法的mexDDGrab输入参数类型的“字符”。

我已经检查了路径和尝试使用fullpath名称。

你有什么主意吗?

最好的,

Thibaud

你好,帕特里克,

不幸的是,如果你需要的确切的帧数视频和nrFramesTotal并不准确,你唯一的选择就是去结束的文件,并使用计算帧的数量。

你可以尝试这样的:
v = mmread (' mymovie.mpg ', 1);
v = mmread (mymovie.mpg, abs (v.nrFramesTotal) * 1.1);% nrFramesTotal肯定会精确到10%,可能比……

它会产生一个警告(你应该忽视)和有点缓慢,但这是你唯一的选择。

最好的,
弥迦书

这就跟你问声好!

我有一个问题得到的总帧数mod视频文件名。如果我刚读1与mmread帧,那么信息的总帧数(nrFramesTotal)是不正确的。它显示一个负的非正确的数字。如果我读完整段视频它提供了正确的信息。但它减缓了电脑,视频填满记忆。有没有solustion得到的总帧数没有读取整个文件吗?

mod文件被用作标准格式名来自不同摄像机制造商(佳能、jvc) !

最好的
帕特里克

嗨,维,

你需要升级Matlab,或FFGrab = false添加一个声卡或设置disableAudio = true。

最好的,
弥迦书

嗨米迦
我使用最新版本的mmread MATLAB7.0
当我使用mmread FFGrab = true,跟踪误差

? ? ?未定义的命令/函数“FFGrab”。

如果我改变了FFGrab = false

? ? ?无法播放音频流:没有可用的音频硬件或硬件没有响应。

我的视频文件是clock.avi,
请帮我走出这个问题。

致以最亲切的问候

你好,约瑟夫,

抱歉为延迟。我不知道什么是最快的视频编解码器解码;我想在某种程度上,取决于您的系统的规范。如果你有非常快的I / O,未压缩的可能是最快的,但事实上这可能并非如此。

最好的,
弥迦书

约瑟夫

嗨米迦,

伟大的工具集。在我很不受控制的测试,我发现mmread比读快4倍!

我想问如果你知道视频编解码器解码最快会如果我需要抓住,说,一次1000帧随机点的电影。

感谢和祝贺伟大的工作。

j

嗨,曾,

安装的新版本mmread Linux系统上你需要删除avbin。(让mmread重新安装它)或者mmread解压缩到一个新的目录。

安装一个新版本的OS X系统上mmread你必须删除~ / lib / libavbin。dylib然后让mmread reinstal它。

在Windows上,解压缩到现有的目录和所有应该工作。

最好的,
弥迦书

亲爱的弥迦书,

对不起,我会见了FFGrab。mexa64:未定义符号:
用最新版本的mmread avbin_open_filename_with_format再次错误。我的操作系统有64位Ubuntu Linux matlab2009b安装。

早期版本仍然正常工作。

莫里斯

伟大的图书馆,正是我需要的。谢谢。

嗨,恐龙,

几乎可以肯定不是。联系技术支持你的相机是否有另一种方法万博1manbetx来访问视频。

如果你想尝试黑客,你也许能够找出通过反编译java代码是如何工作的。然而,你自己如果你试试这个。

弥迦书

恐龙

是的,你是对的…如果我的观点http://192.168.1.25/image.jpg在IE中我可以看到只有一个形象。流我访问http://192.168.1.25/Aview.htm在ActiveX模式或http://192.168.1.25/Jview.htm在Java模式。可以使用这些URL mmread吗?

恐龙

看起来,你的相机只提供每个请求一个图像当你访问http://192.168.1.25/image.jpg。当你把这个URL在IE或Firefox你看到视频或只有一个照片吗?如果它只有一个图片,我猜,你需要访问另一个URL为了得到图像流。看看你的相机的文档。

最好的,
弥迦书

恐龙

谢谢你快速回复,
mmread mmplay功能正确任何mjpeg视频从硬盘,但当我写
v = mmread ({'http://192.168.1.25/image.jpg”、“mjpeg}, 1:10);
mmplay (v);
我只能看到第一帧和Matlab的答案

警告:框架(s) 2 3 4 5 6 7 8 9 10超过帧的数量
电影。
在mmread > 189
在视频1
警告:并不是所有的帧捕获指定。返回所捕获,但是
比指定的顺序可能不同。
在mmread > 216
在视频1

提前谢谢你的帮助。

嗨,恐龙,

使用相机需要使用一个无证功能。mmread失败的原因是,它不会自动检测视频格式正确阅读时的相机。为了解决这个问题做以下:v = mmread ({”http://192.168.1.25/image.jpg”、“mjpeg}, 1:10);这将读取10帧从相机mjpeg流。

最好的,
弥迦书

恐龙

嗨米迦,
我´使用IP -相机Airlive Ovislink,只发出JPEG流,可以玩web浏览器或一些IP认为软件。我想知道如果你可以使用工具来生成流视频在Matlab和可能使用它等一些高级Blockset实时视频和图像处理。我只是成功得到缓慢图像流与使用Matlab imread ('http://192.168.1.25/image.jpg”)和它的周期时间。但这是非常缓慢的解决方案和不够的。
我真的不能´t任何地方找到解决方案,所以我很欣赏任何建议。提前谢谢!

大家好!

“找不到指定的程序错误已经固定了Win64系统。请下载最新的版本。

最好的,
弥迦书

嗨,李,

你使用什么版本的Windows XP, Vista或这个主题?作为一个临时工作在Matlab在32位模式下运行。

最好的,
弥迦书

这看起来像一个巨大的图书馆,我非常感谢你的工作,它似乎做我需要的一切。
然而,我有一个小麻烦的开始。
当试图加载任何文件,我得到以下错误:

> >视频= mmread (C: \ \用户公众\ \视频样本视频\ Wildlife.wmv”)
? ? ?无效MEX-file“C: \ Program Files \ MATLAB工具箱\ R2009b \ \ mmread \ FFGrab。mexw64”:找不到指定的程序。

错误= = > mmread 146 FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

感谢任何帮助,我相信这是一个非常简单的例子。

嗨,维,

你可以忽略警告消息,因为它是无害的或您可以删除文件mexDDGrab。dll的警告。

最好的,
弥迦书

维bhangdiya

弥迦书先生你好
我用matlab 7.3.0 (R2OO6b)
mmread不操作的功能(下载新版本)

警告:在目录中“E: \ Trail_Code \ Histogram_plot mexDDGrab。现在mexw32 mexDDGrab.dll阴影。
请参阅MATLAB 7.1发行说明。
在hist_image > 7

我检查类似的帖子过时16-jun-09(即尝试使用你想读取该文件的完整路径)。
代码:
我= mmread (“E: \ Trail_Code \ Histogram_plot \ UVSS_Truck.avi ');

但是门警告消息,请回复如何删除这个警告。

提前谢谢。

嗨,托尼,

我没有访问Win64 Matlab版本现在,所以我不能确认是否这是一个普遍问题Win64和mmread的最新版本,或如果它是特定于Windows 7。

尝试运行32位版本的Matlab,看看mmread适合你。

使用依赖沃克(http://www.dependencywalker.com/)你可以(不能保证)找到失踪的dll程序。用它打开FFGrab.mexw64。

最好的,
弥迦书

安东尼锁

嗨米迦,

我有一个vob文件读入matlab快速谷歌提出了mmread和它看起来完美。我已经下载了它,写一个简单的m文件包含
(文件名、路径名)= uigetfile (*。vob”、“选择Vob-file”);
(视频、音频)= mmread (strcat(路径名、文件名));
imshow (Video.frames (1) .cdata);

但当mmread得到以下错误

? ? ?无效的MEX-file用户“c: \ \ acl1 \ matlab \ mmread \ FFGrab。mexw64”:指定的过程不可能
发现。

错误= = > mmread享年157岁
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

= = > readvob误差在2
(视频、音频)= mmread (strcat(路径名、文件名));

我使用一个64位版本的windows 7 rtm Matlab R2009b

我将感激如果你有任何想法为什么它正在发生。

我也试着读一个avi文件,我使用了mmreader过去和有同样的错误。

托尼

嗨Flavien,

我做了一个新版本的mmread不包括isoc99功能。花了一些黑客,但是我找到了一个方法。

弥迦书

嗨了,

伟大的建议,谢谢你包括一个解决方案。不久前我曾看着添加这个但我从未发现的记录方法调用匿名函数在一个墨西哥人的功能。

我将添加到下一个版本。

弥迦书

画Gilliam

弥迦书:伟大的功能!

我有一个小的建议——“matlabCommand”输入也可以接受匿名函数。简单的例子,比如说我想显示一个图像在一个图我的选择:

hfigure =图;
fcn = @ (d w h f t) processImageInFigure (d, w h f t hfigure);
mmread(文件、1:10[],假的,真的,“fcn”);

从理论上讲,这应该工作。“processImageInFigure”进入图处理,而匿名函数“fcn”只有5允许输入(d w h f t)。不幸的是,“mexCallMATLAB”不能直接执行我的匿名函数。

但是有一个简单的方法!可以叫“mexCallMatlab函数宏指令”六个输入-“matlabCommand”字符串/ function_handle第一个输入和(d w h f t)通过第六输入变量作为第二个。这将继续与你的字符串输入,同时让我function_handle也工作。我看到的唯一变化FFGrab.cpp:
1)检查“matlabCommand”输入的一个字符串或function_handle
2)保存“matlabCommand”价值作为“mxArray”而不是“char数组
3)使用“mexCallMATLAB”叫“函数宏指令”六个输入。

我认为这将是一个伟大的除了——希望你会考虑的!
~画Gilliam

嗨Flavien,

我为你考虑的解决方案;万博 尤文图斯然而,它不好看。建议解决这个问题似乎是在您的系统上升级glibc版本2.7或更高版本。我将继续寻找。

最好的,
弥迦书

Flavien

嗨米迦,

感谢这个神奇的工作!显然我有这个“新”错误当试图读取一个mp3文件:

无效的MEX-file’。/ MYMATLAB mp3_toolbox / mmread / FFGrab。mexa64”:。/ libavbin。所以:未定义符号:__isoc99_sscanf。

我试图改变libavbin。libavbin.so。32或libavbin.so。64但我仍然有这个问题,

有线索吗?

提前谢谢,

趋势

嗨,罗尼,

我之前没有注意到您正在使用useFFGrab = = false;在这种情况下,是的,你需要“data =数据(结束:1:1:3:1:1);“注释。新版本的mmread (useFFGrab = = true),这条线需要保持注释掉了。

很高兴你找到了它,
弥迦书

罗尼

弥迦书,
我查看了processframe。m函数。最新. rar文件可供下载,68行是注释。
data =数据(结束:1:1,:,3:1:1);
现在它给正确的取向。
谢谢。

嗨,罗尼,

确保你没有删除processFrame行代码。m纠正方向和RGB值:data =排列(重塑(数据,3、宽度、高度),[3 2 1]);

最好的,
弥迦书

罗尼

嗨米迦。。
伟大的工作。
你提到你纠正图像定位误差以及rgb值的错误。但我还是让这些东西自然倒当我运行。avi ....我做错了什么吗?

视频= mmread (“C: \文档和设置桌面\ CN \ \罗尼\ nature.avi”,[],[],假的,真的,processFrame,真的,假的)

嗨,撒母耳,

删除libavbin。所以libavbin.so和重命名或副本。64年libavbin.so

最好的,
弥迦书

你好再次,

谢谢参观快速的帮助。我试着你的函数的最新版本(25.09),这是我获得的错误信息:

? ? ?无效MEX-file ' /家庭/ spachoud / PhD-project /计划/ Utils / mmread / FFGrab。mexa64”: libavbin。所以:错误的精灵类:
ELFCLASS32。

错误= = > mmread享年157岁
FFGrab(“构建”,文件名,fmt,双(disableVideo)双(disableAudio)双(trySeeking));

我很抱歉麻烦,再次感谢你们的支持。万博1manbetx

撒母耳

瓦莱丽

嗨米迦,

伟大的工具!谢谢你!

瓦尔

嗨达沃,

由于很多系统都是错误配置关于libbz2我决定删除mmread依赖它。等待几天我上传出现,在那之后你不应该有任何更多的问题。

最好的,
弥迦书

达沃

嗨米迦

谢谢你的非常有用的工具。

我上运行mmread mac完美。但是我想在linux服务器上运行mmread撒母耳和我有同样的问题。我跟着你的建议关于符号链接但问题仍然存在。上面的错误是:

? ? ?无效的MEX-file ' mmread / FFGrab。mexa64”: libbz2.so.1.0:无法打开共享对象文件:没有这样的文件或目录。

你有什么想法吗?

提前谢谢你……

哦,不要试图编译mexDDGrab。弃用,只有Windows cpp。你应该尝试编译mexFFGrab。cpp相反,但即使对于大多数用户来说是一个重大的痛苦。

嗨,撒母耳,

这是一个系统的依赖问题mmread不是一个问题……libbz2。所以不是在您的系统上安装正确;安装正确的应该有一个符号链接。但因为你没有根,在命令行中运行以下线工作:

#这将使一个符号链接到图书馆与正确的名字,把它放在您的主目录下名为lib目录中
mkdir ~ /自由
ln - s /usr/lib/libbz2.so.1.0.3 ~ / lib / libbz2.so.1.0

如果libbz2.so.1.0 #。*位于其他地方,然后使用完整路径,而不是/usr/lib/libbz2.so.1.0.3;例如我有/lib/libbz2.so.1.0.4
#发现libbz2。所以你可以使用命令“定位libbz2.so”

#这下一行必须每次在你调用Matlab运行,或者你可以把它放到您的. bashrc文件。
出口LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: ~ / lib

# Matlab运行像通常所做的那样……

你好,

真的有用的工具!谢谢。

这是工作正常在Windows(使用R2008b)但是我不工作在Linux 64位。
我也有同样的问题比胡安·卡洛斯但随着Linux机器我使用的是一个中央服务器我不能添加一个符号链接。

我试图编译墨西哥人函数(mexDDGrab.cpp)但它DDGrab失败。h是失踪。

任何帮助吗?

谢谢,

撒母耳

嗨,胡安,

新建一个符号链接(ln - s /usr/lib/libbz2.so.1.0.3 /usr/lib/libbz2.so.1.0),你应该好了。

最好的,
弥迦书

伟大的工具!
我得到一个失踪库错误当运行在Linux 64位:

libbz2.so.1.0:无法打开共享
对象文件:没有这样的文件或目录。

我有一个新版本系统:
/usr/lib/libbz2.so.1.0.3

什么好主意吗?

嗨,曾,

我固定未定义符号的问题。我很惊讶这个早没有人报道。

最好的,
弥迦书

首先谢谢你的优秀工具。

真奇怪,我可以用mmread无缝地7月16日。但是今天当我正在更新版本和试验在相同的视频剪辑,Matlab说

? ? ?无效MEX-file“/ home /太阳/文件/ Hollywood2 / FFGrab。mexa64”: /home/sun/Documents/Hollywood2/FFGrab.mexa64:未定义符号:
avbin_open_filename_with_format。

我使用Ubuntu 9.04 64位,Matlab 2008 b。

提前谢谢!

yoash

许多小时的web搜索在这里结束!
谢谢!

哈利

嗨,简,

我之前认为你的帖子不见了。所以,我只能猜测你的问题是什么。

Mmread试图读取文件的所有必需的关键帧,但是,这个过程并不完美。尝试设置trySeeking = false,这将使阅读速度慢,但会是最准确的。

我希望这可以帮助,如果不是请转发你的问题。
弥迦书

前顶

我只是想到一个可能的解释。上面的代码粘贴前,我做了mmread (infpath, 1);但没有mmread帧之前请求帧。所以也许编解码器只能读取一个关键帧后信任吗?

所以,随机访问文件的读取不能信任,直到一个关键帧,是它吗?请帮助一个笨家伙!

嗨,蜀葵属植物,

您使用的是旧版本的Matlab;我强烈建议你升级。mmread的当前版本不支持你的Matlab版本。万博1manbetx

至于如何安装,简单地将所有文件解压缩到一个目录。然后在Matlab,要么改变当前目录,解压缩文件,或将该目录添加到路径(信息类型的帮助目录)。

是的,mmread和mmplay可以用来发挥MPEG文件,但是,我不建议尝试使用它们来做任何事情甚至远程复杂或精度要求(如拍电影播放器或心理物理学)。

最好的,
弥迦书

我是一个初学者使用MATLAB 6.5.1 MATLAB和我,
以下项目“MMPLAY、MMREAD MMWRITE”,拉开后应该物品被放置的地方。

我的意思是在哪些特定的文件夹吗?像*。m *。dll, *。mex4等。

程序可以帮助我们的项目从MPEG文件。

提前谢谢你

fero

米迦Mercii先生
真的mercii

嗨Fero,

下载链接在页面的顶部,只需点击链接“立即下载”。

是的,你使用的是旧版本。然而,你得到错误消息是说mmread打开/找不到文件。试着用你想要读取该文件的完整路径。例如:
[v] = mmread (c: \贝多\ xpp.wav);

希望有所帮助,
弥迦书

fero

弥迦书先生你好
我用matlab 7.3 R2OO6b
mmread不操作的功能(可能是旧版本)

> >(视频、音频)= mmread (“xpp.wav”);
警告:在目录中“C: \ Program Files \ MATLAB \ R2006b \工作”,mexDDGrab。现在mexw32 mexDDGrab.dll阴影。
请参阅MATLAB 7.1发行说明。
? ? ?无法打开文件

当改变文件我要读,重复的错误
我的意思是与另一个扩展(wmv, avi, .....)

我试图下载新版本或操作这个但是我不能
请告诉我从哪里可以下载合适的版本和我的matlab版本或解决这个问题

对不起,打扰
由于alooot
fero

fero

请回复

嗨,简,

mmread应该工作的新版本就像旧的一样。当我建立FFGrab。mexw32,我包括窗户的方向寻找avbin。dll FFGrab相同的目录中。mexw32所在地。我已经确认这实际上做的工作前一段时间,但最近没有测试过。一旦我获得再次与Matlab的Windows系统,我将测试它。你用的什么版本的Windows ?

作为工作,编辑mmread。m和改变行“如果~ ispc”“如果这是真的”和“如果~ strmatch(电脑,PCWIN)”,“如果这是真的”。在Linux和Mac,没有办法一个库(avbin)加载相同的目录库加载(FFGrab.mex *),所以我有mmread改变当前目录当它被称为然后改变它回来。

希望这有助于
弥迦书

前顶

谢谢你伟大的工具箱,米迦。

对不起,愚蠢的问题,我找不到安装指令?我过去你的旧版本安装在C: \ matlab \ \ mmread \和在所有我的项目要求mmread使用目录。但在安装新版本后,我不能运行mmread除非我avibin复制到当前目录。

我应该把avibin吗?在C:\WINDOWS\system32\吗?一个安装指南文本文件就好了!

谢谢你的时间!

嗨,亚历克斯,

Aviread使用视频窗口(VFW),这是从Windows 3.1天,作为后端。useFFGRAB = false用DirectShow的作为后端,是现代电影的读者界面窗口。useFFGRAB = true利用FFmpeg,这是一个开源的视频读者最初设计为Linux但是现在支持所有主要的操作系统。万博1manbetx使用谷歌可以找到所有这些细节,但是,它可能不会是卓有成效的为您的特定问题。

如果你给我一个视频,你有一个问题,我可以找出为什么useFFGRAB = true并不是为你工作。

弥迦书

嗨米迦,

谢谢你的回应。我确实useFFGRAB = False这是最有可能的问题。然而,我运行在windows机器上,useFFGRAB = true无法读取该文件。我猜我只是有一个不幸的avi文件的批处理。现在我只是检查读失败和通过两种方式调用mmread (useFFGRAB = true / false)和aviread似乎我最可以打开文件。
你知道任何资源我可以探索了解如何将这些不同的后端功能打开/阅读视频?
谢谢你的帮助,
亚历克斯

嗨,亚历克斯,

“不适当的编解码器可以发现错误消息只有适当useFFGRAB = false(即mmread的旧版本)。设置useFFGRAB = true(默认值)可能会解决你的问题。这个版本使用FFmpeg解码视频和支持几乎所有的视频格式和编解码器。万博1manbetx

回答你的问题,aviread和mmread(新旧版本)使用不同的后端读取视频。每个后端支持不同的编解码器万博1manbetx,所以即使是在同一台机器上一个读者可能会读取一个文件,其他不能。

弥迦书

你好,米迦,

我有特定.avi格式的电影,阅读时mmread()抛出“没有能找到适当的编解码器”错误,但当读aviread()就像一个魅力。想为什么mmread无法找到适当的编解码器,但aviread似乎能够吗?

非常感谢,
亚历克斯

嗨,马西莫,

尝试一个新版本的Matlab。2006是一个非常古老的版本,他们没有标准化的64位接口。

如果你非常精通墨西哥人和gcc / g + +,然后你可以尝试编译FFGrab。cpp自己。你可能需要下载avbin的头文件和libavbin.so.64点墨西哥人。

最好的,
弥迦书

你好理查德,

我很高兴mmread适用于你。灰度选择,随时发布您修改的代码行数,这样其他人可以受益。然而,这一次,我不打算添加这个功能。

最好的,
弥迦书

我发现这个函数比标准的matlab函数。我也能够阅读VOB文件DVD。我修改它稍微读我的视频是单色,从而节约内存。就好了这functionallity添加到标准版本。

弥迦书里歇尔先生你好

mmread我非常感兴趣,我使用UBUNTU 7.10在64位机器上,还用matlab版本支持64位架构(matlab R2006a)。万博1manbetxmexa文件,我有一个问题我得到这个错误:

无效MEX-file“/ home /马西莫/ my_matlab / mmread / FFGrab。mexa64”: /home/massimo/my_matlab/mmread/FFGrab.mexa64:未定义符号:mxCreateDoubleMatrix_700.

你有什么建议给我吗? ?

干杯
马西莫

你好,欧文。

完整的电影可能不适合在内存读入Matlab。所以,试着读这部电影在小块,如:
v = mmread (mymovie.mpg, 1:10 0);
v = mmread (mymovie.mpg, 101:200);

我希望帮助,
弥迦书

欧文

嗨米迦,
感谢您promt回复……
我刚发现我的问题导致mmread可能不支持目录的名称在Matlab路径设置在其他语言。万博1manbetx但我使用mmread遇到另一个问题。如果我使用mmread读.mpg文件框架(如少。< 100帧),它将正常工作。当我试图读取整个文件(大约100 MB)或多个帧mmread, matlab系统总是冻结这也可能减缓我的电脑和阅读mpg文件导致失败。我已经尝试了许多方法来修复它,释放我的记忆等视频变量或调整我的电脑的虚拟内存。没有人可以工作或mmread更成功地阅读我的整个运行文件。顺便说一下,我用winxp……你有什么好主意吗?谢谢很多…

致以最亲切的问候
欧文

你好,欧文。

首先,确保文件名是正确的。第二,尝试指定完整路径名称(例:“c: \视频\ \ myvid.mpg ')。最后,如果这些工作设置useFFGRAB =假:
(视频、音频)= mmread (“c: \视频\ \ myvid的东西。英里/加仑,1:10,[],假的,假的,”,真的,假的);

我希望帮助,
弥迦书

欧文

嗨米迦,
我只是试图利用mmread读一些mpg文件可以读取windows媒体播放器很成功。然而,Matlab总是显示“无法打开文件”。我已经安装了几乎所有软件和所有你有推荐像上面提到的评论。但我仍然不能解决这个问题。这对我来说非常紧急使用mmread。你会给我一些建议来解决这个问题吗?谢谢很多…

致以最亲切的问候
欧文

嗨米迦,
不,我使用Win XP 32位。我放弃了。不管怎样,谢谢你这个工具似乎在大多数情况下是非常有用的。

最好的问候,
埃里克

你好埃里克,

你是使用Matlab在Windows 64位吗?如果你是,那你的问题解释道。因为技术原因目前还不支持http阅读在Matlab为Windows 64位。万博1manbetx

作为工作在Matlab在32位模式下运行在64位系统。

我希望能解决你的问题。此外,马可Francini有问题已经解决的旧版本,只有开门mmread (useFFGrab = false)。

最好的,
弥迦书

嗨,肖恩,

解压mmread。zip文件,有没有你想要的。然后在Matlab去文件:设置的路径,然后点击添加文件夹…选择文件夹解压mmread。点击保存,然后mmread应该不管你在什么目录。

最好的,
弥迦书

肖恩

我需要地方所有这一切,这样matlab接受输入“mmread”工作区。我在哪里可以把它,这样它将像内置函数无论目录我什么?

谢谢你!

嗨,亚历克斯,

颜色索引文件总是被转换成“真彩”当使用mmread读。如果你想保持颜色索引你要么必须使用aviread或做类似如下:

城市规划机构(cmap、虚拟、索引)=独特(重塑(猫(2,video.frames.cdata),[], 3),“行”);
帧=重塑(索引、视频。高度的视频。宽度length(video.frames)]);
图、图像(帧(:,:1));%或任何帧#你想要的
colormap(双城市规划机构(cmap) / 256);

这是记忆效率低下但短代码的方式。我会让你找出如何做“真彩”索引转换在逐帧的基础上如果你耗尽内存。

最好的,
弥迦书

你好,米迦,

伟大的项目,急需aviread替换。
似乎不适合使用colormap索引文件(如表示“总是空”用户指南)。
首先,它应该为索引文件和工作我只是滥用吗?如果没有,是否有打算在不久的将来提供索引支持吗?万博1manbetx否则我必须使用aviread索引和mmread真彩。

总之,尽管这是一个了不起的加法!谢谢
亚历克斯

嗨米迦,
我描述的问题我最后的评论出现在nature.com上与样品视频从您的文档和与我的网路摄影机。nature.com读取视频没有问题当我设useFFGrab = false,但网路摄影机的流并非如此。这就是为什么我想尝试和我的网路摄影机ffGrab = true。软件或任何其他防火墙与网路摄影机并不是问题。顺便说一下:2008年4月30日,马可Francini发布了类似的问题。他解决这个问题吗?
对不起,与ffdshow令人困惑的事情。
最好的祝福,Erik

你好埃里克,

你想读的时候锁起来,你的IP凸轮吗?你有试过阅读只是一个简单的视频的第一帧?mmread锁定然后吗?

如果锁只有当你正在阅读来自你的相机(或使用http),那么这可能是一个软件防火墙阻止mmread连接上你的电脑。

只是为了你的信息,FFGrab不使用ffdshow (useFFGrab = false)。

弥迦书

嗨米迦,
我尝试你的建议:
FFGrab)。mexw32已经解压缩
在Matlab 7.04 b),重命名. dll有助于避免错误消息“未定义的命令/函数FFGrab”
在Matlab 7.5 c),重命名. dll不是必需的,
…但不幸的是我遇到一个新问题使用Matlab 7.04或7.5:
当执行mmread的第148行,什么也不会发生很长一段时间(等待几分钟虽然在mmread的“旧”模式,样本视频播放在一秒左右)。Matlab称这是忙,唯一的出路是杀死Matlab程序在任务管理器。ctrl - c不停止执行和Matlab taskman不显示任何活动。
我安装最新版本的ffdshow (ffdshow-rev2844_20090330_xxl.exe),以确保这个问题不是由于ffdshow,也没什么帮助。

埃里克

你好埃里克,

确保你提取FFGrab。mexw32从zip文件。如果文件确实存在那么我唯一能想到的另一件事是你还使用Matlab的旧版本。所以有一个小机会,它将要求您FFGrab重命名文件。mexw32 FFGrab.dll。

我希望帮助,
弥迦书

嗨米迦,

我得到同样的错误消息yl乔在评论从2009年1月16日在使用最新的版本(2009年4月29日下载)mmread useFFGrab设置为“true”:
错误的“未定义的命令/函数FFGrab”发生在第148行,即在第一个FFGrab声明。我在使用Matlab 7.04 SP2赢得XP SP2。当我运行mmread useFFGrab设置为“false”,它的工作原理,至少从nature.com示例文件的文档。但是,我想尝试FFGrab版本从一个轴流IP凸轮,不能读旧mmread模式(useFFGrab = false)。不幸的是,我们乔没有写他如何解决这个问题。
最好的祝福,Erik

Sellavelu

有可能提取单帧视频的每一分钟吗?

tmh

嗨米迦,

我使用“顶级”来监视内存(de)分配。我的一个colleaegue在64位Vista没有这个问题,但他使用一个旧版本的Matlab (R2007b)。愿一切都好!

第谷

嗨tmh,

有内存泄漏的可能性小,特别是对特定的视频。然而,称“清晰视频”应该免费所有(或者至少是几乎所有)的记忆。我试着很难消除泄漏自己的代码。

你是如何验证内存被释放了吗?

弥迦书

嗨,皮特,

processFrame有返回值是一个有趣的想法,但是,我没有看到太多的附加值。这是一个高级特性,大多数用户将能够获得更好的性能(内存分配和速度)使用全局变量,而不是依靠mmread管理。所以,在这个时候,我没有计划增加一个返回值。

最好的,
弥迦书

你能让它这样processFrame返回值?所以我们不需要使用全局变量。

tmh

嗨米迦,

每次我叫mmread matlab R2008b从matlab命令行:

如视频= mmread(' /一些/道路/ / file.MPG ');

随后清晰的记忆:

清晰的视频;

记忆不是收回。我是64位的Linux上运行这款游戏。你知道任何内存泄漏的问题吗?谢谢!

布莱德

我发现libbz2。所以在http://www.bzip.org/downloads.html并设置开始前LD_LIBRARY_PATH matlab。现在的工作。非常感谢。

嗨,皮特,

您或您的系统管理员需要安装bz2 (bzip2)获取您的系统。你不需要重新编译。

最好的,
弥迦书

布莱德

这看起来像一个很好的工具。但我得到错误信息:

无效的路径/ FFGrab MEX-file”。mexa64”: libbz2.so.1.0:无法打开共享对象文件:没有这样的文件或
目录

错误= = > mmread享年148岁
FFGrab(“构建”,文件名,双(disableVideo)双(disableAudio)双(trySeeking));

我怎样才能重新编译Linux x86_64的墨西哥人文件吗?

嗨,克利须那神,

我刚刚测试了3 gpp文件和他们似乎工作好。确保您可以使用mmread阅读其他视频在您的系统上。如果你有具体的文件,你不能读,报告ffmpeg的问题(http://www.ffmpeg.org/)。

最好的,
弥迦书

亲爱的先生,
真正伟大的函数来读取视频。我试着mmread读3 gpp从移动视频文件,但不能读它。你可以修改这个函数来读取3 gpp移动视频文件?。这对我将是很大的帮助。
问候,
克利须那神

嗨Buddala,

您将需要下载mmread和在您的计算机上的所有文件解压缩到某个目录中。那么你需要改变Matlab当前的路径到解压缩(或目录添加到Matlab的路径)。然后您可以使用mmread。

最好的,
弥迦书

雪波

亲爱的米迦

你的编码工作,谢谢!

SnowWave

buddala

我的Matlab软件没有mmread函数。我需要安装任何工具箱。

Izang

亲爱的弥迦书,

使用mmread,我怎么才能视频分辨率的视频信息?我有没有合适的成员对象可以使用吗?

雪波

亲爱的米迦

我已经发邮件给你链接。如果任何eror,告诉我。

请检查它,给我更多的建议。谢谢!

SnowWave

嗨SnowWave,

为了试图解决这个问题,我需要一个文件导致了问题的产生。试图找到一个更小的文件或把它的地方我可以直接下载然后给我发邮件的小文件或大文件的链接。

最好的,
弥迦书

雪波

亲爱的米迦

谢谢你的关注!

.mpg文件我使用“mmread”过程大约是300米。我应该得到几帧的文件,将帧图像。
当我使用mmread让特定的帧并将其形象,我发现它与电影中所示的特定框架不同的球员。我有测试四个文件,得到许多帧,它显示non-ordered。

我有使用matlab 7.7;mmread也最新的。你想测试它吗?

谢谢!

SnowWave

嗨Snowwave,

我刚注意到我原来的职位没有被显示,所以在这里了。

确保您已经安装了最新版本的mmread。如果你mmread仍有问题,请给我一个例子视频导致了问题的产生。

最好的,
弥迦书

嗨,维罗妮卡,

我想我不理解。你是说每一次你叫mmread(阅读同一帧#),它需要更多的时间吗?或者你是说读更高的帧#低花费的时间比读帧#年代?如果是第二个,那么这是可以预料到的。你应该阅读所有你需要的框架使用一个叫mmread;这将是最快的。

最好的,
弥迦书

雪波

亲爱的米迦
谢谢你这个好工具!
它运行时读取.avi文件;帧是正确的。

但当它用于读取.mpg文件以这种方式“mmread (mymovie.mpg, framenumber)”;返回的视频帧出现倒转。

当它用于读取.mpg文件以这种方式“mmread (mymovie.mpg, framenumber[],假的,假的,”,假的,假)”;命令返回的视频帧出现。但这使函数过于缓慢。

你愿意给我更多的情况吗?

谢谢!

SNOWWAVE

亲爱的弥迦书,

谢谢你提供这么好的工具!我用的mmread avi文件大小大于2 gb读取每个帧进行进一步处理。我运行它在Windown(32位)环境中,我指出,这需要更长的时间来阅读更多的帧通过迭代(每次迭代只读取一帧)。例如,大约需要。4秒10帧通过迭代,迭代大约需要10秒100,然后1000年需要很长很长时间的迭代。我不确定是否这就是我应该期待还是因为我用它运行的方式:(目前,我只包括mmread。米,avbin。dll和FFGrab。mexw32文件。

谢谢你的帮助!

V。

你好,

你能建议我下面提到的问题的解决方案:

问)负载的x射线图像脊柱(spine.tif)从MATLAB 7.0——形象
处理工具箱。图片切成4个不同水平然后在伪彩色图
使用黄、红、绿、蓝为每个切片。0级片
是蓝色和片应该是黄色的最高水平。使用grayslice和构造
你拥有colormap。原来情节和切片图像在同一图。(如果
“原始”的形象也在伪彩色显示,这是因为电脑
显示使用相同的三级colormap为图像。在这种情况下,您
前应将切片图像转换为RGB显示)。

petrichor

你好亚当,

不幸的是,最后一版的mmread使用DDGrab (useFFGrab = false)假定有一个声卡;以前的版本没有但有其他的问题与此相关的假设。我只想说,处理音频(即使禁用)DirectShow的比你想象的更加困难。

为了解决你的问题,我需要为你提供一个自定义构建的mmread(这需要我获得一些旧电脑…),你可以找到一个旧版本的mmread漂浮(尝试谷歌,也许这一个:http://www.cs.ualberta.ca/ nray1 / CMPUT617 / HW / mmread /),或添加一个虚拟的音频设备。

为虚拟音频设备你可以试试这个:http://software.muzychenko.net/eng/vac.html
然而,我从未使用过这个,不知道它会为你工作。

最好的,
弥迦书

亚当

嗨米迦,

我试图用mmread .avi文件已经被Cineform输出。我有Cineform编解码器,但当我使用新的FFGrab函数,返回消息是“无法打开视频”。视频名称(在. m文件相同的目录中)是恐龙- 2008 - 10 - 29 - _11 53 - 16. avi。

如果我FFGRAB设置为false,从老mmread操作返回的消息:“不能播放音频流:没有可用的音频硬件,或硬件不回应。”T嗨s is the command I used to call mmread:

mmread (videoName usedFrames (startFrameIndex: endFrameIndex),[],假的,真的,”,真的,假的);

在电脑上我没有音频硬件(使用一个服务器作为工作站),但不应该是一个有争议的问题如果我有“disableAudio”属性设置为“真正的”?我只希望使用视频提取功能。

我今天从这个网站下载代码的最新版本。我是一个32位windows server 2003上运行MATLAB R2008a系统。

有不兼容的Cineform编解码器我知道吗?或者你认为错误是别的地方的过程?

谢谢,

亚当

嗨BHANUJ BAWDHANE,

我不知道是什么版本的mmread你但绝对不是当前版本下载。请下载一遍,告诉我如果你仍然有一个问题。

最好的,
弥迦书

返回的视频帧mmread出现倒看。
和o / p命令窗口所示:
0 x0结构
宽度
高度
nrframestotal

甚至FFgrab不是wrkng。
错误产生:未定义的命令/函数“useFFgrab”

我使用matlab 7.0
窗口xp sp 3所示。
我应该做什么?

H,

刚刚更新的代码。固定了一些bug和速度有一些改进。最值得注意的改进是顺序读取现在快得多。

例如,下面的代码要快得多:
因为我= 0:99
v = mmread (“myvideo.mpg”,(1:10) + 10 *我);%读取一次10帧
结束

指定时间范围时还有助于改善。

享受,
弥迦书

嗨,第谷,

你自己不需要编译代码,所有的墨西哥人文件都包括在内。其实我没打算包括buildlinux。m的邮政编码…

如果你想自己编译它你需要下载的源代码AVbin (http://code.google.com/p/avbin/source/checkout),把它放在mmread称为avbin的子目录。

最好的,
弥迦书

tmh

嗨米迦!
谢谢你的非常有用的代码。

如果任何人都可以帮助,或给一个提示我非常感谢:

我很难获得这个编译Linux 64位系统上(Ubuntu的8.10)。当我发出该命令从命令行buildlinux matlab得到一个警告紧随其后的一系列错误(上市前两个):

警告:您使用的gcc版本“4.3.2-1ubuntu12)”。最早的gcc版本支持墨西哥人是“4.0.0”。万博1manbetx最新版本测试与墨西哥人使用的是“4.2.0”。下载一个不同版本的gcc,访问http://gcc.gnu.org

- > g++ - c -Iavbin /包括-Iavbin / ffmpeg - i / usr /地方/ matlab-R2008b /走读生/包括-DMATLAB_MEX_FILE ansi -D_GNU_SOURCE - fpic -fno-omit-frame-pointer pthread -DMX_COMPAT_32 - o -DNDEBUG“FFGrab.cpp”

FFGrab。cpp: 44:20:错误:avbin。h:没有这样的文件或目录
FFGrab。cpp: 45:35:错误:libavformat / avformat。h:没有这样的文件或目录…


其次是一系列其他错误。

yl乔

嗨米迦

问题已经解决了。谢谢。

有一些错误在这个程序吗?

功能(视频、音频)= mmread(文件名、框架、时间、disableVideo disableAudio, matlabCommand, trySeeking, useFFGRAB)
……

USEFFGRAB = true;

如果USEFFGRAB
……
其他的
.......
结束

参数useFFGRAB不能控制程序。(useFFGRAB吗?USEFFGRAB ?)

嗨yl乔,

Mmread现在需要Matlab 7以上。如果您使用的是Windows可以设置useFFGrab错误,您将能够使用旧版本的mmread 6.5支持。万博1manbetx但是,我强烈建议你升级Matlab。

最好的,
弥迦书

yl乔

嗨米迦,

我想读一个使用mmread avi文件。但是有一个错误:
? ? ?未定义的函数或变量“FFGrab”。

我的Matlab是Matlab 6.5的版本。应该是MATLAB 7 ? (R14)

非常感谢

嗨,亚历克斯,

我不明白如何通过了我的测试…编辑mmread。m和“makedir”改为“mkdir”那么它应该工作。

最好的,
弥迦书

试图运行在Mac OS X(豹)与MATLAB 7.5 v,我得到以下:

mmread (“test1.mpg”)
libavbin。dylib需要安装。
我为你安装这个(不需要管理)?[Y / n] Y
? ? ?未定义的函数或方法的makedir输入参数类型的“字符”。

任何帮助吗?谢谢,一个。

嗨Holger,

方法使用processFrame并不像你所做的,在一个循环中,但一个命令:

mmread (movie.mpg 1:1000[],假的,真的,processFrame,真的,真的);

processFrame将自动呼吁每一帧。为了你做一些有用的东西您需要将结果存储在一个全局变量,然后访问全局变量调用mmread完成后。对全局变量的更多信息,在Matlab提示符下输入“帮助全球”。

至于内存错误。我有一些想法可能导致什么,但如果你正确使用processFrame然后后仍有问题直接联系我。

我希望这可以帮助,
弥迦书

Holger格

嗨米迦,

谢谢你的帮助。你是对的,当我禁用trySeeking,它正确地读取并显示每一帧,我给mmread作为参数。不幸的是,这使得功能对我来说太慢了,所以我必须找到另一种方式。有没有可能mmread trySeeking = true有时不读正确的帧按照framenumber吗?

我看着processFrame选项,对不起,我真的不知道如何使用它,你能提供一些建议吗?我将调整processFrame。米到我的需求,例如它说“%现在做一些与数据…”?然而,我也有我最初的问题(即显示图片不对应framenumber)当我使用processFrame。米不改变:

因为我= 1:1000,
[],mmread (movie.mpg,我假的,真的,processFrame,真的,真的);
结束

显示的图像变化大约每10 ~ 30帧,然后在接下来的10 - 30帧显示的图像不会改变了。

其他观察结果可能有助于找出发生了什么:
——在上面的代码,其中包括“processframe”,我有时
也有matlab内存错误。
——不使用“processframe”,返回的video-structure mmread不包含任何图像数据,即。,video.frames 1 x0结构数组。

我敢肯定,我做错了什么,尤其是processframe——感谢任何帮助。

欢呼,
Holger

嗨,弗兰西斯卡,

我之前也没有注意到这个。您正在使用mmread的旧版本。请尝试新版本,看看是否能解决你的问题。

最好的,
弥迦书

嗨Holger,

能够阅读更多框架装入内存,我强烈建议使用processFrame调查。m (mmread)。至于为什么帧不改变,这可能与trySeeking打开(默认行为)。

例如:
mmread (mymovie.mpg, framenumber[],假的,假的,”,假)

您可以安全地忽略警告信息跟踪。这与Matlab在Windows上改变墨西哥人的文件扩展名的文件。

最好的,
弥迦书

Holger格

亲爱的弥迦书,

感谢这段代码;这似乎解决我的问题在Matlab与mpeg2合作的电影。

我得到同样的警告消息如上弗朗西斯卡指出:

警告:在目录中“D: \常见\ matlab \ _MatlabCentralToolboxes \ mmread”,
mexDDGrab。现在mexw32 mexDDGrab.dll阴影。

但是我可以打开我的mpg-file。这是什么担心吗?

此外,我有另一个问题:我走通过长mpeg2电影,阅读和一次只显示一帧,使用mmread (mymovie.mpg, framenumber)。然而,当我先后framenumber增加1,似乎mmread使检索相同的图像(现在变化可见的显示图像)。只有做大跳有时10或50帧,我真的得到新的框架。

你知道这是怎么回事?

谢谢你的帮助,再次mmread作为一个整体!
Holger

亲爱的弥迦书,

我有以下违反分割问题在使用你的函数:

> >[视频]= mmread (“br100.avi”)

警告:在目录中
“C: \ mmread”,
mexDDGrab。现在mexw32阴影
mexDDGrab.dll。
请参阅MATLAB 7.1发行说明。
minidump保存到文件C: \ \ FR9331纪录片~ 1 ~ 1 \ \ Temp \ matlab_crash_dump.1316.0.dmp税款~ 1

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
分割违反
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

配置:
MATLAB版本:7.5.0.342 (R2007b)
操作系统:微软Windows XP
窗口系统:5.1版(2600年建造:服务包3)
处理器ID: GenuineIntel x86家族6模型14步进8日
虚拟机:Java 1.6.0 Sun Microsystems Inc . Java HotSpot VM (TM)客户端混合模式
默认字符集:windows - 1252

注册状态:
EAX = 0 acea7e8 EBX = 00 bec49c
ECX ace9648 = 00 bec49c EDX = 0
ESI = 000002 f0 EDI = 00000010
EBP = 00000002 ESP = 00 bec43c
EIP = 0 c39657f FLG = 00010206

堆栈跟踪:

这个错误被发现而MEX-file运行。如果MEX-file
不是一个官方MathWorks功能,请检查它的源代码
错误。请咨询外部接口指南信息
在调试mex files。

如果这是一个官方MathWorks函数,请
按照以下步骤MathWorks我们报告这个问题
有最好的机会纠正:

下次启动MATLAB下典型的用法,一个对话框
打开帮你发送MathWorks错误日志。另外,您
可以发送电子邮件到segv@mathworks.com附有以下文件:
C: \ \ FR9331纪录片~ 1 ~ 1 \ \ Temp \ matlab_crash_dump.1316税款~ 1

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

知道这里正在发生什么吗?

很多谢谢!

弗朗西斯卡

大家好!

我只是贡献mmread的全新版本。它现在支持Wi万博1manbetxndows、Linux和Mac。它是一个完整的重写,但仍然几乎相同的功能在Windows系统。但是,如果你需要/想要运行旧版本,只是useFFGRAB设置为false。

代码使用AVbin (http://code.google.com/p/avbin/),构建了FFmpeg (http://ffmpeg.mplayerhq.hu/)。读一个文件,如果你有问题你可以尝试更新avbin库的的avbin网站(包括重命名的文件来匹配的mmread)。

一些Mac用户和所有Linux用户将需要某种形式的安装。如果你是唯一一个使用它mmread的默认安装就会运作的很好。但是,如果多个用户将使用mmread,适当的libavbin文件应该安装在/usr/local/lib由系统管理员(或其他地方)。

享受,
弥迦书

你好,再一次

问题解决了,再次抱歉长线程,它可以被删除
问题是:

第一:
(视频音频)= mmread ((listeT (mm);

让我的糟糕的分割违反

(视频音频)= mmread (cell2mat (listeT (mm)));

解决了这个问题

再次感谢伟大的功能。

伊恩

嗨米迦,
这个工具箱是非常有用的,我阅读我的avi文件没有问题。
然而,当我试着读我的wav文件,我得到一个错误消息,我无法解释。我看到这个错误报告之前别人而是为了另一个函数。
我得到这个错误:(抱歉如果太长)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -分割违反发现在2008年12月04 12:49:35星期四
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

配置:
MATLAB版本:7.5.0.342 (R2007b)
MATLAB许可证:294300
操作系统:微软Windows XP
窗口系统:5.1版(2600年建造:Service Pack 3, v.5657)
处理器ID: GenuineIntel x86家族6模型14步进8日
虚拟机:Java 1.6.0 Sun Microsystems Inc . Java HotSpot VM (TM)客户端混合模式
默认字符集:windows - 1252

注册状态:
EAX d5e9550 = 00000000 EBX = 5
连成一片= 00000000 EDX = 00000200
ESI = 1475 f360 EDI = 00 ced7fc
EBP = 00 cecdc0 ESP = 00 cecd88
EIP = 14 fd283b FLG = 00210202

堆栈跟踪:
[0]mexDDGrab。x00cecdf4 x1475f360 mexw32:0x14fd283b (0, 0, 0 x7840586f 0 x1850c380)
[1]mexDDGrab。x00ced7fc mexw32:0x14fd20fb (0, 0, 1, 0 x00ced88c)
[2]libmex。dll: _mexRunMexFile (0,0 x00ced7fc 1 0 x00ced88c) + 139字节
[3]libmex。dll:私人:空白__thiscall Mfh_mex: runMexFileWithSignalProtection (int, int, struct mxArray_tag * * struct mxArray_tag * *) (0,0 x00ced7fc 1 0 x00ced88c) + 86字节
[4]libmex。dll:公众:虚拟空白__thiscall Mfh_mex: dispatch_file (int, int, struct mxArray_tag * * struct mxArray_tag * *) (0,0 x00ced7fc 1 0 x00ced88c) + 261字节
[5]m_dispatcher。dll:公众:虚拟空白__thiscall Mfh_file: dispatch_fh (int, int, struct mxArray_tag * * struct mxArray_tag * *) (0,0 x00ced7fc 1 0 x00ced88c) + 203字节
[6]m_interpreter。dll: void __cdecl mdCallFunction (int, int, struct mxArray_tag * * struct mxArray_tag * *,类Mfh_MATLAB_fn *) (0,0 x00ced7fc 1 0 x00ced88c) + 56字节
[7]m_interpreter。dll:公众:空白__thiscall ResolverFunctionDesc: CallFunction (struct mxArray_tag * * const int, int, struct mxArray_tag * *常量)(0,0 x00ced7fc 1 0 x00ced88c) + 93字节
[8]m_interpreter。dll:公众:bool __thiscall解析器::CallMFunction (int, int类_m_operand *常量,联盟m_operand_storage *, int,类_m_operand *常量,联盟m_operand_storage *, int *) (0 1 0 x14f9b760, 0) + 1388字节
[9]m_interpreter。dll: bool __cdecl inResolveMFunctionCall (struct _m_function_desc *, int, int,类_m_operand *常量,联盟m_operand_storage *, int,类_m_operand *常量,联盟m_operand_storage *, int *, enum inMarshalType *, int,类mpsTypeSequenceNlhs const *, struct mxArray_tag * (__cdecl *) (int)) (0 x13cdc7b8 0 1 0 x14f9b760) + 195字节
[10]m_interpreter。dll:私人:bool __thiscall accelImpl: MFunctionCall (struct _accelOp * *) (0 x00cede98, 0 x909a1157 0 x15ebf050 0 x14388220) + 179字节
[11]m_interpreter。dll:公众:枚举jitReturnFlags __thiscall accelImpl: Exec (void) (0 x909a11cf, 0 x15ebf050 1 0 x00cee24c) + 205字节
[12]m_interpreter。dll:公众:枚举jitReturnFlags __thiscall accelCode::电话(enum inMarshalType *, int *)常量(0 x00cedf9c 0 x00cedf74 0 x909a1083, 0) + 128字节
[13]m_interpreter。dll:公众:静态bool __cdecl inJit: ExecuteHotSegment (struct _inJitAccelInfo *,枚举操作码*,int, int *) (0 x00cee044, 0 x00cee0f8 0 x00cee0a8 0 x00cee24c) + 1898字节
[14]m_interpreter。dll: int __cdecl inInterp (enum inDebugCheck, int, int,枚举操作码,struct inPcodeNest_tag挥发性*,int *)(2583 269 0) + 338字节
[15]m_interpreter。dll: int __cdecl protected_inInterp (enum inDebugCheck, int, int,枚举操作码,struct inPcodeNest_tag *, int *)(2583 120 0) + 87字节
[16]m_interpreter。dll: int __cdecl inInterPcodeSJ (enum inDebugCheck, int, int,枚举操作码,struct inPcodeNest_tag *, int *)(2583 120 0) + 274字节
[17]m_interpreter。dll: int __cdecl inExecuteMFunctionOrScript(类Mfh_mp *, bool) (0 x146b47e0, 0 x14753200 0 x909a2b3b 0 xffffffff) + 916字节
[18]m_interpreter。dll: void __cdecl inRunMfile (int, int, struct mxArray_tag * * struct mxArray_tag * *,类Mfh_mp *, struct inWorkSpace_tag *) (2,0 x00cee4c4 1 0 x00cee524) + 673字节
[19]m_interpreter。dll:公众:虚拟空白__thiscall Mfh_mp: dispatch_file (struct _mdUnknown_workspace *, int, struct mxArray_tag * *, int, struct mxArray_tag * *) (0 2 0 x00cee4c4, 1) + 29个字节
[20]m_interpreter。dll:公众:虚拟空白__thiscall Mfh_mp: dispatch_file (int, int, struct mxArray_tag * * struct mxArray_tag * *) (2,0 x00cee4c4 1 0 x00cee524) + 28字节
[21]m_dispatcher。dll:公众:虚拟空白__thiscall Mfh_file: dispatch_fh (int, int, struct mxArray_tag * * struct mxArray_tag * *) (2,0 x00cee4c4 1 0 x00cee524) + 203字节
[22]m_interpreter.dll: __catch $ ?inDispatchFromStack@@YAHHPBDHH@Z $ 0 (815 0 x169ab71c“mmread”, 2、1) + 744字节
[23]m_interpreter。dll:枚举操作码__cdecl inDispatchCall (const char *, int, int, int, int, int *) (0 x169ab71c“mmread”, 815年,2,1)+ 156字节
[24]m_interpreter。dll: int __cdecl inInterp (enum inDebugCheck, int, int,枚举操作码,struct inPcodeNest_tag挥发性*,int *)(2 0, 0, 0) + 2739字节
[25]m_interpreter。dll: int __cdecl protected_inInterp (enum inDebugCheck, int, int,枚举操作码,struct inPcodeNest_tag *, int *)(2 0, 0, 0) + 87字节
[26]m_interpreter。dll: int __cdecl inInterPcodeSJ (enum inDebugCheck, int, int,枚举操作码,struct inPcodeNest_tag *, int *)(2 0, 0, 0) + 274字节
[27]m_interpreter。dll: _inInterPcode (2 0 x909a27c3 0,0 x1239ee20”[视频音频]= mmread (listeT(13)) . . ") + 162字节
[28]m_interpreter。dll:枚举inExecutionStatus __cdecl in_local_call_eval_function (int *, struct _pcodeheader *, int *, struct mxArray_tag * *常量、枚举inDebugCheck, bool) (0 x00cef2bc 0 x00cef32c 0 x00cef358, 2) + 152字节
[29]m_interpreter。dll:枚举inExecutionStatus __cdecl inEvalStringWithIsVarFcn (const char *, struct _memory_context * enum EvalType, int, struct mxArray_tag * *常量、枚举inDebugCheck, struct _pcodeheader *, int *, bool (__cdecl *) (void *, const char *), void *, bool) (0 x7ac2177c 0 x1239ee20”[视频音频]= mmread (listeT (13))…”,0,0)+ 2454字节
[30]m_interpreter。dll:枚举inExecutionStatus __cdecl inEvalCmdWithLocalReturnandtype (const char *, int *, enum inDebugCheck, bool) (0 x1239ee20”[视频音频]= mmread (listeT (13))…”0 2 0)+ 107字节
[31]m_interpreter。dll: _inEvalCmdNoEnd (0 x1239ee20”[视频音频]= mmread (listeT (13))…”0 0 0 x914c788a x7ab9e7f0) + 20字节
[32]。dll:枚举inExecutionStatus __cdecl ThrowSignal (const char *) (0 x1239ee20”[视频音频]= mmread (listeT (13))…”,0 x914c7fc6 0 x014d3f90 0 x014d3f30) + 77字节
[33]。dll: __catch _mnParser美元0 (0 x93d507b0 0 x014d3f30 0 x014d3f30, 0) + 292字节
[34]mcr。dll:公众:空白__thiscall mcrInstance: mnParser (void) (0 x93e1596b 0 x004043f0 336710,0) + 62字节
[35]MATLAB。exe: 0 x00401414(4194304 0, 336710年,10)
[36]MATLAB。exe: 0 x00401733 (0, 0, 0 x7ffde000 0 x8054b6ed)
[37]kernel32。x00401910 dll: 0 x7c817067 (0, 0, 0 x78746341, 32)

任何想法?

我用Matlab 7.5.0 (R2007b)

干杯
伊恩

詹姆斯•爱德华兹

太好了!作品在Vista x64马上没有编译

弥迦书里歇尔

嗨Rainer,

窗口直接显示基础设施不支持565编码,因此mmread不要么。万博1manbetx

最好的,
弥迦书

弥迦书里歇尔

嗨,胡须,

问题是视频编解码器用于压缩不准确地报告你的视频的时候。这不是真的mmread的错;然而,要解决这个问题trySeeking设置为false。这将使阅读你的电影慢,但时间和帧信息更准确。

最好的,
弥迦书

Rainerγ射线激光器

一个问题
我有一个avi文件是RGB数据结构565有人知道我怎样才能辛格照片与此结构而不是RGB 888结构

Barba父亲

我注意到一些问题

我用matlab 2007 b(7.5),和wvenever我加载整个电影,totalDuration设置为0。看电影我尝试加载与Photocamera拍摄,他们15 fps 320 x240 (res低、质量)。

同样,当我试图只加载第一帧的电影,我必须写mmread (name.avi, 0),因为如果我写mmread (name.avi, 1),他返回第二帧。

我试过用一些wmv高清电影,但它工作正常。

亚当克

我试图与matlab编译器编译mmread, mcc。
创建的exe崩溃和一个运行时错误1日mexDDGrab()命令try语句后(右)。
我怎样才能解决这个问题呢?

直到哈特曼

弥迦书里歇尔

嗨Mathijs,

这听起来更像是一个影视剪辑快手的问题;你应该联系他们帮忙。mmread无法读取视频到Windows媒体播放器。

如果你是视频的一系列图像,你为什么不读Matlab的图像吗?

对不起,我不能帮助更多,
弥迦书

Mathijs van Vulpen

嗨米迦,

有办法断开需要编解码器从Windows媒体播放器吗?mmread不能读任何与影视剪辑快手我创建的avi文件,因为它无法找到正确的编解码器。Windows媒体播放器不能播放文件,然而VLC播放器可以!和媒体播放器经典也可以!这怎么可能?
影视剪辑快手我创建一个高速avi帧率100 fps从多个位图图像。无关紧要的压缩方法我使用,mmread无法读取文件和媒体播放器不能播放,我怎样才能解决这个问题呢?
尽管aviinfo可以阅读aviread avi文件的信息,然而,无法读取文件:S
请帮助。

Nikeah圣

不能相信我之前没有遇到!这对我使事情更加简单!:-)谢谢!

弥迦书里歇尔

嗨,安德里亚,

你用最新版本的mmread (2008-04-28) ?这听起来就像释放的多线程错误处理。我也不能让它在我的电脑(使用最新版本)。如果你仍然有问题直接发邮件给我。

安德里亚梅洛

嗨米迦,
感谢你你的工作。我mmread安装在笔记本电脑,用MATLAB 7.5版(R2007b)和Windows Vista。
代码没问题,在消除mmread。dll,建议。
Songhao竺先生所述,Matlab是被迫关闭在试图读取一个mpeg2文件。类似的行为被阿巴斯Cheddad解决一个avi文件。
问题出现在第141行mmread: mexDDGrab (“doCapture”),而不是由try / catch实例
这个问题发生使用和不使用ffdshow
我得到这个错误文件”黏液。mpeg”和“dhl。mpeg”,可以从下面的下载网页http://www.stream-video.com/digitaldemo.htm
很重要的一点是,软件不会崩溃,使用相同的文件,如果disableAudio输入参数设置为true
这是一个编码的问题吗?你有什么建议吗?
再次感谢提供mmread。
安德里亚

吴chengmao

布莱恩回族

我已经重新命名为mexDDGrab。mexDDGrab.dll dll。老从Matlab 7.1开始使用mexw32编译后的文件,当一个dll和mexw32同名在同一个文件夹中,它将报告一个警告。

警告:在目录中“C: \ arg_repos \外部\ Matlab \ mmread”, mexDDGrab。现在mexw32 mexDDGrab.dll阴影。
请参阅MATLAB 7.1发行说明。

如果您正在使用Matlab 7.1以下,你可以叫它回来。

斯科特•史密斯

一个真正优秀的媒体读者。我确实花了我1分钟替换aviread()调用视频文件输入与mmread()和它工作好了!

Ajay Patel

弥迦书里歇尔

嗨,马克,

不幸的是,微软并没有提供非常有用的错误消息……

你可以尝试一些不同的调用mmread是否任何区别,如:

%的视频只
v = mmread (“axrtpm: / / 10.3.0.177 mpeg4 / media.amp’, 1:10);

%音频只有
[v] = mmread (“axrtpm: / / 10.3.0.177 / mpeg4 /媒体。amp”,[],[0, 1],真的,假的);

如果没有工作,我们可以试着做一些调试,但这样做的直接给我发邮件。

弥迦书

马可Francini

嗨米迦,

我试过GraphEdit和它不工作;我也试过用媒体播放器和它不工作;我这些实验中使用的URL是rtsp: / / 10.3.0.177:554 / mpeg4 / media.amp。
轴ip相机支持另一个URL axrtp万博1manbetxm: / / 10.3.0.177 mpeg4 /媒体。amp和我试着这GrapEdit和媒体播放器;如果调用mmread (“axrtpm: / / 10.3.0.177 / mpeg4 / media.amp) matlab回复? ? ?没有这样的接口支持。万博1manbetx
现在我能做些什么呢?

谢谢,
马可。

马可Francini

你好,

首先,我想祝贺你对你所做的伟大的工作。这是我的问题:我用一个轴Ip相机。我要做的是处理视频流在Matlab来自ip摄像头。网络摄像机发出运动JPEG流或MPEG4流。我试着推出这个命令mmread (rtsp: / / 10.3.0.177:554 / mpeg4 /媒体。amp的,[],[0 5],假的,假的,“processFrame”);但Matlab回答说“未知错误”。你能帮助或建议我使它工作吗?

非常感谢,
马可。

弥迦书里歇尔

嗨,朱,

代码没有使用ActiveX。它使用DirectShow的,这是一个举的一部分。你必须给我一些更多的细节让我找出错误。如果你能给我您所使用的代码导致的问题将帮助如果你可以发送一个电影引起的问题真的会有所帮助。

弥迦书

songhao朱

这就跟你问声好!好男人。我只是有时一个问题当使用mmread经验,MATLAB将被迫关闭。我重新启动它多次mmread工作,我认为这与ActiveX。我下载新版本“ffdshow”但是问题仍然发生。你怎么认为?
谢谢。

弥迦书里歇尔

嗨,布兰特,

这真的是一个问题只有mmwrite相关。问题是,Vista(也许XP)的一些版本现在要求电影的宽度和高度是2的倍数(和在某些情况下4的倍数)。这是一个通用的错误消息错误,但它表明,视频大小不受支持。万博1manbetx

弥迦书

布伦特F

我只是发现mmwrite(读)。它看起来非常有用的代码。

不幸的是我已经得到这个(例如,从最后一个例子mmwrite帮助文档)。

? ? ?错误使用= = > mmwrite
WMProfileManager不能加载插件可以配置文件。

= = >测试误差在15
mmwrite (blah.wmv, v);

我不知道这是一个因素:Vista 64。下面的消息ambigious是否支持Vista 64。万博1manbetx

我看着CPP代码,看到错误消息,但无法获得,进一步明确概要文件没有找到。

谢谢,
布兰特

qingkai bu

优秀的

家的OdB

作为一个研究员,我找到这个工具非常有用的定量分析的视频材料。我偶尔使用它与mmwrite转换视频文件。

注意:我必须改变单个& & &和投入:真正的= 1;假= 0;在mmread。matlab 6米,使其工作。

埃琳娜Ranguelova

解码器安装不正确,现在没问题!谢谢!

埃琳娜Ranguelova

亲爱的弥迦书,

我使用你的mmread,我发现它非常有用!它工作得很好,没那么大的各种格式的视频。不幸的是现在我有一个问题大的AVI视频(> 500 MB)。我得到以下错误

的“不结合可以发现中间过滤器使连接的错误
意味着没有能找到适当的编解码器。Mpg2文件似乎最坏的打算。
安装ffdshow (www.free-codecs.com/FFDShow_download.htm)经常修复这个问题。
? ? ?错误使用= = > mexDDGrab
没有结合可以发现中间过滤器连接。

错误= = > VM_openCallback 34
[video_info, audio_info] = mmread ([movie_path_name movie_fname], 1: nframes);% #好< NASGU >

? ? ?错误而评估uipushtool ClickedCallback

我已经安装了提到编解码器(在消息,也在你的回复其他帖子),但我仍然得到相同的错误:-(有什么建议吗?

问候,
埃琳娜

弥迦书里歇尔

嗨,克利须那神,

首先,确保您正在使用mmread的最新版本。第二,尝试比较之间的执行时间trySeeking设置为true和false。

例子:
抽搐;mmread (“video1。avi’,[],[圣ET],假的,假的,”,真正的);toc
vs。
抽搐;mmread (“video1。avi’,[],[圣ET],假的,假的,“假);toc

如果当tryseeking是假的很多低于当它是真的,比没有可以做的更快,因为代码已经寻求您指定的时间。如果他们是在相同的时间,然后尝试更新你的编解码器,看看寻求允许代码。

最好的,
弥迦书

克里希纳warhade

亲爱的先生,
我用视频framewise mmread阅读。按照你的命令
(视频、音频)= mmread (video1。avi”,[],[圣ET]);如果我想视频有1,50000帧,想读从1,12992到13472帧。我的圣= 4708秒,等时间间隔为= 4728秒和你的命令确实有效。但唯一的问题是,它需要很多时间阅读框架(comptation时间大),也需要更多的内存。我认为,如果我想读帧从1 12992 - 1 13472帧,你从第一帧命令读取,然后它会去1,12992帧。是否可以直接读取这些帧,因此计算时间会少吗
克利须那神

弥迦书里歇尔

嗨,罗幕,

听起来你有一个车编解码器。试着安装ffdshow (http://www.codecs.com/FFDShow_download.htm),看看这消除了这个问题。这也是阿巴斯的问题。

“影子”的警告是完全无害的,因为我包括. dll和.mexw32文件。

最好的,
弥迦书

罗慕洛富恩特斯

嗨米迦,
我们要读一个完整的文件每30帧mpg。我们使用第二个输入参数向量(1:30:视频。nrFramesTotal),
视频。nrFramesTotal之前是通过读取相同的文件只是第一帧。
当我们使用向量我提到的,会出现一个警告:
的帧(s) frame_numbers超过电影里的的帧数的
所有的帧数小于video.nrFramesTotal警告。在Matlab将显示分割违反错误消息。你能给我们一个提示或者告诉我们发生了什么吗
另一种方式得到孔文件读每N帧?
顺便说一下,我们每次运行脚本(即使它工作正常,这是小数量的帧数)得到警告消息:
”警告:在目录C: \文档和设置\ \我的文档\ MATLABSCRIPTS所有者\ /”,mexDDGrab。现在mexw32 mexDDGrab.dll阴影。
请参阅MATLAB 7.1发行说明。
在mmread > 121年
非常感谢你

阿巴斯Cheddad

这就跟你问声好!
好男人。我只是有时一个问题当使用mmread经验,MATLAB将被迫关闭。我重新启动它多次mmread工作,我认为这与ActiveX。你怎么认为?文件正在读并不大,小于2 mb的avi文件。

谢谢。
阿巴斯

哈立德Niazi

你好再次,

它的工作。非常感谢,你已经做得很好。上帝保佑你。

弥迦书里歇尔

嗨,哈立德,

一个对象或名称不存在的错误意味着路径+文件名传递给mmread并不存在。确保你指定的文件的完整路径,除非该文件在同一个目录下为Matlab的当前目录。

哈立德Niazi

嗨米迦,我想读一个avi文件使用mmread,但让一个错误,

警告:在目录中“C: \ \文件和设置BMC”, mexDDGrab。现在mexw32 mexDDGrab.dll阴影。
请参阅MATLAB 7.1发行说明。
? ? ?一个对象或名称不存在。

目前我用MATLAB 7.3 (R2006b)在32位windows。你能帮助我。提前谢谢。

蒂姆·斯特里特

苏珊·托马斯。

谢谢……you just made my data processing so much easier. True, processing from the beginning of the video for every frame is slow, but there is no loss of data, which is CRUCIAL for my time-sensitive application. So again, thanks.

Mahocan Ganemur

歇尔先生,

我有机会改变源代码渲染过程从一开始就不是?我需要提取的mpeg2视频部分(从开始时间stoptime)从整个视频不是很对时间敏感的。如果有可能,我将感激如果你描述我应该做什么来防止这种编解码器呈现从开始和使它恢复的文件,从文件中最后一次访问。一些工作在“清理”干玉米酒糟类的程序足够了吗?或者其他的吗?
谢谢,

Mahocan Ganemur

嗨Mr.Richert,

谢谢你的解释这个问题。我和GraphEdit应用你的建议。我想点东西我图上的使用经验丰富的编辑人将使用这个解决方案的未来。自从我打算只使用音频的MPEG2视频,我设置图,没有“零渲染器”块连接到视频流的思维不会有重要的区别。我在6 - 7分钟聚集“wav音频。从一个3小时的MPEG2视频文件当我没有使用“零渲染器”,否则超过2小时(通过附加零渲染器块视频)。不过,这个街区丢弃的视频样本,它仍然带来相同的延迟,如果视频被处理,我认为。
没有发现更多的不同在这两种情况下。因此,我建议用户不要附加零渲染器块如果你不需要视频文件的视频序列,只是离开无关的视频多路分配器的输出。再次谢谢你的帮助。再见!

弥迦书里歇尔

嗨Mahocan,

我知道你描述。不幸的是,并不是所有的编解码器寻求正确的时间(特别是当音频)。为了确保没有数据丢失或重复,我迫使电影从一开始就呈现本身即使时间或指定帧。

一个更好的解决方案是把从电影到wav音频文件。你可以很容易通过使用GraphEdit(谷歌)。只是呈现.mpg文件并附上NullRenderer视频流和附加一个“WAV桌子”音频流。提到它简要:http://www.videohelp.com/forum/archive/how-to-extract-to-wav-from-avi-using-graphedit-t239907.html

然后您可以使用mmread或wavread读取wav文件。

弥迦书

Mahocan Ganemur

谢谢你建立这样一个有用的功能。我有一个问题从mpeg - 2解码和帧文件。
我设置一个循环函数mmread sub-sequential方式读取视频文件。在每一步,读5 minute-part mpeg2视频的源文件。我安装了几种类型的mpeg2解码器运行代码(即ffdshow, dscaler mpeg2过滤器,ligo等)。的问题是在任何一步循环,解码过程开始从一开始的视频。例如,如果循环必须阅读部分60到65分钟的视频视频的程序开始从一开始从第一帧,达到60分钟,然后我们需要开始收购后的视频部分,我们需要很长时间。程序所花费的时间达到收购点在每一个循环步骤,太长被接受。程序的时间性能变得越来越不可接受的,尤其是阅读部分从长mpeg2视频文件(实际上我的程序只需要音频视频的一部分。虽然我“DisableVideo”属性设置为TRUE,该项目仍然需要解码视频部分。有什么方法可以完全跳过视频?)。解决这个问题有什么建议吗? Can I configure codec and / or mmread function to make it start from the closest point just we need to read data from? Thanks in advance...

弥迦书里歇尔

你好,

你需要改变当前目录你mexDDGrab哪儿了。cpp(即解压缩mmread.zip)。

我很想知道为什么你要编译代码。

弥迦书

刘魏

你好,我遇到一个问题当我运行”builddll。m”如下:
“生成构建。在未来运行这个编译。
运行:墨西哥人我'C: \程序文件\微软举SDK(2007年6月)\包括我'C: \程序文件\微软举SDK(2007年6月)\包括“我'C: \程序文件\微软举SDK(2007年6月)\包括\ atl mexDDGrab。cpp DDGrab。cpp的C: \ Program Files \ Microsoft举SDK(2007年6月)\ Lib \ Strmiids。自由的“C: \ Program Files \ Microsoft举SDK(2007年6月)\ lib \ Quartz.lib '

C: \ MATLAB7 \ BIN \ WIN32 \墨西哥人。PL:错误:“mexDDGrab。cpp的没有找到。

? ? ?错误使用= = >墨西哥人
无法成功完成”

你能好心的建议我如何解决呢?非常感谢

错误= = > makedll享年92岁
eval (mexCmd);

myoung chone一

好!

我有一个对。我怎样才能通过mmread函数捕获的图像。因为我想使用捕获的图像。

谢谢你!为你的函数^ ^

帕诺斯B。

谢谢你! ! ! ! ! ! ! ! ! ! !

这是如此简单,但我无法解决它!

我感激你的帮助和专门为你的快速反应!

弥迦书里歇尔

你好帕诺斯,

可以发现中间的“没有组合过滤器连接”错误意味着它不能找到一个合适的编码/解码器。Mpg2文件似乎最坏的打算。一般来说,安装ffdshow (www.free-codecs.com/FFDShow_download.htm)修复这个问题。

弥迦书

帕诺斯B。

你好!

很有用的程序!伟大的工作!

但是我有一个问题特别.mpg文件。Matlab返回我的错误”? ? ?没有结合可以发现中间过滤器连接。”。

我没有任何的想法这个错误是什么!谁能帮我呢?

谢谢你!

阿伦ramki

简单的多媒体工具。

弥迦书里歇尔

嗨,哈瑞,

这听起来像一个路径的问题。错误仅仅意味着它找不到mexDDGrab函数。为您的系统应该是mexDDGrab。mexw32或mexDDGrab。mexw64。确保这些作为mmread在同一个目录下。米,您可能需要删除mexDDGrab。dll的目录。

希望这有助于
弥迦书

哈瑞巴贾杰

你好,

你有一个伟大的项目。我只是安装了matlab 2007,但是似乎mexDDGrab功能坏了。

它一直给我一个错误说,

未定义的函数或方法的mexDDGrab为输入参数的类型的“字符”。

我是Matlab R2006b上使用它工作得很好。

我也使用Windows Vista(64位),虽然我不认为它应该是这个问题。

宣勒

奇妙的功能! ! !

弥迦书里歇尔

你好斯蒂芬,

我没有10位视频文件。如果你能发邮件给我一个小(< 20 mb)或包含一个链接,我可以下载一个,我可以给你一个问题研究的问题是什么。

弥迦书

Stefan Gottschlag

大文件。我用Matlab 7.3.0和10位avi视频。在媒体播放器的视频显示的是正确的。与你的文件他们条纹和不同的颜色。

我能解决这个问题吗?

弥迦书里歇尔

你好,

我只是添加64位Matlab支持。万博1manbetx

享受,
弥迦书

弥迦书里歇尔

嗨,苏x,

听起来你有一个问题与Windows。你能玩这些电影,电脑上使用Windows媒体播放器吗?

我做一个快速搜索和说明这个页面后可以解决你的问题:
http://www.free-codecs.com/guides/How_to_fix_Class_not_registered_or_80040154_error.htm

弥迦书

x苏

谢谢你的回复,我用Matlab 6.5,但是当我试图使用它,它可以不通过:

视频= mmread (tr18。wmv, 1:10);
? ? ?无效的媒体类型指定。

视频= mmread (“tr19.mpeg”);
? ? ?类不注册

视频= mmread (“tr20.avi”);
? ? ?类不注册

我怎样才能解决这个问题呢?

非常感谢。

弥迦书里歇尔

嗨,苏x,

你不需要编译cpp文件。编译过的墨西哥人文件已经从这里您下载zip文件中提供。

如果您使用的是64位的Matlab,不支持。万博1manbetx

弥迦书

弥迦书里歇尔

嗨,克利须那神,

你能给我发邮件的matlab命令您正在使用和短视频引起这个问题?它似乎正常工作当我测试它。

弥迦书

x苏

你好,我想知道如何编译cpp文件。我试着在Visual studio c++和cygwin中,但没有一个管用,mmread不工作没有mexDDGrab定义……谢谢……

克里希纳warhade

优秀的程序,
但是这个项目不是
工作如果我们想读之间的帧为例。2000只5000帧(它读取连续帧从1到5000)的视频,然后给看视频的选项(0.25 - 0.5)不起作用。会需要一些修改吗?

Nilimb Misal

使我的工作变得容易

哈立德汗

干得好亲爱的

弥迦书里歇尔

嗨,恋人,

目前不支持64位的Matlab在Windows。万博1manbetx我没有在系统测试/设置。

你有两个选择。一种选择是Matlab运行在32位模式下(到目前为止最简单的选项)。

另一种方法是尝试编译你的代码。您将需要安装Visual c++表达(它是免费的),然后经过的所有步骤需要构建举/ DirectShow的库,然后尝试把一切一起编译(makedll.m)。我甚至不积极,它将工作,有几个事情可能出错。然而,我邀请任何人来请告诉我如果你让它工作,这样其他人可以受益。

弥迦书

恋人kasi

你好,

我使用一个64位的电脑。我试图运行软件,给了我这个错误消息

“未定义的命令/函数mexDDGrab”

我不确定是什么问题,我将非常感激如果你能帮我这个忙。

谢谢

恋人

Parthipan湿婆

伟大的工作!

Erik一家

良好的计划,尽管它经常出现蓝屏原因!(R2006a XP SP2)

诺曼Shaukat

了....
伟大的工作的家伙

诺曼Shaukat

我怎样才能得到一个单帧的视频?

麦麦

不错的计划。大部分时间它但我注意到以下问题。
1。有时它不读到最后一帧的mpeg - 2文件。
2。如果打开Windows媒体播放器,那么它的工作原理。否则它提供了不正确的或不可用的过滤器的错误消息。

感谢你
http://www.geocities.com/mak2000sw/

拉杜Preda

伟大的工作!你有mmwrite函数吗?我想创建MPEG2文件在matlab中,但还没有找到任何函数这样做(只有MPEG1文件-函数mpgwrite)。安东可以帮助我吗?谢谢

克拉克伯帝镇始建

优秀的

约翰·富兰克林

有一些视频文件需要一个名不见经传的编解码器和文件也太大,以适应到内存中。不知道要做什么,直到我发现了这个包!非常感谢。很棒的工作!

akshada bhole

Isbelle B

弥迦书里歇尔

嗨,文斯,

mmread我上传一个新的版本,也许它会解决你的问题(我怀疑它)。你试过玩相同的文件在媒体播放器,听起来如何?

我试着复制你描述饱和通过加载. wav文件(有许多高峰),但加载是什么相同wavread负载。

你可以送我一个例子,否则我不知道该说些什么。

弥迦书

文斯Badagnani

这是一个很好的工具,但我有音频的问题。因为某些原因在音频数据的提取,山峰被倒创造一个非常扭曲的信号。

海科Dankert

我有巨大的阅读和wmv文件处理一张一张的图像来。怎么可能一个得到这个项目保留内存只有一个单帧?这将是更快和节省内存……

弥迦书里歇尔

嗨,雷,

送我一个小的文件导致了问题的产生。看起来应该很容易调试。

弥迦书

雷火

可能会有一些错误的时候在一些未压缩的avi读取最后一帧。当我试着使用mmread阅读框架包括最后一帧的320 * 240 * 32个未压缩的avi文件由索尼拉斯维加斯,一个错误对话框像“记忆0 x1684031不能wriiten”会发生和matlab被迫关闭而不留下任何消息…但它会正常工作如果没有阅读最后一帧。有时也会发生相同的错误当阅读整个mpg文件,但不是很经常。这个错误发生在matlab 7.1, windows xp s2,并在matlab 7.2, windows server 2003。
我可以avi文件发送到你的电子邮件箱,如果必要的。
希望这个项目将是一个非常好的工具……
问候

弥迦书里歇尔

嗨声称,

首先,你几乎可以肯定不需要自己编译代码。包括. dll或.mexw32文件应该为你工作好。

makedll接口,它要求你做一个选择。选择第一个,1型,然后回车。我应该添加更多的指令,但makedll主要是为了自己的利益,只用于严肃的程序员。

Bindi Dharia


我捞到这个错误每次我试着在matlab运行文件
有多个选项DirectX_SDK_Include_dir请选择下列之一:
1 C:\Program Files\MATLAB71\sys\lcc\include
2 C:\Program Files\Microsoft举SDK(2006年2月)\包括
? ? ?下标指标必须或者是真实的积极的整数或逻辑值。

= = > makedll > getpath误差为99
路径=路径{选择(路径,路径)};

错误= = > makedll 39号
DirectX_SDK_Include_dir DirectX_SDK_Include_dir = getpath (' DirectX_SDK_Include_dir ', ' ddraw.h ');

可能是错的呢
你能给准确的序列使用函数

朗在香港

伟大的项目!

得霍顿

谢谢。我将核对更新。

弥迦书里歇尔

嗨得,

回答你的问题,是的wmv文件应该工作。然而,我发现了一个上周除零错误的代码,这可能会导致错误,你所看到的。

尝试使用Matlab的调试器通过mmread一步。m和找出线实际上是导致错误。

我已经提交一个更新版本的mmread除零错误的固定,但Mathworks正在把它一段时间。检查在几天内回来。

弥迦书里歇尔

嗨,莉莉,

当前版本下载需要额外的dll: msvcr70d.dll
你可以从这里下载它,把它放在你的MATLAB \ bin \ win32目录。从这里下载:www.dll-files.com/dllindex/pop.php?msvcr70d

我已经提交一个更新版本的mmread不需要这个,但Mathworks正在把它。检查在几天内回来。

得霍顿

这个函数应该对wmv文件工作吗?我工作在一个avi和mpg文件,但是同样的事情没有wmv工作。所有的电影在媒体播放器。Matlab就回来? ? ?当我试着命令
视频= mmread (“test.wmv”);
什么好主意吗?

莉莉莉莉

嗨。当我运行它的时候,它显示如下:

? ? ?无效的E: \ \ mexDDGrab MEX-file”。dll:找不到指定的模块。

错误= = > mmread享年178岁
mexDDGrab(“清理”);

所以我怎样才能解决这个问题呢?谢谢你!

弥迦书里歇尔

爱德华,你不该来编译源(如您不需要运行makedll)。mmread应该一旦将其解压缩。你得到一个错误当您运行mmread吗?

Strmbase。自由是举SDK临时演员的一部分。谷歌“举SDK临时演员”和其中任何一个应该不错。

爱德华梁

对不起,我不知道如何使用你的装备。似乎我甚至不能读任何视频。我知道先运行“makedll”吗?然而,当我运行它总是说makedll strmbase我没有”。自由的,即使我已经安装了DXSDK。你能告诉我y吗?因为我想使用这个图书馆为我最后一年的项目。多谢。

弥迦书里歇尔

嗨特雷,
你是对的,dll的版本我上次提交仍然需要MSVC dll。我需要更加谨慎。据我所告诉的警告是无害的(我知道了),我猜测这是由于Matlab dll依赖沃克找不到。

我刚刚上传新版本还包括其他一些改进。我已经确认它没有MSVC依赖性。试试这个新版本,看看如果你仍然有问题。你可能需要等待一到两天Mathworks生活。

64647年特雷

当前版本似乎仍然需要额外的dll。APPHELP补充道。DLL和MSVCR70d。dll为mexDDGrab依赖沃克。dll报告失踪。“找不到指定的模块”不再出现。唯一的错误消息是“? ? ?”和视频加载失败。依赖沃克仍返回一个警告:“警告:至少一个模块有一个未解决的进口由于缺少出口函数在delay-load依赖模块。”
跑步Win2000和DX9。

弥迦书里歇尔

嗨,马克,
“找不到指定的模块”错误意味着matlab无法加载dll或者它的一个依赖项(即。任何其他需要的dll)。

mexDDGrab.dll的最新版本
应该只需要quartz.dll。它应该在c: \ windows \ system32系统,如果它不是,那么重新安装举。

mexDDGrab的旧版本。dll需要几个其他dll函数。它需要msvcr70。dll, msvcp70。dll和msvcrt.dll。msvc *。dll文件通常位于在matlab \ bin \ win32目录。如果你错过任何msvc的*。dll文件你可以让他们从这里:115. http://www.driverfiles.net/page, dll, html

麦麦

我收到以下错误消息
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
无效的MEX-file mexDDGrab。dll:找不到指定的模块。
错误= = > mmread享年178岁
mexDDGrab(“清理”);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

弥迦书里歇尔

嗨Wouter,
编辑mmread。m和改变了| | |。Matlab的旧版本不支持| |,但这就是我用来从C / 万博1manbetxJava默认使用它。你是什么版本的matlab运行吗?我很好奇,想知道什么版本的工作。

Wouter Suren

你好,如果我运行
视频= mmread (Paul.avi, 1:10);

我得到以下错误消息

mmread。线:93列:23
将一个变量、函数或常量,发现“|”。

弥迦书里歇尔

你好,路易斯,

Unforutnately,窗口的错误消息不是很有帮助。错误与Java无关。它实际上意味着windows无法找到合适的编解码器解码的电影。这可能是由于腐败的avi文件,或失踪/腐败的编解码器。你能在媒体播放器播放电影在同一台机器上吗?

google错误代码“80040111”和“Windows媒体播放器”提出了一些建议。

这个网站很有用:
http://msmvps.com/blogs/chrisl/articles/11215.aspx

luis galup

我6月的sdk安装,2月的临时演员,和一切与. net 2003年建造。

我试图在matlab中运行mmread,但抱怨道:“? ? ?无效的MEX-file“E: \ src \ matlab_scripts \ mmread \ mexDDGrab。dll:找不到指定的模块。”

然后,我跑makedll正确,然后得到错误消息当我运行这个:
视频= mmread (“C: \户外boatdock - 320 x240 - 10——fps.avi, 1:10)

我得到的错误是:“? ? ?ClassFactory不能供应请求类”

我有最新的java运行时中。

任何想法我应该做些什么呢?

弥迦书里歇尔

嗨Ranjini,
Unforunately,举的错误消息不是很有用的(我不会写我自己的解决微软的可怜的消息)。试着搜索准确的错误信息,可以帮助。最有可能的是,你的电影是在Micorsoft最新的mpeg - 4格式和编解码器没有安装的电脑有一个问题。尝试更新编解码器。有许多网站,告诉你如何做到这一点,但有一点是值得肯定的:http://movavi.com/codec/mpg4.html

希望有所帮助,
弥迦书

Ranjini马克

我用阅读mmread mpeg文件。在一些机器,它工作得很好。在其他一些机器在执行mmread它给了这样一个错误类没有注册。为什么?你能解释一下吗?

弥迦书里歇尔

嗨华金,
微软决定更新页面…
谷歌“举SDK临时演员”和其中任何一个应该不错。2005年2月似乎是最新的(截至2006年1月)。但它确实听起来不像你想要编译代码。

至于mmread服用5分钟,它不应该那么久。当你用媒体播放器吗?你的系统使用大量的虚拟内存,当您运行mmread吗?如果有一个音频流(你不想)确保您不指定音频输出变量。如,只做视频= mmread(…),而不是(视频、音频)= mmread(…),否则它将捕获整个音频流(这可能需要5分钟)。

如果你仍然有问题直接发邮件给我。

阿尔塞

我已经成功安装directshow的/声音处理软件,mmread正在运行。然而,它需要非常长的执行(类似5分钟加载一个框架)。这是如何为了运行吗?华金

阿尔塞

嗨米迦,
我想跟随你的指令insade“makedll。m文件”,但我找不到任何“临时演员”举在您提供的下载链接,包含DirectShow的和声音处理软件。(当前版本下载链接是2005年12月,在你的文件中指出的是2005年6月)。由于华金

弥迦书里歇尔

我上传一个新的版本,有时间支持和MSVC *他们消除了依赖。万博1manbetx基于杰森徐的评论我意识到一些电影的原因是没有正确的尺寸数据返回;节理(宽* 3)必须是4的倍数。他装天花板(宽* 3/4)* 4的代码让我意识到这一点,尽管它与阿尔法通道无关。希望这将解决人们的问题。

弥迦书里歇尔

嗨,杰森,

Alpha通道信息不应该被归还。如果你得到阿尔法通道数据然后在举是扭曲的,因为代码指示举RGB (MEDIASUBTYPE_RGB24)格式的数据。我可以添加更多的检查,以确保举dataformat没有玩。你能发邮件给我一个小电影,对你不起作用(除了clock.avi) ?另外,你用的什么版本的举?

弥迦书

杰森徐

我刚才下载的包,但是发现它仍然没有使用“C: \ windows \时钟。avi”,显示了重塑错误消息。它也不能使用我的一些视频文件。

我发现是什么原因导致的错误帧数据返回的“mexDDGrab”为“mmread”一个意想不到的大小。的发生有两种可能性:
(1)帧包含4通道,包括阿尔法通道。
(2)帧数据与在每个扫描线填充。

我的黑客是这样的:
- - - - - - - - - - -
%处理alpha通道(如果存在)和双字对齐
widthStep =装天花板(3 *宽度/ 4)* 4;
如果(长度(数据)> widthStep *高度)=数据(1:(widthStep *高));必要时结束%丢弃alpha通道
data =重塑(数据、widthStep高度);
=数据(1:3 *宽度,:);
- - - - - - - - - - - -

“mmread开放。m ',插入上面的代码之间的界限
“data = mexDDGrab (“getVideoFrame”,张,f - 1);“

' %的数据排序是错误的matlab图像,所以交换的

它适用于所有的视频文件。

弥迦书里歇尔

我终于更新了文件。方向,颜色错误的问题得到了解决。我也有测试代码来处理。avi Alex Pudmenzky指出问题,但是因为我没有发现任何文档具体如何处理,这是测试版。我也评论代码好一点,增加了两个例子。

弥迦书里歇尔

时钟。avi似乎是我唯一能找到的文件,有一个问题。特别有1额外的字节/扫描线,由于数据不再是3 x宽x高我重塑它时,它生成一个错误。我可以做一些猜测,如何应对这个问题,但我想看看这是在视频格式规范。

谢谢你告诉我,请送我不工作的任何其他的例子。

亚历克斯Pudmenzky

我收到一个错误当阅读(标准Win-XP)文件
C: \ windows \ clock.avi

> > mmread (c: \ windows \ clock.avi ', 1)
? ? ?错误使用= = >重塑
重塑元素的数量不能改变。

什么好主意吗?

弥迦书里歇尔

我固定定位问题(向后和RGB值)。很抱歉。但是,我似乎无法登录和更新的文件……我们将不得不等待mathworks让我回去。

作为临时修复,使用以下代码:
对f = 1:长度(video.frames)
tmp = video.frames .cdata (f);
video.frames (f) .cdata = tmp(结束:1:1,:,3:1:1);
结束

唐Orofino

返回的视频帧mmread出现倒在观看电影时,imshow, mplay等等。

更新

1.10.0.0

固定的“指定程序无法找到“Win64系统错误。

1.9.0.0

添加支持匿名万博1manbetx函数

1.8.0.0

删除__isoc99 *功能

1.6.0.0

删除依赖libbz2

1.5.0.0

固定FFGrab。mexa64:未定义符号:
avbin_open_filename_with_format错误。

1.4.0.0

改为BSD许可。小bug修复。

1.3.0.0

小更新接受了BSD许可。

1.2.0.0

几个bug修复和现在的代码要快得多顺序读取相同的文件。

1.1.0.0

这是一个全新的版本,现在支持Linux和Mac通过FFmpeg和AVbin。万博1manbetx

1.0.0.0

固定的多线程随机崩溃Matlab的bug。

添加寻求、固定内存泄漏和固定的24位音频的问题。

添加寻求、固定内存泄漏和固定的24位音频的问题。

固定一个错误开始时间被忽略。

添加64位Matlab支持万博1manbetx

添加了一些速度提升到连续帧处理(processFrames.m)。

固定一个错误阅读在很大的音频文件。
添加音频格式支持浮动。万博1manbetx

固定一个错误阅读在很大的音频文件。
添加音频格式支持浮动。万博1manbetx

固定音频流错误……

固定的几个内存泄漏,和固定的指定时间的问题。

添加内嵌框架处理支持。万博1manbetx框架现在可以处理被抓获。

固定的几个内存泄漏,和固定的指定时间的问题。

添加内嵌框架处理支持。万博1manbetx框架现在可以处理被抓获。

添加评论makedll和删除大部分M-lint消息。

编译mexw32版本(相同的代码只是为了Matlab 7.1 +)。
添加了一些改善makedll。

删除依赖于其他dll(真实的这段时间)。添加了一些其他功能。重新提交因为Mathworks还没有使我改变生活在几天。

纠正的描述

删除MSVC dll的依赖。添加时间范围的支持。万博1manbetx添加更好的支持时,返回的数万博1manbetx据不匹配预期的大小。

切换到一个更合适的类别。

增加了对图像万博1manbetx的支持,现在停止处理当最后指定的帧捕获,而不是让它自行完成。固定在框架中指定无添加订单他们不提供指定的顺序。

更新几个bug,并添加更多的评论。

MATLAB版本兼容性
创建R14
兼容任何释放
平台的兼容性
窗户 macOS Linux