图片缩略图

mmread.

版本1.10.0.0(12.6 MB) 弥迦书里歇尔
在Windows,Linux或Mac中读取几乎任何媒体文件。

70.5k下载

更新2009年11月12日

查看许可证

[video, audio] = mmread(文件名,帧,时间,disableVideo, disableAudio, matlabCommand, trySeeking, useFFGRAB)
mread几乎可以读取任何媒体文件。它现在使用AVbin和FFmpeg来捕获数据,这包括url。代码支持Matla万博1manbetxb运行的所有主要操作系统和架构。

输入
文件名输入文件读取(MPG,AVI,WMV,ASF,WAV,MP3,GIF,...)框架指定要捕获的视频帧,默认为[]或指定时间

时间[starttime stoptime],默认情况下,所有禁用视频都禁用所有视频捕获,以保存内存或时间isableaudio禁用所有音频捕获,以节省内存或时间

matlabCommand不返回视频结构,调用matlabCommand指定的函数。函数定义必须与processFrame.m的定义匹配。看到processFrame。询问更多信息。
trySeeking [true]设置为false会使代码更慢但更精确。如果前几帧失真或计时信息不准确,将此设置为false。

useFFGRAB [true]使用mmread的新版本,它使用ffmpeg。但是,如果音频或视频流无法读取,并且你正在运行Windows,请将此设置为false(旧版本)。

输出
Video是一个具有以下字段的结构体:
宽度视频帧的宽度
视频框架的高度高度
速率视频的帧速率,如果不能确定则为1。

NRFRamestal在电影中的总帧数无论捕获多少。不幸的是,这不能总是确定。如果它是否定的,那么它是基于持续时间和速率的估计(通常准确到.1%)。它可以是0,在这种情况下它根本无法确定。如果它是可能的号码,那么它应该始终准确。

totalDuration视频总时长,单位为秒。
使用以下字段构建一个结构数组:
CDATA [高度x宽x 3] UINT8 Matricies
Colormap总是空的
乘以帧的相应时间戳(在毫秒)
在固定帧率的电影中,一些编解码器(不是mread)会跳过重复帧(即与前面相同),以节省空间和时间。这些跳过的帧可以通过在“times”字段中查找跳转来检测。当跳过帧时,该字段将为true。

音频是具有以下字段的结构:
nrChannels音频流中的通道数(1或2)
频率音频的采样率,例如44100。如果不能确定,那么它就是1。

位采样的位深(8或16)
数据整个音频流的真实数据。这可以使用波形播放。如果指定了时间范围,则数据的长度可能与总时间不对应。这通常发生在电影中。问题是,音频流的开始通常在第一帧的末尾进行计数。因此,时间转移1 /帧。

NRFRamestoTal音频来自捕获时的数据包或帧,音频分成帧可能会或可能没有意义。

totalDuration音频的总长度,以秒为单位。
框架单元格阵列的UINT8S。可能不是很好的用途。
帧的相应时间戳(以毫秒为单位)

如果没有视频或音频流,则相应的结构将为空。

指定帧不会影响音频捕获。如果您只想将音频的小节使用第3个参数“time”。指定时间效应音频和视频。时间是以秒为单位的(伯级分辨率以分数号码EX。1.125),从0开始。时间被定义为starttime(包含)万博1manbetx来停止(独占),或者使用set notate [starttime stoptime)。

如果有多个视频或音频流,则结构将是长度> 1.例如:音频(1).data和音频(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(“chimes.wav”,[],0.25 [0]);读取wav的前0.25秒
(视频、音频)= mmread(“chimes.wav”,[],[0.25 - 0.5]);%读取0.25到0.5秒的wav,与前面的例子没有重叠。

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

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

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

引用

Micah Richert(2021)。mmread.(https://www.mathwands.com/matlabcentral/fileexchange/8028-mmread),Matlab中央文件兑换。检索到

MATLAB版本兼容性
创建R14
与任何版本兼容
平台兼容性
窗户 macOS Linux.

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!