LINUX.ORG.RU

История изменений

Исправление ZenitharChampion, (текущая версия) :

Вот записываем мы видео с экрана:

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -threads 0 output.mkv

Вот записали. Всё нормально.

Вот мы отключили PulseAudio, потому что оно - дерьмо. Поменяли -f alsa -ac 2 -i pulse на -f alsa -ac 2 -i hw:0. Вот мы записали ещё одно видео. И - о ужас! В какой-то момент звук перестаёт записываться, а в консоль сыпятся ошибки в больших количествах: ALSA buffer xrun!

Что вы ни пробуете - всё не помогает. И тут приходит идея: синхронно запустить:

ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 -vcodec libx264 -preset ultrafast -threads 0 output-video.mkv

и

ffmpeg -f alsa -ac 2 -i hw:0 -acodec pcm_s16le -threads 1 output-audio.mkv

И - о чудо! Весь звук пишется нормально!

И вот теперь представьте, что вы записываете видео из 10 частей. Все их потом надо склеивать. И после записи каждого видео надо синхронизировать аудио и видео! Это адище!

Подробнее: https://trac.ffmpeg.org/ticket/615 В общем, спасибо за статью!

Исправление ZenitharChampion, :

Вот записываем мы видео с экрана:

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -threads 0 output.mkv

Вот записали. Всё нормально.

Вот мы отключили PulseAudio, потому что оно - дерьмо. Поменяли -f alsa -ac 2 -i pulse на -f alsa -ac 2 -i hw:0. Вот мы записали ещё одно видео. И - о ужас! В какой-то момент звук перестаёт записываться, а в консоль сыпятся ошибки в больших количествах: ALSA buffer xrun!

Что вы ни пробуете - всё не помогает. И тут приходит идея: синхронно запустить:

ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 -vcodec libx264 -preset ultrafast -threads 0 output-video.mkv

и

ffmpeg -f alsa -ac 2 -i hw:0 -acodec pcm_s16le -threads 1 output-audio.mkv

И - о чудо! Весь звук пишется нормально!

И вот теперь представьте, что вы записываете видео из 10 частей. Все их потом надо склеивать. И после записи каждого видео надо синхронизировать аудио и видео! Это адище!

В общем, спасибо за статью!

Исходная версия ZenitharChampion, :

Вот записываем мы видео с экрана:

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -threads 0 output.mkv

Вот записали. Всё нормально.

Вот мы отключили PulseAudio, потому что оно - дерьмо. Поменяли -f alsa -ac 2 -i pulse на -f alsa -ac 2 -i hw:0. Вот мы записали ещё одно ивидео. И - о ужас! В какой-то момент звук перестаёт записываться, а в консоль сыпятся ошибки в больших количествах: ALSA buffer xrun!

Что вы ни пробуете - всё не помогает. И тут приходит идея: синхронно запустить:

ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 -vcodec libx264 -preset ultrafast -threads 0 output-video.mkv

и

ffmpeg -f alsa -ac 2 -i hw:0 -acodec pcm_s16le -threads 1 output-audio.mkv

И - о чудо! Весь звук пишется нормально!

И вот теперь представьте, что вы записываете видео из 10 частей. Все их потом надо склеивать. И после записи каждого видео надо синхронизировать аудио и видео! Это адище!

В общем, спасибо автору за статью.