Запись видео с указанного окна

Искусство написания bash скриптов. Делимся своими наработками
Аватара пользователя
ZEN
Администратор
Сообщения: 1350
Зарегистрирован: 27 сен 2012, 18:23
Темы: 206
Откуда: Украина, Одесса
Статус: Не в сети

Запись видео с указанного окна

Сообщение ZEN » 31 окт 2012, 12:41

Скрипт для записи видео с выбранного окна (или всего десктопа, если кликнуть на рабочий стол). В работе скрипта принимают участие:
  1. xwininfo - получение информации об окне. Расстояние по оси у,х до начала окна и ширину, высоту
  2. egrep - ищем по указанному шаблону совпадения. В скрипте используется для получения параметров выше и отсеивания ненужного
  3. awk - вытаскиваем только значения, без описания, как это было после egrep
  4. avconv из состава libav-tools - запись с экрана заданной области

Код: Выделить всё

#!/usr/bin/env bash
# Video Recording v 1.3
#
# http://linuxhub.ru/viewtopic.php?f=23&p=404
#
# Copyright (c) 2012-2013 by Poltavchenko Dmitriy <admin@linuxhub.ru>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of
# the License, or (at your option) any later version.

APP_ICON="camera-video";
APP_NAME="Video Recording";
PROC_PRIORITY=19;
VIDEO_CAPTURE_BIN="avconv";
SOUND_IN="-f alsa -i default"; # or -i hw:0 or -i pulse pr -i default
FILE="$HOME/$(date "+%F-%H-%M-%S").mkv";

############################### FUNCTION  LISTS ###############################
# Show message
function message () {
    notify-send -t 10000 -i $APP_ICON "$APP_NAME" "$@" &> /dev/null \
    || echo "$@" 1>&2;
}

# Make and return the string of parameters for region capture
function parseWinInfo () {
    PARAMS="$@";
    ENCODER_OPT_TPL="XWxYH -i :0.0+XOFF,YOFF";
    VAL=("XOFF" "YOFF" "XW" "YH");
    for i in $PARAMS
    do
        TMP=$i;
        if [[ ($NUM -ge 2) && ($(( $TMP % 2 )) != 0) ]]
        then
            TMP=$(( $TMP + 1 ));
        fi
        ENCODER_OPT_TPL=$(echo $ENCODER_OPT_TPL | sed "s/${VAL[$NUM]}/$TMP/g");
        NUM=$(( $NUM + 1 ));
    done
    echo $ENCODER_OPT_TPL;
}

# Get window pos/height/width or exit
function getWinInfo () {
    PARAMS=$(xwininfo -frame | egrep 'Absolute|Width|Height' | awk -F: '{print $2}');
    if [[ -z $PARAMS ]]
    then
        message "Cannot get windows properties";
        exit 2;
    fi
    echo $PARAMS;
}

# Check script dependencies
function require () {
    for i in $@
    do
        if [[ -z $(which $i) ]]
        then
            message "ERROR: $i not found" 1>&2 ;
            exit 1;
        fi
    done
}

# on SIGTERM
function terminated () {
    message "Recording terminated";
    kill -SIGTERM $PROC_ID;
    exit 0;
}

# on SIGINT
function interrupted () {
    kill -SIGTERM $PROC_ID;
    exit 0;
}
###############################################################################

################################## MAIN LOOP ##################################
unset PROC_ID;
trap terminated TERM;
trap interrupted INT;

require $VIDEO_CAPTURE_BIN notify-send xwininfo nice egrep awk sed date;

PARAMS=$(getWinInfo);
REGION=$(parseWinInfo $PARAMS);

nice -n $PROC_PRIORITY $VIDEO_CAPTURE_BIN -y $SOUND_IN -f x11grab -threads 4 \
-framerate 24 -show_region 1 -video_size $REGION -q 1 -bt 8000000 \
-b 8500000 $FILE -v warning & PROC_ID=$!;

wait;
###############################################################################

exit 0;
Версия 1.2Показать

Код: Выделить всё

#!/bin/bash
# Window Screencast v 1.2
#
# http://linuxhub.ru/viewtopic.php?f=23&p=404
#
# Copyright (c) 2012-2013 by Poltavchenko Dmitriy <zen@root.ua>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# 
# Получаем параметры окна
PARAMS=`xwininfo | egrep 'Absolute|Width|Height' | awk -F: '{print $2}'`

# Если не получили, сообщаем и выходим из программы
if [[ -z $PARAMS ]]
then
    echo "Не удалось получить параметры окна"
    exit 1;
fi
# Иначе

