С инструментарием определился быстро:
Для захвата звука - ALSA, так как моя звуковая карта работает именно с ней.
Для сжатия и сохранения в файл - FFmpeg (его библиотеки avcodec и avformat), так как именно ими пользуется Motion для сохранения видео.
С ALSA все более-менее понятно, есть немного внятная документация и автоматически сгенерированное описание API там же. Также я смотрел исходники программы aplay и arecord (которые на самом деле - одна и та же программа).
А вот с FFmpeg всё оказалось сложнее - никакой внятной документации для него нет, даже на английском языке. Есть автоматически сгенерированное описание API и несколько примеров:
- В самом проекте - показано, как использовать avcodec на примере кодирования/декодирования аудио и видео отдельно друг от друга. При этом работа с медиафайлами реализована напрямую без использования avformat.
- Пример от Martin Böhme рассказывает о том, как с помощью avformat и avcodec открыть и декодировать видеофайл. Он не касается звука, а также кодирования аудио/видео информации.
- Пример от dranger являет собой урок по созданию с нуля простенького видеоплеера, который для чтения и декодирования файлов использует avformat и avcodec, а для воспроизведения видео и звука, а также для взаимодействия с клавиатурой использует библиотеку SDL. Здесь тоже не затрагиваются вопросы кодирования.
Вот что у меня получилось: http://ls-it.googlecode.com/svn/trunk/alsa-capture/
Для сборки просто введите make. После запуска программа попытается записать несколько секунд звука с ALSA-устройства default в файл output.ogg, который будет создан в папке с программой.
Я постарался снабдить исходный код большим количеством комментариев на русском языке, чтобы было легче разобраться в нём. Ваши комментарии, доработки и предложения всячески приветсвуются. :)
турнир по казакам лцн cossocks empires империя турнир movies subtitles субтитры к сериалам субтитры к сериалам subtitles tv shows subtitles subtitles tv show and tv series subtitles турнир по казакам казаки субтитры к фильмам seropol5
ОтветитьУдалитьДобрый день. Мучительно разбирался с ffmpeg. Внятной документации для него нет. Приходилось все время рыться в инете и искать что-нить что может объяснить что там написано. В основном все используют очень простой пример (строку) чтобы показать какие параметры используются. Но нигде не нашел чтобы можно было кодировать в flv через h264. Может быть у вас есть опыт в данном деле. Буду очень признателен за ответ. DBorzenkov@gmail.com. Может я поделюсь какой-нить информацией.
ОтветитьУдалитьЯ тоже имел опыт работы с FFmpeg-ом. Только я декодировал видео и извук. Кому инетесно написал статью по этом поводу http://unick-soft.ru/Articles.cgi?id=18
ОтветитьУдалитьА я как-то пыталась работу со звуком освоить ну так ничего и не получилось((...
ОтветитьУдалить