Как импортировать файлы .AVI? - PullRequest
4 голосов
/ 12 апреля 2011

Я пытаюсь импортировать файл .avi для обработки кадров.

Import["c:\\windows\\clock.avi","Elements"]
Import["c:\\windows\\clock.avi","VideoEncoding"]
Import["c:\\windows\\clock.avi"]
Import["c:\\windows\\clock.avi",{"Frames",{5,6}}]

Out[115]= {Animation,BitDepth,ColorSpace,Data,Duration,FrameCount,FrameRate,
           Frames,GraphicsList,ImageList,ImageSize,VideoEncoding}
Out[116]= rle8
Out[117]= {1,2,3,4,5,6,7,8,9,10,11,12}
During evaluation of In[115]:= Import::fmterr: Cannot import data as video format.
During evaluation of In[115]:= Import::fmterr: Cannot import data as video format.
Out[118]= {$Failed,$Failed}  

Он сообщает об одной и той же ошибке со всеми протестированными avi-файлами.

Есть подсказки?

1 Ответ

7 голосов
/ 12 апреля 2011

AVI - это контейнерный формат.Вы можете закодировать фильмы с совершенно странным и редким форматами и все еще называть это .avi.

Вы можете использовать конвертер видеоформатов, например freemake , чтобы конвертировать ваш фильм в формат, который может использовать Mathematica.Проверьте с помощью Internal`$VideoEncodings, какие типы внутренних форматов распознаются.

Довольно часто Quicktime (.mov) работает проще всего.AVI иногда загружаются просто отлично, но не отображаются вообще, даже если у меня на борту правильный кодек, и все мои проигрыватели могут его воспроизводить.

Если все остальное не помогает, вы можете попробовать VirtualDub .Он может читать AVI и разбивать их на отдельные изображения, которые можно легко импортировать в MMA.

РЕДАКТИРОВАТЬ
Я вспоминаю из моего последнего видео проекта полный провал чтения AVIЯ получил от плагина FireFox DownloadHelper загрузку определенного фильма на YouTube (хотя он воспроизводился во всех моих проигрывателях, VLC, Media Player Classic, Windows Media player и т. Д.).Преобразование DH в .mov работает, но DH вставляет в него свой логотип.Итак, наконец, я прибег к загрузке с FreeMake и преобразованию в отдельные кадры с помощью VirtualDub.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...