обработка изображений с помощью hadoop - PullRequest
3 голосов
/ 15 июня 2010

Как читать видеокадры в hadoop?

1 Ответ

16 голосов
/ 11 июля 2010

Чтобы обрабатывать специализированные форматы файлов (например, видео) в Hadoop, вам нужно написать собственный InputFormat и RecordReader, который понимает, как преобразовать видеофайл в разбиения (InputFormat), а затем прочитать разбиения на значения (RecordReader).Это нетривиальная задача, требующая некоторых промежуточных знаний о том, как Hadoop обрабатывает разбиение данных.Я настоятельно рекомендую книгу О'Рейли «Полное руководство» Тома Уайта, а также видеоролики на http://www.cloudera.com. (полное раскрытие: я работаю на Cloudera.)

Имейте в виду, что форматы видео обычносжатый, который становится еще более сложным, потому что InputSplits (созданные InputFormat) являются простыми байтовыми смещениями в файле (обычно).Начните с http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/InputFormat.html

Подводя итог: InputFormat знает, как сгенерировать список объектов InputSplit, размер которых (обычно) составляет от 64 до 128 МБ, и которые NOT учитывают понятие фреймов.RecordReader затем используется для чтения фреймов из InputSplit для создания объектов значений, которые карта может обработать.Если вы хотите сгенерировать вывод видео, вам также нужно написать собственный OutputFormat.

Надеюсь, это поможет.

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