vlc может выполнять запись и преобразование напрямую, если заданы правильные параметры командной строки (что, однако, не тривиально, но достаточно хорошо задокументировано).
Также есть библиотека libvlc, которую вы можете использовать для всего, что делает vlc; Я использовал его только для воспроизведения, но я полагаю, что захват и сохранение в файл не должны быть слишком сложными.
Вы не сказали своей платформе, но и vlc, и libvlc - это windows / linux / osx, и это не должно быть большой проблемой.
Это, например, командная строка vlc, которую я использую, чтобы начать запись с моей веб-камеры
vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=320 :v4l2-height=240
--sout "#transcode{vcodec=x264,acodec=mpga,vb=800,ab=128}
:standard{access=file,dst=capture.avi}"