Поток из мультимедийного файла
Источники
dspsrcs4
Блок From Multimedia File считывает аудио выборки, видеокадры или оба из мультимедийного файла и генерирует сигнал с одним из следующих типов данных и областями значений амплитуд.
Выход данных | Выход амплитуды Области значений |
---|---|
| ±1 |
| ±1 |
| -32768 - 32767 (-215 к 215 - 1) |
| от 0 до 255 |
Блок импортирует данные из файла в Simulink® модель.
Примечание
Этот блок поддерживает генерацию кода для хоста-компьютера, которая имеет доступные вводы-выводы файла. Вы не можете использовать этот блок с программным обеспечением Simulink Desktop Real-Time™, потому что этот продукт не поддерживает ввод-вывод файлов.
Сгенерированный код для этого блока полагается на предварительно построенные файлы библиотеки. Вы можете запустить этот код вне MATLAB® окружение, или перенаправить ее, но обязательно учитывайте эти дополнительные файлы библиотеки при этом. Функция packNGo создает одну zip- файла, содержащую все части, необходимые для выполнения или перестроения этого кода. Посмотрите packNGo
(Simulink Coder) для получения дополнительной информации.
Чтобы запустить исполняемый файл, который был сгенерирован из модели, содержащей этот блок, вам, возможно, потребуется добавить предварительно скомпилированные файлы общей библиотеки к системному пути. Для получения дополнительной информации см. Общие сведения о генерации кода C в DSP System Toolbox.
Поддерживаемые форматы файлов, доступные вам, зависят от кодеков, установленных в вашей системе.
С необходимым Windows® DirectShow кодеки, установленные в вашей системе, Блок From Multimedia File поддерживает много форматов видео и аудио файлов. Этот блок лучше всего работает на платформах с версией 9.0 или более поздней версии DirectX® программное обеспечение.
В следующей таблице перечислены наиболее распространенные форматы файлов.
Мультимедийные типы | Расширения имен файлов |
---|---|
Файлы изображений | .jpg , .bmp,.png |
Видео- файлы | .qt , .mov , .avi , .asf , .asx , .wmv , .mpg , .mpeg , .mp2 , .mp4 , .m4v |
Аудио файлов | .wav , .wma , .avi , .aif , .aifc , .aiff , .mp3 , .au , .snd, .mp4, .m4a, .flac, .ogg |
Значение по умолчанию для файлов изображений .png
, для видео файлов .avi
, и для аудио файлов .mp3
.
Windows 7 и более поздние версии Windows поставляются с ограниченным набором 64-битных видео и аудиокодеков. Если блок From Multimedia File не может работать со сжатым мультимедийным файлом, сохраните мультимедийный файл в формате файла, поддерживаемом блоком.
Если вы используете Windows, используйте Windows Media® Проигрыватель версии 11 или более поздней с этим блоком для наилучших результатов.
В следующей таблице перечислены наиболее распространенные форматы файлов.
Мультимедийные типы | Расширения имен файлов |
---|---|
Видео- файлы | .avi , .mj2 , .mov , .mp4 , .m4v |
Аудио файлов | .avi, .mp3, .mp4, .m4a, .wav, .flac, .ogg, .aif, .aifc, .aiff, .au, .snd |
Значение по умолчанию для файлов видео .avi
, и для аудио файлов .mp3
.
Порты выхода блока From Multimedia File изменяются в соответствии с содержанием мультимедийного файла. Если файл содержит только видеокадры, на блоке появляются Image, I интенсивности или R, G B порты. Если файл содержит только звуковые выборки, на блоке появляется Audio порт. Если файл содержит как аудио, так и видео, можно выбрать данные для излучения. В следующей таблице описаны доступные порты.
Порт | Описание | |||
---|---|---|---|---|
Image | Цветовой видеосигнал M-на-N-на-P, где P - количество цветовых плоскостей. | |||
I | M-на-N матрица значений интенсивности. | |||
R, G, B | Матрица, которая представляет одну плоскость видеопотока RGB. Выходы портов R, G или B должны иметь одинаковые размерности. | |||
Audio | Вектор аудио данных. | |||
Y, Cb, Cr | Матрица, которая представляет одну систему координат видеопотока YCbCr. Порты Y, Cb, Cr производят следующие выходы:
|
Частота дискретизации, которую использует блок, зависит от частоты дискретизации аудио и видео. В то время как блок FMMF работает с одной скоростью в Simulink, базовые аудио- и видеопотоки могут создавать различные скорости. В некоторых случаях, когда блок выводит и аудио, и видео, делает небольшую настройку скорости видео.
Шаг расчета = . Когда аудио шага расчета, является нецелым числом, уравнение не может уменьшаться до . В этом случае, чтобы предотвратить проблемы синхронизации, блок отбрасывает соответствующий видеокадр, когда аудиопоток ведет видеопоток больше, чем . Сводные данные, блок выводит один видеокадр на каждом временном шаге Simulink. Чтобы вычислить количество выборок аудио для вывода на каждом временном шаге, блок делит скорость дискретизации аудио на частоту видеокадров (fps). Если частота дискретизации аудио не делится равномерно на количество видеокадров в секунду, блок округляет количество выборок аудио до ближайшего целого числа. При необходимости блок периодически отбрасывает видеокадр для поддержания синхронизации больших файлов. |
Укажите имя мультимедийного файла, из которого нужно считать. Блок определяет тип файла (только аудио и видео, аудио или видео) и предоставляет соответствующие параметры.
Если местоположение файла не отображается в пути MATLAB, используйте кнопку Browse, чтобы задать полный путь. В противном случае, если местоположение этого файла отображается в пути MATLAB, введите только имя файла. На платформах Windows этот параметр поддерживает URL-адреса, указывающие на потоки MMS (Microsoft Media Server).
Установите флажок Inherit sample time from file, если необходимо, чтобы шаг расчета блоков совпадал с мультимедийным файлом. Если этот флажок снят, введите блок шага расчета в поле параметра Desired sample time. Файл, на который ссылается From Multimedia File блок, определяет шаг расчета блока по умолчанию. Можно также задать шаг расчета для этого блока вручную. Если вы не знаете предполагаемую частоту дискретизации видео, пусть блок наследует частоту дискретизации из мультимедийного файла.
Задайте шаг расчета блока. Этот параметр становится доступным, если снять флажок Inherit sample time from file.
Введите положительное целое или inf
для представления количества раз воспроизведения файла.
Задайте область значений выборки, из которого можно считать двухэлементный вектор-строку в форме [StartSample EndSample], где StartSample - выборка, с которой начинается чтение файла, и EndSample - выборка, с которой останавливается чтение файла.
Значение по умолчанию является [1 Inf
].
Используйте этот флажок, чтобы определить, является ли выход последним видеокадром или аудио выборки в мультимедийном файле. При установке этого флажка на блоке появляется логический выходной порт с меткой EOF. Значение выхода от порта EOF по умолчанию равняется 1, когда из блока выводится последний видеокадр или аудио выборки. В противном случае выход порта EOF по умолчанию равен 0.
Задайте Video and audio
, Video only
, или Audio only
выход файла. Этот параметр становится доступным только, когда видеосигнал имеет и аудио, и видео.
Задайте количество выборок на аудиоканал. Этот параметр становится доступным для файлов, содержащих аудио.
Укажите, нужно ли выводить блок RGB
, Intensity
, или YCbCr 4:2:2
видеокадры. Этот параметр становится доступным только для сигнала, который содержит видео. Если вы выбираете RGB
, используйте параметр Image signal, чтобы задать, как вывести сигнал цвета.
Задайте, как вывести цветной видеосигнал. Если вы выбираете One multidimensional signal
блок выводит цветовой видеосигнал M-на-N-на-P, где P - количество цветовых плоскостей, на один порт. Если вы выбираете Separate color signals
на блоке появляются дополнительные порты. Каждый порт выводит одну плоскость M-на-N видеопотока RGB. Этот параметр становится доступным, только если установить параметр Output color format равным RGB
и сигнал содержит видео.
Установите тип данных выборок, выводимых в Audio port. Этот параметр становится доступным, только если мультимедийный файл содержит аудио. Вы можете выбрать double
, single
, int16
, или uint8
типы.
Установите тип данных видеокадров, выводимых в портах R, G, B или Image. Этот параметр становится доступным, только если мультимедийный файл содержит видео. Вы можете выбрать double
, single
, int8
, uint8
, int16
, uint16
, int32
, uint32
, или Inherit from file
типы.
Чтобы запустить сгенерированное автономное исполняемое приложение в Shell, необходимо задать следующее окружение:
Платформа | Команда |
---|---|
Mac |
Для получения дополнительной информации смотрите Добавить путь к библиотеке в «DYLD_LIBRARY_PATH» в MAC. |
Linux |
|
Windows |
|
Чтобы исходные блоки правильно отображали данные видео, пиксельные значения двойной и одинарной точности с плавающей точкой должны быть между 0
и 1
. Для других типов данных значения пикселей должны быть между минимальным и максимальным значениями, поддерживаемыми их типом данных.
Порт | Поддерживаемые типы данных | Поддерживает комплексные числа? |
---|---|---|
Изображение |
| Нет |
R, G, B | То же, что и порт Image | Нет |
Аудио |
| Нет |
Y, Cb, Cr | То же, что и порт Image | Нет |