Stream video frames and audio samples to multimedia file
Sinks
dspsnks4
The To Multimedia File block writes video frames, audio samples, or both to
a multimedia (.avi, .wav, .wma, .mp4, .ogg, .flac, or .wmv
) file.
You can compress the video frames or audio samples by selecting a compression algorithm. You can connect as many of the input ports as you want. Therefore, you can control the type of video and/or audio the multimedia file receives.
Note
This block supports code generation for platforms that have file I/O available. You cannot use this block with Simulink® Desktop Real-Time™ software, because that product does not support file I/O.
This block performs best on platforms with Version 11 or later of Windows Media® Player software. This block supports only uncompressed RGB24 AVI files on Linux® and Mac platforms.
Windows® 7 UAC (User Account Control), may require administrative privileges to encode
WMV
and WMA
files.
The generated code for this block relies on prebuilt library files. You can run this code
outside the MATLAB® environment, or redeploy it, but be sure to account for these extra library
files when doing so. The packNGo function creates a single zip file containing all of the
pieces required to run or rebuild this code. See packNGo
(Simulink Coder) for more information.
To run an executable file that was generated from a model containing this block, you may need to add precompiled shared library files to your system path. See Understanding C Code Generation in DSP System Toolbox for details.
Audio files can be of the following formats on all platforms:
WAV
FLAC
OGG
MPEG4 (only on Windows 7 and macOS)
The default format is WAV. This block supports MPEG-4 AAC audio files on Windows 7, and macOS. You can use both M4A and MP4 extensions. The following platform specific restrictions apply when writing these files:
Windows 7 | macOS |
---|---|
|
|
| |
|
|
|
Port | Description | |||
---|---|---|---|---|
Image | M-by-N-by-3 matrix RGB, Intensity, or YCbCr 4:2:2 signal. | |||
R, G, B | Matrix that represents one plane of the RGB video stream. Inputs to the R, G, or B port must have the same dimensions and data type. | |||
Audio | M-by-N matrix. M is the number of samples in each channel, and N is the number of channels. | |||
Y, Cb, Cr | Matrix that represents one frame of the YCbCr video stream. The Y, Cb, and Cr ports use the following dimensions:
|
The Main pane of the To Multimedia File block dialog appears as follows.
Specify the name of the multimedia file. The block saves the file in your current folder. To specify a different file or location, click the Save As... button.
Specify the file type of the multimedia file. You can select
AVI
, WAV
,
MJ2000
, WMA
,
WMV
, MPEG4
,
FLACC
, or OGG
. By default, the
File type is set to WAV
.
Specify whether the block writes video frames, audio samples, or both to the
multimedia file. You can select Video and audio
,
Video only
, or Audio only
. This
parameter is visible only when you set File type to
AVI
, MPEG4
, or
OGG
.
Select the type of compression algorithm to use to compress the audio data. This
compression reduces the size of the multimedia file. Choose None
(uncompressed)
to save uncompressed audio data to the multimedia file.
Note
The other items available in this parameter list are the audio compression algorithms installed on your system. For information about a specific audio compressor, see the documentation for that compressor.
Select the audio data type. You can use the Audio data type parameter only for uncompressed wave files.
Select the type of compression algorithm to use to compress the video data. This
compression reduces the size of the multimedia file. Choose None
(uncompressed)
to save uncompressed video data to the multimedia file.
Note
The other items available in this parameter list are the video compression algorithms installed on your system. For information about a specific video compressor, see the documentation for that compressor.
Specify the compression factor as an integer scalar greater than
1
. This parameter is applicable only when the File
type is set to MJ2000
and Video
compressor is set to Lossy
. By default, this
parameter is set to 10
.
Select the color format of the data stored in the file. You can select either
RGB
or YCbCr 4:2:2
.
Specify how the block accepts a color video signal. If you select One
multidimensional signal
, the block accepts an
M-by-N-by-P color video
signal, where P is the number of color planes, at one port. If you
select Separate color signals
, additional ports appear on the block.
Each port accepts one M-by-N plane of an RGB
video stream.
Quality of the video specified as an integer scalar in the range [0
100
]. This parameter is applicable only when File name
is set to MPEG4
and Write is set to
Video only
. By default, this parameter is set to
75
.
To run your generated standalone executable application in Shell, you need to set your environment to the following:
Platform | Command |
---|---|
Mac |
For more information, see Append library path to "DYLD_LIBRARY_PATH" in MAC. |
Linux |
|
Windows |
|
For the block to display video data properly, double- and single-precision floating-point
pixel values must be between 0
and 1
. Any other
data type requires the pixel values between the minimum and maximum values supported by their
data type.
Check the specific codecs you are using for supported audio rates.
Port | Supported Data Types | Supports Complex Values? |
---|---|---|
Image |
| No |
R, G, B | Same as Image port | No |
Audio |
| No |
Y, Cb, Cr | Same as Image port | No |