vision.VideoFileWriter

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

Описание

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

Примечание

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

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

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

Чтобы запустить исполняемый файл, который был сгенерирован из объекта, вам может потребоваться добавить предварительно скомпилированные общие файлы библиотеки к системному пути. Для получения дополнительной информации см. MATLAB Coder и Simulink Shared Library Dependencies.

Примечание

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

Создание

Описание

пример

videoFWriter = vision.VideoFileWriter возвращает видео файла средства записи Системный объект, 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'

Файл Motion 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) для сохранения несжатого видео в данные файла видео. The VideoCompressor свойство может также быть установлено на один из компрессоров, доступных в вашей системе. Чтобы получить список доступных видеокомпрессоров, можно использовать заполнение клавишей Tab. Выполните следующие действия:

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

    y = vision.VideoFileWriter

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

    y.VideoCompressor='

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

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

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

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

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

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

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

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

Описание

пример

Filename = videoFWriter(videoFrame) записывает одну систему координат видео, videoFrame, в файл выхода. Входным видео может быть видеокадр RGB M -by- N -by-3 truecolor или видеокадр 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.

Входные параметры

расширить все

Видеокадр, возвращенный как truecolor или 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)
Motion JPEG 2000 (. mj2)
Windows Media Video (.wmv, .asf, .asx. asx)
и любой формат, поддерживаемый Microsoft DirectShow ® 9.0 или выше.
Аудио:
ВОЛНА (.wav)
Аудио- Файл Windows Media (.wma)
Формат файла обмена аудио (.aif, .aiff)
Сжатый формат файла обмена аудио (.aifc),
MP3 (.mp3)
Аудио Солнца (.au)
Apple (.snd)
Макинтош Видео:
.avi
Motion JPEG 2000 (. mj2)
MPEG-4, включая H.264 закодированное видео (. mp4. m4v)
Apple QuickTime Movie (.mov)
и любой формат, поддерживаемый QuickTime, как указано в http://support.apple.com/kb/HT3775.
Аудио:
Несжатые .avi
Linux Motion 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.

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

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

release(obj)

расширить все

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

Примеры

свернуть все

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

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