Tenzor,
Ну вопервых сделайте то что сказал Сергей, ибо без предварительной настройки аудиоподсистемы - аудио может вообще не работать. И опцию кодека сместите так как показано у Сергея...
Во вторых захват должен вестись желательно в лосслесс формате, ибо кодирование на лету нагружает систему, память и может привести к глюкам записи...
В третьих опции кодирования желательно располагать в конце, не обязательно но желательно ибо некоторые энкодеры могут глючить если их команды расположены некорректно, в несовсем надлежащем месте строки... Всё это есть по ссылке, просто достаточно посидеть минут 20-30, повникать и разобраться, особо сложного там ничего нет - это же не заморочанные bash скипты
Ваша строка:
ffmpeg -f alsa -i default -ar 44100 -acodec mp2 -ab 128k -ac 2 -f x11grab -r 25 -s 854x480 -i :0.0+500,200 -vcodec mpeg2video -sameq temp.avi
Рекомендуемая строка:
-f alsa -i pulse -f x11grab -s 1920x1080 -r 25 -i :0.0 -vcodec qtrle -f mov -acodec pcm_s16le /home/user/video.mov
Здесь нужно отталкиваться от размера экрана монитора - ибо например я не понял принципа задачи вашего смещения, - чо вы хотели этим достичь???
В четвёртых - я вообще сомневаюсь, что у вас работает эта опция < -i :0.0+500,200 > без корректной задачи смещения, или - она всё же работает но криво... Смещения должны вычитаться из установленной размерности кадра < -s >, которая должна быть равна размеру экрана монитора, ибо целенаправленное уменьшение размеров кадра в опции < -s > даст вам плохое качество (искажённое) записываемого сигнала...
В пятых вы выбрали неудачный энкодер для захвата экрана, - обратитесь к рекомендуемой строке с видеоэнкодером qtrle и аудиоэнкодером WAV PCM-16Bit-Little Endian - pcm_s16le, ибо захват с использованием аудиокодека MPEG-1 layer II не совсем корректен, ибо это кодек для кодирования в DVD и MPEG-II и с ним могут возникнуть проблемы если он используется не надлежащим образом. Захватывать звук лучше в PCM, ибо сжать его можно опосля в файле, вместе с видео или не трогая видео...
Если вы всё же хотите несколько сжатый вариант, то по ссылке которую я вам дал - есть достойный и проверенный для этого пример:
ffmpeg -y -f alsa -i pulse -f x11grab -s 1920x1080 -r 25 -i :0.0 -vcodec mpeg4 -qscale 0 -f avi -acodec pcm_s16le /home/user/video.avi
ffmpeg -f alsa -i default -ar 44100 -acodec mp2 -ab 128k -ac 2 temp.avi
Откуда он берёт опцию sample_rate я не понимаю.
Видимо из задачи аудио рейта 44100 ... зачем вам вообще ужна эта опция? энкодер по умолчанию сам выбирает аудиорейт необходимый для данного типа кодирования...