# Создаем массив имен слов, которые нужно будет заменить в шаблоне
# XOFF и YOFF - отступ от левого верхнего угла экрана по оси X,Y
# XW - ширина, YH - высота
VAL=(XOFF YOFF XW YH)

# Шаблон строки параметров для ffmpeg
ENCODER_OPT="-video_size XWxYH -i :0.0+XOFF,YOFF"

# Счетчик итерации цикла
NUM=0
# Цикл, пробегаем по полученным ранее параметрам
for i in $PARAMS
do
    # Текущий параметр записываем во временную переменную TMP
    TMP=$i
    # Цикл с нуля. Если это вторая или большая итерация
    # То проверяем размер окна. Число должо быть четное
    if [[ ($NUM -ge 2) && ($(($TMP%2)) != 0) ]]
    then # Если число не четное
        # Просто прибавляем к нему 1
        TMP=$(($TMP+1))
    fi
    # В шаблоне заменяем слово из текущего значения элемента 
    # массива, на значение в TMP
    ENCODER_OPT=$(echo $ENCODER_OPT | sed "s/${VAL[$NUM]}/$TMP/g")
    # Вместе с итерацией цикла увеличиваем счетчик на +1
    let NUM+=1
done

# Код записи видео без звука для старых дистрибутивов
#nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $ENCODER_OPT -an \
#-vcodec libx264 -preset ultrafast -vsync 1 -b:v -y $(date "+%F-%H-%M-%S").avi

# Запускаем avconv с полученными ранее параметрами
# и благодаря nice с повышенным приоритетом
nice -n 19 avconv -f alsa -i default -f x11grab -framerate 24 \
-show_region 1 $ENCODER_OPT -threads 4 -q 1 -bt 8000000 \
-b 8500000 $(date "+%F-%H-%M-%S").mkv

exit 0;[/code2][/spoiler][spoiler="Версия 1.1"][code2=bash]#!/bin/bash 
# Window Screencast v 1.1
#
# http://linuxhub.ru/viewtopic.php?f=23&p=404
#
# Copyright (c) 2012 by Poltavchenko Dmitriy <zen@root.ua>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# 
# Получаем параметры окна
PARAMS=`xwininfo | egrep 'Absolute|Width|Height' | awk -F: '{print $2}'`

# Если не получили, сообщаем и выходим из программы
if [[ -z $PARAMS ]]
then
    echo "Не удалось получить параметры окна"
    exit 1;
fi
# Иначе

# Создаем массив имен слов, которые нужно буде заменить в шаблоне
# XOFF и YOFF - отступ от левого верхнего угла экрана по оси X,Y
# XW - ширина, YH - высота
VAL=(XOFF YOFF XW YH)

# Шаблон строки параметров для ffmpeg
ENCODER_OPT="-video_size XWxYH -i :0.0+XOFF,YOFF"

# Счетчик итерации цикла
NUM=0
# Цикл, пробегаем по полученным ранее параметрам
for i in $PARAMS
do
    # Текущий параметр записываем во временную переменную TMP
    TMP=$i
    # Цикл с нуля. Если это вторая или большая итерация
    # То проверяем размер окна. Число должо быть четное
    if [[ ($NUM -ge 2) && ($(($TMP%2)) != 0) ]]
    then # Если число не четное
        # Просто прибавляем к нему 1
        TMP=$(($TMP+1))
    fi
    # В шаблоне заменяем слово из текущего значения элемента 
    # массива, на значение в TMP
    ENCODER_OPT=$(echo $ENCODER_OPT | sed "s/${VAL[$NUM]}/$TMP/g")
    # Вместе с итерацией цикла увеличиваем счетчик на +1
    let NUM+=1
done

# Запускаем avconv с полученными ранее параметрами
# и благодаря nice с повышенным приоритетом
nice -n 19 avconv -f x11grab -framerate 24 -show_region 1 $ENCODER_OPT 
-threads 2 -q 1 -bt 8000000 -b 8500000 $(date "+%F-%H-%M-%S").mkv

exit 0; 
Для того, чтобы прервать запись, используем команду Ctrl+C. Записанное видео будет в каталоге, из которого в терминале был запущен скрипт.

https://www.youtube.com/watch?v=_04vmtNYd0I
Версия 3.0 от Michael Ivanchenko (форк 1.1). + автоматическое де...Показать

Код: Выделить всё

#!/bin/bash
# Window Recorder v3.0 2013-11-29 by Michael Ivanchenko (perlino.blogspot.com)
# http://linuxhub.ru/viewtopic.php?f=23&p=404
# Copyright (c) 2013 by Poltavchenko Dmitriy <zen@root.ua>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# Usage:
#     Start recording:
#         ./recwindow, click on window
#     Stop recording:
#         ./recwindow
# Create a panel icon to click for record, click for stop

