exponenta event banner

видение. VideoFileWriter

Запись видеокадров и аудиоотсчетов в видеофайл

Описание

VideoFileWriter объект записывает видеокадры и аудиоотборники в видеофайл. Видео и аудио могут быть сжаты. Доступные типы сжатия зависят от кодеров, установленных на платформе.

Примечание

Этот блок поддерживает генерацию кода для платформ с доступным файловым вводом-выводом. Этот блок нельзя использовать с программным обеспечением Simulink ® Desktop Real-Time™, поскольку этот продукт не поддерживает файловый ввод-вывод .

Этот объект лучше всего работает на платформах с версией 11 или более поздней версии проигрывателя Windows Media ®. Этот объект поддерживает только несжатые файлы RGB24 AVI на платформах Linux ® и Mac.

Созданный код для этого объекта основан на предварительно созданных файлах библиотеки. Этот код можно запустить вне среды MATLAB ® или повторно развернуть, но при этом следует учитывать эти дополнительные файлы библиотеки. Функция packNGo создает один zip-файл, содержащий все части, необходимые для выполнения или восстановления этого кода. ПосмотритеpackNGo (Simulink Coder) для получения дополнительной информации.

Чтобы запустить исполняемый файл, созданный из объекта, может потребоваться добавить предварительно скомпилированные файлы общей библиотеки к системному пути. Дополнительные сведения см. в разделе Зависимости кодера MATLAB и общей библиотеки Simulink.

Примечание

Начиная с R2016b, вместо использования step для выполнения операции, определенной системным object™, можно вызвать объект с аргументами, как если бы это была функция. Например, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Создание

Описание

пример

videoFWriter = vision.VideoFileWriter возвращает объект System модуля записи видеофайлов, videoFWriter. Он записывает видеокадры в несжатый 'output.aviвидеофайл. Каждый звонок в step способ записывает видеокадр.

videoFWriter = vision.VideoFileWriter(Filename) возвращает объект записи видеофайлов, videoFWriter записывает видео в файл, Filename. Тип файла может быть .avi, .mj2, .mp4, и .m4v , указанный FileFormat собственность.

videoFWriter = vision.VideoFileWriter(___,Name,Value) настраивает свойства устройства записи видеофайлов, указанные как один или несколько аргументов пары имя-значение. Неопределенные свойства имеют значения по умолчанию.

Name является именем свойства и Value - соответствующее значение. Name должно отображаться внутри отдельных кавычек (''). Можно указать несколько аргументов пары имя-значение в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: videoFWriter = vision.VideoFileWriter('myFile.avi','FrameRate',... videoFReader.info.VideoFrameRate);

Свойства

развернуть все

Имя файла вывода видео, указанное как символьный вектор. Расширение файла, которое вы даете для Filename должны соответствовать FileFormat.

Формат выходного файла, указанный в таблице как один из поддерживаемых форматов файлов.

Формат файлаОписаниеРасширение файлаПоддерживаемая платформа

'AVI'

Файл чередования аудио-видео.avi Все платформы

'MJ2000'

Файл JPEG 2000 движения.mj2 Все платформы

'MPEG4'

MPEG-4/H.264 Видео.mp4 , .m4vWindows ® и Mac

Запись аудиоданных, указанных как false или true. Это свойство используется для управления тем, записывает ли объект образцы звука в видеофайл. Задайте для этого значения значение true для записи аудиоданных. Для записи аудио и видео в файл необходимо использовать.avi формат.

Частота кадров в кадрах в секунду, заданная как положительный числовой скаляр. Для видео, которые также содержат аудиоданные, скорость аудиоданных будет определяться как скорость видео, умноженная на количество переданных аудиоотсчетов. Например, если используется частота кадров 30и пройти 1470 отсчетов звука, объект устанавливает отсчет звука в 44100, (1470 x 30 = 44100).

Укажите тип алгоритма сжатия, реализуемого для аудиоданных. Это сжатие уменьшает размер видеофайла. Выбирать None (uncompressed) для сохранения несжатых аудиоданных в видеофайл. Другие опции отражают доступные алгоритмы сжатия звука, установленные в системе. Это свойство применяется только при записи AVI файлы на платформах Windows.

Укажите тип алгоритма сжатия, используемого для сжатия видеоданных. Это сжатие уменьшает размер видеофайла. Выбирать None (uncompressed) для сохранения несжатых видеоданных в видеофайл. VideoCompressor также может быть задано значение одного из компрессоров, доступных в системе. Чтобы получить список доступных видеокомпрессоров, можно воспользоваться заполнением вкладки. Выполните следующие действия.

  1. Создайте экземпляр объекта:

    y = vision.VideoFileWriter

  2. Чтобы запустить функцию заполнения закладки, введите следующее до открытой кавычки.

    y.VideoCompressor='

    Список компрессоров, доступных в системе, появится после нажатия кнопки Tab ключ. Например:

Это свойство применяется только при записи AVI файлы на платформах Windows.

Укажите тип сжатых выходных аудиоданных. Это свойство применяется только при записи без сжатия WAV файлы.

