From Multimedia File
Read video frames and audio samples from multimedia file
Libraries:
Computer Vision Toolbox /
Sources
Description
The From Multimedia File block reads video frames, audio samples, or both from a multimedia file. The block imports data from a file, of a supported file format, into a Simulink® model. For more information about supported file formats, see Supported Platforms and File Formats.
This block enables you to read WMA or WMV streams from your system or over a network connection. Similarly, the To Multimedia File block enables you to write WMA or WMV streams to your system or over a network connection. If your system does not have the codec necessary to support a file format, you must re-encode files of that format into a file format supported by the Computer Vision Toolbox™.
If you have a Simulink Coder™ license, you can generate code from a model containing this block. To run a generated executable file, you may need to add precompiled shared library files to your system path. For more information, see Simulink Shared Library Dependencies and Accelerating Simulink Models.
Note
This block supports code generation for a host computer that has file I/O available. You cannot use this block with Simulink Desktop Real-Time™ software because that product does not support file I/O.
Examples
Read, Process, and Write Video Frames to File
Read video frames from a multimedia file, process them, and write them back to a new multimedia file.
Ports
Output
Color image or video frame, returned as an M-by-N-by-P array. M and N are the number of rows and columns in each image. P is the number of color channels in each image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
RGB
and Image signal parameter toOne multidimensional signal
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| Simulink.ImageType
Grayscale image or video frame, returned as an M-by-N matrix. M and N are the number of rows and columns in the grayscale image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
Intensity
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Red color component of the image or video frame, returned as an M-by-N matrix. M and N are the number of rows and columns in the image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
RGB
and Image signal parameter toSeparate color signals
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Green color component of the image or video frame, returned as an M-by-N matrix. M and N are the number of rows and columns in the image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
RGB
and Image signal parameter toSeparate color signals
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Blue color component of the image or video frame, returned as an M-by-N matrix. M and N are the number of rows and columns in the image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
RGB
and Image signal parameter toSeparate color signals
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Luma component of the image or video frame, returned as an M-by-N matrix. M and N are the number of rows and columns in the image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
YCbCr 4:2:2
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Blue-difference chrominance component of the image or video frame, returned as an M-by-N/2 matrix. M and N are the number of rows and columns in the input image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
YCbCr 4:2:2
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Red-difference chrominance component of the image or video frame, returned as an M-by-N/2 matrix. M and N are the number of rows and columns in each input image.
Dependencies
To enable this port:
Set the File name parameter to the name of a multimedia file that contains video or image data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
YCbCr 4:2:2
.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Audio signal, returned as an M-element vector or an M-by-N matrix. M is the number of samples in each channel and N is the number of channels.
Dependencies
To enable this port, set the File name parameter to the
name of a multimedia file that contains audio data. If the specified file contains
both audio and video data, set the Multimedia outputs parameter
to Audio only
or Video and
audio
.
Data Types: single
| double
| int16
| uint8
End-of-file indicator, returned as a logical scalar for each video frame or audio
sample. The end-of-file indicator is 1
when the block outputs the
final video frame or audio sample from the file, and is 0
otherwise.
Dependencies
To enable this port, select the Output end-of-file indicator parameter.
Data Types: Boolean
Parameters
Main
Specify the name of the multimedia file for the block to read. If the file is not located on your MATLAB® path, select Browse and navigate to the file, or specify the full file path.
On Microsoft® Windows® platforms, this parameter supports URLs that point to Microsoft Media Server (MMS) streams.
Specify whether the block inherits the sample time from the multimedia file or uses a specified sample time. When you select this parameter, the block inherits the sample time from the input multimedia file.
Tip
Select this parameter when you do not know the intended sample rate of the multimedia file.
Specify a sample time for the block.
Dependencies
To enable this parameter, clear the Inherit sample time from file parameter.
Specify the number of times to play the input multimedia file. The default value
of inf
specifies that the block repeats playing the multimedia file
until the simulation stop time.
Select this parameter to enable the EOF port, which indicates whether the output frame or sample is the final video frame or audio sample in the multimedia file.
Specify the type of media to read from a file containing both video and audio data.
Dependencies
To enable this parameter, set the File name parameter to the name of a multimedia file that contains both audio and video data.
Specify the output color format of the input video data. The block supports the
RGB
, Intensity
, and
YCbCr 4:2:2
color formats.
Dependencies
To enable this parameter, set the File name parameter to
the name of a multimedia file that contains video data. If the specified file
contains both audio and video data, set the Multimedia outputs
parameter to Video only
or Video and
audio
.
Specify how the block outputs an RGB color video. If you select One
multidimensional signal
, the block outputs the video data using only
the Image port. If you select Separate color
signals
, the block outputs the video data using three separate color
channels, divided across the R, G, and
B ports. If you select Simulink image
signal
, the block outputs a video in
Simulink.ImageType
datatype.
Dependencies
To enable this parameter:
Set the File name parameter to the name of a multimedia file that contains video data. If the specified file contains both audio and video data, set the Multimedia outputs parameter to
Video only
orVideo and audio
.Set the Output color format parameter to
RGB
.
Specify the range of audio samples to read from the input file as a two-element
row vector of the form [StartSample EndSample]
.
StartSample
is the first sample the block reads from the audio
file, and EndSample
is the final sample the block reads from the
audio file. StartSample
must be greater than or equal to
1
. EndSample
must be greater than
StartSample
.
Dependencies
To enable this parameter, set the File name parameter to
the name of a multimedia file that contains audio data. If the specified file
contains both audio and video data, set the Multimedia outputs
parameter to Audio only
.
Specify the number of samples per audio channel.
Dependencies
To enable this parameter, set the File name parameter to
the name of a multimedia file that contains audio data. If the specified file
contains both audio and video data, set the Multimedia outputs
parameter to Audio only
.
Data Types
Specify the data type for the output video frames.
Dependencies
To enable this parameter, set the File name parameter to
the name of a multimedia file that contains video data. If the specified file
contains both audio and video data, set the Multimedia outputs
parameter to Video only
or Video and
audio
.
Specify the data type for the output audio samples.
Dependencies
To enable this parameter, set the File name parameter to
the name of a multimedia file that contains audio data. If the specified file
contains both audio and video data, set the Multimedia outputs
parameter to Audio only
or Video and
audio
.
Block Characteristics
More About
Which supported file formats are available to you depends on the codecs installed on your system.
Platform | Supported File Formats |
---|---|
All Platforms | AVI (.avi )Motion JPEG 2000 ( .mj2 ) |
Microsoft Windows | Image: JPEG( .jpg )Bitmap ( .bmp ) |
Video: MPEG ( .mpeg )MPEG-2 ( .mp2 )MPEG-1 ( .mpg )MPEG-4, including H.264 encoded video ( .mp4 , .m4v )Windows Media Video ( .wmv , .asf ,
.asx )Any format supported by Microsoft DirectShow® 9.0 or higher. | |
Audio: WAVE ( .wav )Windows Media Audio File ( .wma )Audio Interchange File Format ( .aif , .aiff ) Compressed Audio Interchange File Format ( .aifc ) MP3 ( .mp3 )Sun Audio ( .au )Apple ( .snd ) | |
macOS | Video: MPEG-4, including H.264 encoded video ( .mp4 ,
.m4v )Apple QuickTime Movie ( .mov ) Any format supported by QuickTime®. |
Audio: Uncompressed AVI ( .avi ) | |
Linux® | Any format supported by your installed plug-ins for GStreamer 0.1 or
higher,
including Ogg Theora (.ogg ). |
The sample rate that the block uses depends on the audio and video sample rate. While the block operates at a single rate in Simulink, the underlying audio and video streams can produce different rates. In some cases, the block makes a small adjustment to the video rate when the block outputs both audio and video.
Sample time = . AudioSampleRate is the sample rate for audio data, and
FPS is the video frame rate.
When the audio sample
time, , is not an integer,, the equation cannot reduce to .
To prevent synchronization problems,
when the audio stream leads the video stream by more than , the block drops the corresponding video frame.
In
summary, the block outputs one video frame at each Simulink time step. To calculate the number of audio samples to output at each time
step, the block divides the audio sample rate by the video frame rate. If the audio sample
rate does not divide evenly by the number of video frames per second (FPS), the block rounds
the number of audio samples up to the nearest whole number. If necessary, the block
periodically drops a video frame to maintain synchronization for large
files.
Extended Capabilities
Usage notes and limitations:
Host computer only. Excludes Simulink Desktop Real-Time code generation.
The executable generated from this block relies on prebuilt dynamic library files (
.dll
files) included with MATLAB. Use thepackNGo
(Simulink Coder) function to package the code generated from this block and all the relevant files in a compressed ZIP file. Using this ZIP file, you can relocate, unpack, and rebuild your project in another development environment where MATLAB is not installed.
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: United States.
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)