Записать видео определенного окна с помощью ffmpeg - PullRequest
0 голосов
/ 06 марта 2012

Сейчас я работаю с Ubuntu 10.04 и ffmpeg.Вот моя ситуация:

У меня есть команда, которая создает окно и воспроизводит в нем видео:

video_handle/static/simpleVRML media/generated/video1330515739317/chunk0.avi

Мне нужно записать видео, которое отображается в этом контейнере видео, исохранить его в видео файл;Вебм является предпочтительным.Длительность видео ровно 1 секунда, а частота кадров составляет 29,97

Я уже пробовал эту команду:

ffmpeg -loglevel panic -f x11grab -s 640x480 -r 25 -i :0.0+0,50 -vframes 30 -sameq -y out.mpg >/dev/null 2>&1

Она фактически записывает экран при появлении контейнера, но мне нужно, чтобы вывод был действительноточный

Есть идеи ???

1 Ответ

1 голос
/ 06 марта 2012

Вот одно из решений: захват с X11 до серии неподвижных изображений с добавлением нескольких секунд заполнения; просмотрите неподвижные изображения и удалите ненужные; закодировать хороший набор кадров в видео. Преимущество этого состоит в том, чтобы быть без потерь, по крайней мере, на этапе захвата; ваш пример кодирует в формат MPEG с потерями.

Чтобы сделать серию фотографий:

mkdir images
ffmpeg -f x11grab -s 640x480 -r 25 -i :0.0+0,50 -vframes 90 -y images/out%04d.bmp

Поскольку вы работаете в Ubuntu Linux, вы можете просматривать изображения, используя:

gnome-open images

Это будет содержать последовательность изображений с именами файлов, такими как out0001.bmp, out0002.bmp и т. Д. Удалите ненужные. Наконец, закодируйте файл WebM:

ffmpeg -i images/out%04d.bmp -y out.webm

Обратите внимание, что предполагается, что у вас есть FFmpeg, созданный с поддержкой libvpx.

...