Сохранение вывода видеокамеры V4L2

Какой формат видео будет самым простым при сохранении вывода камеры с помощью V4L2, если я запишу его в растровом формате? Получить mpeg напрямую, конечно, было бы неплохо, но, к сожалению, я не могу на это рассчитывать.

Удалось заснять кадры, теперь нужно как-то просмотреть видео. Могу ли я просто преобразовать эти кадры с помощью какого-либо инструмента Linux или я могу легко сохранить видео прямо из своего приложения?


person Makis    schedule 11.01.2010    source источник
comment
Ой, извините, мой плохой, я не заметил, что вы говорили о «моем приложении», так что это на самом деле связано с программированием - в любом случае, libffmpeg, вероятно, стоит посмотреть в любом случае...   -  person Kimvais    schedule 11.01.2010
comment
Ну, скажем так: это устройство, и мне нужно написать код, который просто проверяет, что камера (среди прочего) работает. Формат видео не должен быть причудливым или что-то в этом роде, достаточно, если я смогу продемонстрировать, что это была камера, которая фактически захватила видео. Таким образом, часть проблемы заключается в том, что я не знаю, смогу ли я установить на устройство множество нестандартных библиотек (например, тех, которых еще нет в Linux).   -  person Makis    schedule 11.01.2010


Ответы (3)


Вы можете использовать практически любой формат/кодек, если используете mencoder или ffmpeg

Кстати, этот вопрос действительно должен быть на superuser.com

person Kimvais    schedule 11.01.2010

Для простоты (как в демонстрационной версии Proof-of-Concept) вы можете сохранить кадры YUV, полученные с устройства, напрямую в файл.

Существует множество программ просмотра, которые поддерживают воспроизведение одного или нескольких кадров данных YUV из файла.

Одним из таких средств просмотра YUV является freecode.com/projects/yay.

person TheCodeArtist    schedule 16.08.2012

Если вы уже снимаете кадры, вы можете сохранить их в изображения PPM, а затем перейти в JPEG. Я сделал это с помощью v4l2 и ImageMagick. Возможно, вы могли бы поместить JPEG в поток Motion JPEG. Это может быть не так высокотехнологично, как MPEG, но вы можете быстро заставить его работать. Файлы PPM было очень просто создать. Если я правильно помню, пример кода v4l2 показывает, как сделать эту часть.

person Nate    schedule 11.01.2010
comment
В примере с capture.c из спецификации V4L2 такого нет. - person shodanex; 11.01.2010
comment
Что ж, спасибо за это... это было давно. Я нашел пример на каком-то сайте, связанном с v4l2. Не то чтобы он просил конкретные примеры кода для PPM. - person Nate; 11.01.2010