LINUX.ORG.RU

Захват opengl-приложения.


1

2

Уж не знаю, в правильный ли раздел зашел...сначала думал в Games написать, но тут вроде не по конкретной игре вопрос...

В общем, хочу записать видео с opengl-приложения. Т.е да, с игры. Желательно, без потерь и артефактов.

GLC не предлагать. Попробовать собрать недавно - при попытке запуска с приложением валится и пишет «can't execute». В чем дело - не знаю. Пробовал Record My Desktop. Если не включать full frames, то появляются артефакты(линии по видео). Если включить - происходят невиданные чудеса. Один кадр из приложения, следующий кадр - оконный менеджер. И т.д.

Пробовал Istanbul. Аналогично - тормоза и артефакты.

Пробовал через ffmpeg захватывать - либо просто тормоза, либо тормоза с артефактами.

Да, вот такой командой.

ffmpeg -f x11grab -r 25 -s 1280x1024 -i :0.0 -f alsa -ac 2 -i pulse -acodec pcm_s16le -ab 128k -ac 2 -vcodec libx264 -vpre lossless_ultrafast `date +%d-%m-%Y_%H-%M-%S`.avi

Взято отсюда.

Есть какой-нибудь нормальный способ захватывать видео с игр?

★★★★★

Хм, у меня ffmpeg с openGL'я отлично пишет, вот на работе:

alias recdesktop='ffmpeg -f x11grab -s 1680x1050 -r 8 -i :0.0 -sameq '
-r25 лучше не делать, т.к. слишком толстый файл получается. Но это ваше дело.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Попробовал Вашу команду. То же самое. Дикие тормоза во время записи(повороты мышкой). В конечном файле полосы по видео, и само видео тормозит...печально...

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Видеокарты что ли нет?

У меня даже на сравнительно слабой nVidia ничего не тормозит (в т.ч. при работе с 3D: кручу фигуру из ~9млн. треугольников, тормозов нет).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Просто в настройках записи через ffmpeg не очень разбирался пока, поэтому могу что-то не так делать.

tekk ★★★★★
() автор топика

А есть попробовать встроенную в gnome 3? Ту, которая по Control+Shift+Alt+R включается.

Ещё VLC умеет захват с экрана.

Deleted
()
Ответ на: комментарий от Eddy_Em

В том-то и дело, что она есть...

tekk ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Не пользуюсь третьегномом.

В vlc посмотрел, действительно что-то такое есть...только я не понял что в Video Device вписывать надо... /dev/nvidia0 валится.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

В vlc посмотрел, действительно что-то такое есть...только я не понял что в Video Device вписывать надо... /dev/nvidia0 валится.

Это не то. Ты в режиме захвата забыл выбрать «Экран».

Deleted
()
Ответ на: комментарий от tekk

Снова артефакты и дикие тормоза...не могу понять, в чем дело...

Быть может у тебя дисковая подсистема не справляется? Попробуй для теста писать в /dev/null.

Deleted
()
Ответ на: комментарий от Deleted

Не знаю, не знаю...

Попробовал через vlc. Первый результат - все отлично, но записалось почему-то только 30 сек, и работы с opengl я так и не увидел...

Второй результат - слайд-шоу в игре. И все дико-темное. Это с пресетом MPEG-2 + MPGA.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

У меня на работе GT215, так что, скорее всего, у вас какие-то настройки в xorg неправильные. Какая версия блоба?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Записал опенарены кусок, могу выложить (правда, у меня два монитора, а как сделать, чтобы игра шла только на одном, не понял).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Дров нвидии?

xorg-nvidia-x11-drv-nvidia 270.13-1 и kmod-nvidia версии 270.41.06-1

Дистр Fc14, все из репов ставил.

tekk ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Обновляться в федоре - себе хуже делать.

Кстати, а что может дать обновление в конкретном случае? Ну, с записью видео.

tekk ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Обновляться в федоре - себе же хуже делать. Кстати, а что даст обновление в конкретном случае, с записью видео? Ну, теоритически?

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Без понятия. Вообще, по идее, и так должно нормально работать. А в конкретном случае явно какая-то аппаратная проблема.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Жаль...

Поставить маздай чтоли, там попробовать fraps погонять...

Хотя, не знаю чем мне это поможет...

tekk ★★★★★
() автор топика

Пересобрал ffmpeg из исходников. Включил в nvidia-settings вертикальную синхронизацию.

И все заработало отлично.

Правда заметил такую тенденцию - при отключенной опции «Allow Flipping», артефактов на видео нету, но есть небольшие тормоза(даже если выставить более 30фпс при записи). Если же включить данную опцию, то тормоза исчезнут, но появятся артефакты.

Куда копать пока не сообразил.

tekk ★★★★★
() автор топика

Cast Eddy_Em

Извините, если потревожил, но как быть с записью в дальнейшем? См.мой предыдущий пост. Я вроде как разобрался с записью. Но не до конца.

Кстати, попробовал открыть output-файл в avidemux. Получаю всегда видео с очень быстрой скоростью(с framerate что-то не то). Даже при смене framerate, результат удручает. В чем может быть дело?

tekk ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

На всякий пожарный.

Перегонять видео с одного формата в другой, например. Или звуковые дорожки вытаскивать/заменять в видео.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Перегнать можно и ffmpeg'ом. А вот если надо визуально нарезать, да спецэффекты добавить - то да, можно и avidemux использовать.

По идее, он не должен матюгаться, если правильно выставить частоту кадров. А вот превьюшки могут отображаться некорректно - у меня такое было. Но после декодирования все обычно получалось нормально.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от PolarFox

Нет, не используется.

Что blender? Для редактирования видео? Смеетесь?

Нет, я конечно что-то слышал о том, что его можно использовать для обработки видео, но конкретного мануала по этому поводу не нашел.

tekk ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Да, я говорил именно про «визуально нарезать».

Я захватывал видео с коммандой

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x1024 -i :0.0 -acodec pcm_s16le \ -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

.

Avidemux открывает такое видео в «безопасном режиме».

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Что blender?

Blender.

Для редактирования видео?

Да.

Смеетесь?

Нет.

Для операций вроде «обрезать» и «склеить» мануал особо и не нужен, переключаешь вид окошка в режим Video Sequence Editor, а дальше всё интуитивно понятно.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

Для этого есть avidemux/kino/openshot/etc.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Ох, чую я, что что-то там было лишним... Пока попробовать не могу, ибо с шаббата, но как смогу - попробую...

Eddy_Em ☆☆☆☆☆
()

Странно что последняя команда работает с тормозами! У меня есть лишь лёгкие притормаживания (записывал Unreal Tournament 2004). Правда, всего лишь 15 минут игры заняли 2 Гб...

Давай поищем другой кодек, вместо ultrafast x264? да хоть чистый PCM! Пресеты какие-то есть в /usr/share/ffmpeg.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от Eddy_Em

Возможно, возможно.

Я в записи через ffmpeg не очень разбираюсь...

Хорошо, если сможете попробовать. Заранее спасибо.

tekk ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Да, там именно легкие притормаживания. fps проседает, приблизительно до 24-25. Может чуть выше.

Записывал тоже ut2004.

Пресетов в /usr/share/ffmpeg/ тоже нету(такой папки в /usr/share/ просто нет).

А как pcm вместо ultrafast x264? Что имеется ввиду? Это же звуковой кодек, нет?

Звук у меня не записался, только видео.

tekk ★★★★★
() автор топика
Ответ на: комментарий от tekk

Попробовал так. Avidemux предупдеждает, что контейнер - матрешка, но правильно открывает и нормально отображает на превью.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.