NewVideoRecorder является высокое качество захвата видео для Linux инструментарий. На данный момент он поддерживает v4l1 и v4l2 устройства, как видео источники, OSS и ALSA в качестве источника звука. Это может выводиться в формате QuickTime (в RTJpeg, YUV2 или RAW формате, и большинство FFmpeg форматов), AVI (DivX в формате, формате) NuppelVideo, MPEG-1, и потокового многоадресного / unsicast.
nvrec включает в себя глубокое буферизации, чтобы минимизировать потери кадров, в ситуациях, высокая нагрузка, и гладкую алгоритм framedropping сохранить видео как можно более гладко, если у вас есть, чтобы отбрасывать кадры.
Она также имеет аудио "носилки", чтобы написать точную сумму аудио в выходной файл (это компенсирует за отсутствия синхронизации между часами видео и аудио карт). nvrec написано в чрезвычайно модульным способом, чтобы сделать его легко интегрировать с существующими приложениями, или добавить свои собственные форматы.
Этот двигатель позволяет использовать глубокие буферы (2 секунды) для аудио и видео. На видео в буфере драйвера, чтобы избежать слишком много дорогостоящих пользовательском пространстве экземпляров. Звук в буфер в пользовательском пространстве кольцевой буфер. Это дорого, но необходимому, а водители OSS часто ограничены очень коротких буферов.
Все буферы точно датируемые как они получили: видео буферы ядра, и аудио буферов по gettimeofday () (смещение по текущей глубины буфера ядра). В начале, аудио или видео отключается до тех пор, как не синхронизированы, и с тех пор, только аудио и видео датируются за тот же период обрабатывается.
Так будет часы дрейф между аудио захвата и захвата видео карт, аудио-поток динамически деформироваться так, что именно нужное количество аудио помещается в выходной файл для каждого кадра видео, записанного в файле (ПРИМЕЧАНИЕ: В настоящее время деформации осуществляется простым алгоритмом линии - могли бы сделать намного лучше здесь). Простой ПИ-регулятор регулирует коробление фактор, чтобы сохранить синхронизацию.
Код пытается сохранить внутренние буферы между 10% (чтобы убедиться, что мы никогда не кончатся данных) и 40% (чтобы убедиться, что мы не; т есть неконтролируемые пропуск) полное. Когда буфер меньше 10%, он просто спит 1 период кадра. Когда буфер больше, чем 40%, он постепенно снижается больше кадров в sencond, пока устойчивая точка не будет достигнута.
Код предназначен для очень модульная, так что не должно быть никаких проблем добавления ядро ALSA.
Есть в настоящее время пять выходных ядер: qtfile_core, которая производит RTJpeg, YUV2 или RAW файлов QuickTime, закодированные; divxfile_core, которая производит DivX закодирован AVI файлов; nuvfile_core, которая производит NuppelVideo0.4 файлов; rtefile_core, которая производит MPEG-1 программных потоков; и ffmpegfile_core, который производит много типов файлов, как mpeg4, mpeg2, MPEG1, WMV, DV, H263 ... (см документацию в ffmpeg.sf.net).
Что нового в этой версии:
Детали программы:
Версия: 20041227
Дата загрузки: 3 Jun 15
Тип распространения: Бесплатная
Популярность: 87
Комментарии не найдены