VIDEO_DIR=~/Video
VIDEO_FILE="$(date '+%F_%H%M%S')"
VIDEO_EXT=mkv

VIDEO_PATH="$VIDEO_DIR/$VIDEO_FILE.$VIDEO_EXT"
VIDEO_NAME="$VIDEO_DIR/$VIDEO_FILE"
PID_FILE=$0.pid
NAM_FILE=$0.nam

function start () {
        PARAMS=`xwininfo | egrep 'Absolute|Width|Height' | awk -F: '{print $2}'`
        if [[ -z $PARAMS ]]
        then
                echo "Не удалось получить параметры окна"
                exit 1;
        fi
        VAL=(XOFF YOFF XW YH)
        ENCODER_OPT="-video_size XWxYH -i :0.0+XOFF,YOFF"
        NUM=0
        for i in $PARAMS
        do
                TMP=$i
                if [[ ($NUM -ge 2) && ($(($TMP%2)) != 0) ]]
                then
                TMP=$(($TMP+1))
                fi
                ENCODER_OPT=$(echo $ENCODER_OPT | sed "s/${VAL[$NUM]}/$TMP/g")
                let NUM+=1
        done
        echo $VIDEO_NAME > $NAM_FILE
        ffmpeg -f alsa -i pulse -f x11grab -framerate 24 \
        -show_region 1 $ENCODER_OPT -threads 4 -q 1 -bt 8000000 \
        -b 8500000 -y $VIDEO_PATH & echo $! > $PID_FILE
}
function stop () {
        kill -SIGQUIT $PID
        rm -f $PID_FILE
        VIDEO_NAME=$(cat $NAM_FILE)
        VIDEO_PATH="$VIDEO_NAME.$VIDEO_EXT"
        VIDEO_PATH_MP4="$VIDEO_NAME.mp4"
        ffmpeg -i $VIDEO_PATH -acodec mp2 $VIDEO_PATH_MP4
        notify-send "Converted" "$VIDEO_PATH_MP4"
        rm -f $NAM_FILE
}
PID=$(cat $PID_FILE)
if [ -z $PID ]
then
        start
else
        stop
fi
https://www.youtube.com/watch?v=YBon3MsQH5I
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение Серый » 31 окт 2012, 22:26