Цветовое пространство для выходного AVI-файла, указанное как RGB или YCbCr 4:2:2. Это свойство применяется при установке FileFormat свойство для AVI и только на платформах Windows.

Управляющий размер выходного видеофайла, указанный как целое число в диапазоне [0,100]. Увеличьте это значение для повышения качества видео. Однако это увеличивает размер файла. Уменьшите значение, чтобы снизить качество видео при меньшем размере файла.

Quality свойство применяется только при записи видеофайлов MPEG4 (на Windows или Mac) или при записи видеофайлов MJPEG-AVI только на Mac или Linux.

Целевое отношение между количеством байтов во входном изображении и сжатом изображении, указанное как целое число, большее, чем 1. CompressionFactor указывает целевое соотношение между количеством байтов во входном изображении и сжатым изображением. Данные максимально сжаты, вплоть до указанного целевого объекта. Это свойство применяется только при записи файлов Lossy MJ2000.

Использование

Описание

пример

Filename = videoFWriter(videoFrame) записывает один кадр видео, videoFrame, в выходной файл. Входное видео может быть M-by-N-by-3 truecolor RGB видеокадра, или M-by-N серого масштаба видеокадра..

Filename = videoFWriter(videoFrame,audio) записывает один кадр входного видео, videoFrameи один кадр аудиоотсчетов, audio, в выходной файл. Это применимо при установке AudioInputPort свойство для true.

Filename = videoFWriter(videoFrame,Y,Cb,Cr,audio) записывает один кадр видео YCbCr 4:2:2 и один кадр аудиоотсчетов, audio, в выходной файл. Это применимо при установке AudioInputPort кому true и FileColorSpace свойство для "YCbCr 4:2:2'. Ширина цветовых компонентов Cb и Cr должна составлять половину ширины Y.

Входные аргументы

развернуть все

Видеокадр, возвращенный в виде триеколора или изображения 2-D оттенках серого.

Цветовой формат YCbCr, возвращенный в YCbCr 4:2:2 формат.

Один кадр аудиоотсчетов, возвращаемый в одном из следующих форматов.

ПлатформаПоддерживаемые расширения имен файлов
Все платформыAVI (.avi)
Windows Изображение:
.jpg,.bmp
Видео:
MPEG (.mpeg)
MPEG-2 (.mp2)
MPEG-1.mpg

MPEG-4, включая H.264 закодированное видео (.mp4, .m4v)
Движение JPEG 2000 (.mj2)
Видео Windows Media (.wmv,.asf, .asx. asx)
и любой формат, поддерживаемый Microsoft DirectShow ® 9.0 или более поздней версии.
Аудио:
ВОЛНА (.wav)
Аудиофайл Windows Media (.wma)
Формат файла аудиообмена (.aif, .aiff)
Сжатый формат файла аудиообмена (.aifc),
MP3 (.mp3)
Sun Audio (Sun Аудио) (.au)
Apple.snd)
Макинтош Видео:
.avi
Движение JPEG 2000 (.mj2)
MPEG-4, включая H.264 закодированное видео (.mp4, .m4v)
Фильм Apple QuickTime (.mov)
и любой формат, поддерживаемый QuickTime, как указано в http://support.apple.com/kb/HT3775.
Аудио:
Несжатый .avi
Linux Движение JPEG 2000 (.mj2)
Любой формат, поддерживаемый установленными подключаемыми модулями для GStreamer 0.1 или выше, как указано на http://gstreamer.freedesktop.org/documentation/plugins.html, включая Ogg Theora (.ogg).

Платформы Windows XP и Windows 7 x64 поставляются с ограниченным набором 64-разрядных видео и аудиокодеков. Если сжатый мультимедийный файл не воспроизводится, попробуйте сохранить его в поддерживаемом формате, указанном в таблице выше.

При использовании Windows используйте проигрыватель Windows Media версии 11 или более поздней.

Примечание

Файлы MJ2 с битовой глубиной выше 8 бит не поддерживаются vision.VideoFileReader. Использовать VideoReader и VideoWriter для более высоких битовых глубин.

Чтение звука из сжатых файлов MP4 с видео и аудио не поддерживается vision.VideoFileReader.

Выходные аргументы

развернуть все

Имя файла вывода видео, указанное как '.avi', '.mj2', '.mp4', и '.m4v'. Расширение файла, которое вы даете для Filename должны соответствовать FileFormat.

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

infoСведения об указанном видеофайле
isDoneСостояние окончания файла (логическое)
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Загрузите видеофайл и запишите его в объект записи.

videoFReader = vision.VideoFileReader('viplanedeparture.mp4');
videoFWriter = vision.VideoFileWriter('myFile.avi', ...
    'FrameRate',videoFReader.info.VideoFrameRate);

Запишите первые 50 кадров из исходного файла в только что созданный myFile.avi файл.

for i=1:50
  videoFrame = videoFReader();
  videoFWriter(videoFrame);
end

Закройте входной и выходной файлы.

release(videoFReader);
release(videoFWriter);

Расширенные возможности

.
Представлен в R2012a