Как передать координаты для захвата видео с X-сервера интерактивно в ffmpeg?
Позаимствовал команду отсюда
ffmpeg -f x11grab -s $(slop --noopengl --format "%w"x"%h") -r 60 -i :0.0 -qscale 0 -vcodec huffyuv $(date +"%d.%m.%Y_%H:%M:%S").avi
но это работает только если нет отступов при записи, то есть проще говоря записывается полностью весь экран. Смещение позиции на экране например, указав "-s 800x600 -i :0.0+200,100" можно организовать запись блока 800x600 со смещением 200x100 относительно верхнего левого угла экрана.
Примерно так:
ffmpeg -f x11grab -s 800x600 -r 60 -i :0.0+200,100 -qscale 0 -vcodec huffyuv $(date +"%d.%m.%Y_%H:%M:%S").avi
Подскажите, как сделать так чтобы можно было интерактивно мышью выделять с помощью того же slop и потом эти координаты передавать в ffmpeg.
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Ставим разделитель массива +
IFS="+"
Читаем вывод slop как массив
read -ra SR <<< `slop`
Теперь переменную с пробелами можно читать по индексам
ffmpeg -f x11grab -s ${SR[0]} -r 60 -i :0.0+${SR[1]},${SR[2]} ....
Можно с IFS по умолчанию (IFS=' ') если указать формат через пробел