Консольные команды для записи видео с экрана, а также их простейшего видеомонтажа а-ля Movie Maker / Linux

Linux песочница 

Консольные команды для записи видео с экрана, а также их простейшего видеомонтажа а-ля Movie Maker


Часть 1 - захват картинки

Запись видео с экрана - софтовый энкодинг:

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

"-i pulse" - это устройство захвата звука. В данном случае - PulseAudio. В pavucontrol поиграйтесь галочками, чтобы захватывать и микрофон, и аудиовывод одновременно.

Пользователи ALSA должны указать hw:0

Пожатие видео, записанного с помощью софтового энкодинга:

ffmpeg -i output.mkv -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -preset slow -crf 22 -threads 0 our-final-product.mp4

-crf это сила сжатия. Чем число ниже, тем лучше качество и больше размер результатируюего файла. Чем выше - тем хуже качество и меньше файл. Нормальные значения - от 18 до 28.

Захват видео с экрана - аппаратный энкодинг:

ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0 -re -f alsa -i pulse -ac 2 -ar 44100 -acodec libfaac -vcodec nvenc -preset hq -tune film -threads 0 output.mkv

Ключик -re не обязателен, он нужен только если видео воспроизводится ооочень быстро! Также мы сразу сжимаем аудио, так как процу не приходится напрягаться на видео.
Дальнейшие примеры будут с софтварным энкодингом.


Запись с экрана со смещением:


ffmpeg -f x11grab -r 30 -s 800x600 -i :0.0+200,100 -re -f alsa -i pulse -ac 2 -ar 44100 -acodec libfaac -vcodec libx264 -preset ultrafast -threads 0 output.mkv

Часть 2 - пост-обработка


Обрезка по времени:


ffmpeg -ss 00:00:45 -t 00:22:17 -i output.mkv -acodec copy -vcodec copy output-2.mkv

ss — с какого момента

t — сколько отрезать

Обрезка по размеру картинки:

ffmpeg -i output.mkv -acodec copy -vcodec libx264 -preset ultrafast -filter:v "crop=1280:720:316:50" output-cropped.mkv



Объединение кусочков:

ffmpeg -f concat -i mylist.txt -c copy out4.mkv

mylist.txt:

file '/media/data/zenitur/out1.mkv'

file '/media/data/zenitur/out2.mkv'

file '/media/data/zenitur/out3.mkv'


Отделение аудио от видео для последующей обработки в Audacity:


ffmpeg -i output.mkv -acodec pcm_s16le -vn output-audio.wav


Отделение видео от аудио для последующего совмещения с результатом предыдущей команды:


ffmpeg -i output.mkv -an -vcodec copy output-video.mkv

Стриминг в твич:

ffmpeg -f x11grab -s "1920x1080" -r "30" -i :0.0 -f alsa -i pulse -f flv -ac 2 -ar 44100 -vcodec nvenc -s 1280x720 -preset hq -tune film -acodec libmp3lame -threads 0 -strict normal  "rtmp://live.justin.tv/app/live_цыфорки_буковки"

Подробнее
Linux,песочница
Еще на тему
Развернуть
SimpleScreenRecorder?
pkurg1 pkurg1 17.04.201622:56 ответить ссылка -0.3
Я бы им пользовался, если бы он не тормозил: не знаю как у других, а у меня видео записывается дёрганным. Поэтому я записываю с помощью консольной командой с минимальным сжатием, а потом сжимаю. (после появления аппаратного энкодинга - жму сразу)

Один друг мне посоветовал obs-studio 0.13.4. Говорит что аппаратный энкодинг поддерживается! В отличие от SSR. И кроме того, можно подставить чатик и своё лицо с вебки, как на винде
Zenitur Zenitur 17.04.201623:16 ответить ссылка -0.3
В некоторых дистрах в репах нету ffmepg, но можно использовать форк ffmpeg - avconv.
Я забыл написать две вещи:

1). В "обрезке по размеру картинки" 316,50 - это смещение от левого верхнего края, а 1280x720 это размер (например, игра в окне)

2). В "Объединении кусочков видео" используется -vcodec copy, благодаря чему качество не портится от второго-третьего пережимания.

Но в таком случае все кусочки обязаны быть закодированы одним кодеком. Например я соединил кусочки, созданные софтварным и аппаратным энкодингом, получилось весело. Или два кусочка с ОДНИМ кодеком, но записанные разными версиями ffmpeg.

Если соблюсти это условие никак (например кусочки 2013 и 2016 годов), то необходимо поменять copy на libx264 (или nvenc)
Zenitur Zenitur 17.04.201623:23 ответить ссылка -0.3
*что делать, если у меня wayland*?
и ещё вопрос, как использовать nvenc или quicksync?
q9543 q9543 17.04.201623:40 ответить ссылка -0.3
Для Wayland ждём плагина для ffmpeg. В моих примерах используется плагин x11grab

Quicksync можно использовать в Gstreamer! Для Gstreamer 1.2 - 1.6 нужно доустановить пакет gstreamer-vaapi, а в версии 1.8 он включён в состав основной программы.

Вот инструкция: http://www.gearsongallium.com/?p=1238 Графическая оболочка rec.sh работает только если в системе есть KDE (через KDialog)
Zenitur Zenitur 18.04.201600:05 ответить ссылка -0.3
Написал инструкцию по nvenc: https://www.linux.org.ru/forum/development/13351586
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
going to work ® Новый значок загрузки Последнее яйцо (feat Angry Birds),Entertainment,,Всем привет! Наконец-то я закончил делать этот ролик ) 
В нем свиньи крадут мое последнее яйцо... А я...

Видеоряд немного не в моем стиле, но надеюсь Вам понравится )
Я старался )

П.С, Звукорежиссер из меня отстойный... ))


http://www.youtube.com/u
подробнее»

video прикол видеомонтаж моё песочница

Последнее яйцо (feat Angry Birds),Entertainment,,Всем привет! Наконец-то я закончил делать этот ролик ) В нем свиньи крадут мое последнее яйцо... А я... Видеоряд немного не в моем стиле, но надеюсь Вам понравится ) Я старался ) П.С, Звукорежиссер из меня отстойный... )) http://www.youtube.com/u
Застал врасплох!,Entertainment,,Застал врасплох в ванной...
Вопрос в том, кто кого застал врасплох? ))

http://www.youtube.com/user/TheAlexDgray - Подписывайтесь на канал!
http://vk.com/alexd.gray - Вступайте в группу ВК.
Да прибудет с тобой монтаж!
подробнее»

video видеомонтаж прикол застал врасплох песочница

Застал врасплох!,Entertainment,,Застал врасплох в ванной... Вопрос в том, кто кого застал врасплох? )) http://www.youtube.com/user/TheAlexDgray - Подписывайтесь на канал! http://vk.com/alexd.gray - Вступайте в группу ВК. Да прибудет с тобой монтаж!