Не работает(

Код: Выделить всё

seryi@seryi-laptop:~$ wget -q http://linuxhub.ru/download/recwindow.sh
seryi@seryi-laptop:~$ ls
arhiv  dl  doc  exp  images  music  recwindow.sh  video
seryi@seryi-laptop:~$ ls -l
total 52
drwxr-xr-x 3 seryi seryi  4096 2012-10-18 23:35 arhiv
drwxr-xr-x 2 seryi seryi 32768 2012-10-31 22:14 dl
drwxr-xr-x 2 seryi seryi  4096 2012-10-22 22:43 doc
drwxr-xr-x 2 seryi seryi  4096 2012-10-29 20:18 exp
drwxr-xr-x 3 seryi seryi  4096 2012-10-30 22:01 images
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:46 music -> /media/cr_10/home/seryi/music
-rw-r--r-- 1 seryi seryi  2380 2012-10-31 12:46 recwindow.sh
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:43 video -> /media/cr_10/home/seryi/video
seryi@seryi-laptop:~$ sh recwindow.sh
recwindow.sh: 18: [[: not found
recwindow.sh: 24: Syntax error: "(" unexpected
seryi@seryi-laptop:~$ 
СпойлерПоказать

Код: Выделить всё

seryi@seryi-laptop:~$ ls -l
total 52
drwxr-xr-x 3 seryi seryi  4096 2012-10-18 23:35 arhiv
drwxr-xr-x 2 seryi seryi 32768 2012-10-31 22:14 dl
drwxr-xr-x 2 seryi seryi  4096 2012-10-22 22:43 doc
drwxr-xr-x 2 seryi seryi  4096 2012-10-29 20:18 exp
drwxr-xr-x 3 seryi seryi  4096 2012-10-30 22:01 images
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:46 music -> /media/cr_10/home/seryi/music
-rwxr-xr-x 1 seryi seryi  2380 2012-10-31 12:46 recwindow.sh
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:43 video -> /media/cr_10/home/seryi/video
seryi@seryi-laptop:~$ ./recwindow.sh
FFmpeg version 0.5-svn17737+3:0.svn20090303-1ubuntu6, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-version=svn17737+3:0.svn20090303-1ubuntu6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --disable-stripping --disable-vhook --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-armvfp --disable-neon --disable-altivec --disable-vis --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Apr 10 2009 23:18:41, gcc: 4.3.3
[x11grab @ 0x91aaac0]device: :0.0+0,1 -> display: :0.0 x: 0 y: 1 width: 1024 height: 740
[x11grab @ 0x91aaac0]shared memory extension  found
Input #0, x11grab, from ':0.0+0,1':
  Duration: N/A, start: 1351715616.063476, bitrate: 193986 kb/s
    Stream #0.0: Video: rawvideo, rgb32, 1024x740, 193986 kb/s, 8 tbr, 1000k tbn, 8 tbc
ffmpeg: unrecognized option '-preset'
seryi@seryi-laptop:~$ ls -l
total 52
drwxr-xr-x 3 seryi seryi  4096 2012-10-18 23:35 arhiv
drwxr-xr-x 2 seryi seryi 32768 2012-10-31 22:14 dl
drwxr-xr-x 2 seryi seryi  4096 2012-10-22 22:43 doc
drwxr-xr-x 2 seryi seryi  4096 2012-10-29 20:18 exp
drwxr-xr-x 3 seryi seryi  4096 2012-10-30 22:01 images
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:46 music -> /media/cr_10/home/seryi/music
-rwxr-xr-x 1 seryi seryi  2380 2012-10-31 12:46 recwindow.sh
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:43 video -> /media/cr_10/home/seryi/video
seryi@seryi-laptop:~$ 
СпойлерПоказать

Код: Выделить всё

seryi@seryi-laptop:~$ cp recwindow.sh recwindow.sh.bak.31-10-2012
seryi@seryi-laptop:~$ ls -l
total 56
drwxr-xr-x 3 seryi seryi  4096 2012-10-18 23:35 arhiv
drwxr-xr-x 2 seryi seryi 32768 2012-10-31 22:14 dl
drwxr-xr-x 2 seryi seryi  4096 2012-10-22 22:43 doc
drwxr-xr-x 2 seryi seryi  4096 2012-10-29 20:18 exp
drwxr-xr-x 3 seryi seryi  4096 2012-10-30 22:01 images
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:46 music -> /media/cr_10/home/seryi/music
-rwxr-xr-x 1 seryi seryi  2380 2012-10-31 12:46 recwindow.sh
-rwxr-xr-x 1 seryi seryi  2380 2012-10-31 22:40 recwindow.sh.bak.31-10-2012
lrwxrwxrwx 1 seryi seryi    29 2012-06-15 21:43 video -> /media/cr_10/home/seryi/video
seryi@seryi-laptop:~$ vim recwindow.sh
seryi@seryi-laptop:~$ cat recwindow.sh | tail
    # Вместе с итерацией цикла увеличиваем счетчик на +1
    let NUM+=1
done

# Запускаем ffmpeg с полученными ранее параметрами и 
# благодаря nice с повышенным приоритетом
nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $FFMPEG_OPT -an \
-vcodec libx264 -vsync 1  -b:v -y $(date "+%F-%H-%M-%S").avi

exit 0;
seryi@seryi-laptop:~$ cat recwindow.sh.bak.31-10-2012 | tail
    # Вместе с итерацией цикла увеличиваем счетчик на +1
    let NUM+=1
done

# Запускаем ffmpeg с полученными ранее параметрами и 
# благодаря nice с повышенным приоритетом
nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $FFMPEG_OPT -an \
-vcodec libx264 -preset ultrafast -vsync 1  -b:v -y $(date "+%F-%H-%M-%S").avi

exit 0;
seryi@seryi-laptop:~$ ./recwindow.sh
FFmpeg version 0.5-svn17737+3:0.svn20090303-1ubuntu6, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-version=svn17737+3:0.svn20090303-1ubuntu6 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --disable-stripping --disable-vhook --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-armvfp --disable-neon --disable-altivec --disable-vis --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Apr 10 2009 23:18:41, gcc: 4.3.3
[x11grab @ 0x8d66ac0]device: :0.0+0,1 -> display: :0.0 x: 0 y: 1 width: 1024 height: 740
[x11grab @ 0x8d66ac0]shared memory extension  found
Input #0, x11grab, from ':0.0+0,1':
  Duration: N/A, start: 1351716160.075560, bitrate: 193986 kb/s
    Stream #0.0: Video: rawvideo, rgb32, 1024x740, 193986 kb/s, 8 tbr, 1000k tbn, 8 tbc
ffmpeg: unrecognized option '-b:v'
seryi@seryi-laptop:~$ 

Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение Серый » 31 окт 2012, 23:13

Методом проб и ошибок мы с ZEN вышли на такой вариант.

Было (и не работало)

Код: Выделить всё

seryi@seryi-laptop:~$ cat recwindow.sh.bak.31-10-2012 | tail
    # Вместе с итерацией цикла увеличиваем счетчик на +1
    let NUM+=1
done

# Запускаем ffmpeg с полученными ранее параметрами и 
# благодаря nice с повышенным приоритетом
nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $FFMPEG_OPT -an \
-vcodec libx264 -preset ultrafast -vsync 1  -b:v -y $(date "+%F-%H-%M-%S").avi

exit 0;
seryi@seryi-laptop:~$ 
nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $FFMPEG_OPT -an \
-vcodec libx264 -preset ultrafast -vsync 1 -b:v -y $(date "+%F-%H-%M-%S").avi

Стало (работает)

Код: Выделить всё

seryi@seryi-laptop:~$ cat recwindow.sh | tail
    # Вместе с итерацией цикла увеличиваем счетчик на +1
    let NUM+=1
done

# Запускаем ffmpeg с полученными ранее параметрами и 
# благодаря nice с повышенным приоритетом
nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $FFMPEG_OPT -an \
-vcodec copy -vsync 1 -y $(date "+%F-%H-%M-%S").avi

exit 0;
seryi@seryi-laptop:~$
nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $FFMPEG_OPT -an \
-vcodec copy -vsync 1 -y $(date "+%F-%H-%M-%S").avi

Версия ffmpeg 0.5-svn17737

Аватара пользователя
Porthos
Сообщения: 92
Зарегистрирован: 04 окт 2012, 23:19
Темы: 1
Откуда: EU
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение Porthos » 31 окт 2012, 23:30

Ребзики, а зачем велосипед изобретать, если существует такая штукенция, как recordMyDesktop. Есть в репах, тыщу лет пользую. Ага.
Кошки живут по обе стороны реальности.
(с) Constantine

Аватара пользователя
ZEN
Администратор
Сообщения: 1350
Зарегистрирован: 27 сен 2012, 18:23
Темы: 206
Откуда: Украина, Одесса
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение ZEN » 31 окт 2012, 23:32

У recordMyDesktop выходной формат ogv. Долго приходится ждать, пока видео после записи декодируется. Завтра в скрипт запишу avconv вместо ffmpeg и будет еще рамка вокруг области, где идет запись.
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение Серый » 31 окт 2012, 23:33

Porthos писал(а):Ребзики, а зачем велосипед изобретать, если существует такая штукенция, как recordMyDesktop. Есть в репах, тыщу лет пользую. Ага.
Ради самого процесса)

Аватара пользователя
ZEN
Администратор
Сообщения: 1350
Зарегистрирован: 27 сен 2012, 18:23
Темы: 206
Откуда: Украина, Одесса
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение ZEN » 01 ноя 2012, 20:20

Как и обещал, обновленная версия скрипта находится в первом посте. Скачать можно командой

wget -q http://linuxhub.ru/download/recwindow.sh ; chmod +x recwindow.sh

В связи с тем, что ffmpeg в будущем будем удален, скрипт теперь использует avconv. И как бонус, добавлено отображении рамки вокруг области, которая записывается.

Запись работы скрипта с помощью самого же скрипта на youtube: http://youtu.be/_04vmtNYd0I
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение Серый » 01 ноя 2012, 21:31

ZEN, у тебя

Код: Выделить всё

wget -q download/recwindow.sh
а должно быть

Код: Выделить всё

wget -q http://linuxhub.ru/download/recwindow.sh ; chmod +x recwindow.sh
И второе, если я правильно посмотрел, avconv в репах нет( Ни в статлере, ни в валдорфе. Вроде мелочь, но откуда брать, как ставить?

Аватара пользователя
ZEN
Администратор
Сообщения: 1350
Зарегистрирован: 27 сен 2012, 18:23
Темы: 206
Откуда: Украина, Одесса
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение ZEN » 01 ноя 2012, 21:37

Серый писал(а):ZEN, у тебя

Код: Выделить всё

wget -q download/recwindow.sh
а должно быть

Код: Выделить всё

wget -q http://linuxhub.ru/download/recwindow.sh ; chmod +x recwindow.sh
И второе, если я правильно посмотрел, avconv в репах нет( Ни в статлере, ни в визи. Вроде мелочь, но откуда брать, как ставить?
Ссылку поправил, а avconv в составе пакета libav-tools
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Re: Запись видео с указанного окна

Сообщение Серый » 01 ноя 2012, 21:41

Невнимательность - моя проблема. Это насчёт libav-tools.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей