[Comm] Запись TV в АЛМ 2.4 - нет звука
Владимир Гусев
=?iso-8859-1?q?vova1971_=CE=C1_narod=2Eru?=
Пн Дек 5 11:01:01 MSK 2005
> А не поделитесь ли опытом (или - упомянутым выше скриптом (если он,
> конечно, под GPL ;-) - интересуют настройки, позволяющие получить файл
> с приемлемым качеством и не слишком большого объема. Кроме того,
> интересно - как выбирается канал, который записывается.
> Думаю, это многих может заинтересовать.
Скрипт этот мне когда-то любезно тут предоставили, в этой рассылке..
В нем два возможных вида записи - при помощи transcode и захват с помощью
streamer в mjpeg.
и возможно включение/отключение одновременного просмотра. Файл именуется
по дате записи и сохраняется в корне домашнего каталога (можно поменять).
Я выбрал запись при помощи transcode.
Это оригинальная версия скрипта.
Я лишь изменил разрешение записываемого ролика (-V -u 100 -g 640x480 -f
0,3 -y ffmpeg -F mpeg4). Размер файла в полтора часа/час сорок пять при
этом примерно больше гигабайта (как фильм в формате mpeg4 на два диска), а
может и меньше.. специально не засекал..
Выбираю канал лично я так:
Смотрю ТВ-канал при помощи tvtime. Затем выхожу и запускаю скрипт записи с
одновременным просмотром. Какой канал я до этого смотрел - тот и начнет
записываться..
Единственное НО - возможно такое (правда довольно редко), что в процессе
записи покажется, будто изображение начинает чуть-чуть отставать от звука,
но это только на экране - в записи будет все нормально.
Это скрипт РАБОТАЕТ с оригинальными transcode, streamer из Мастера 2.4.
Любителей Сизифа предостерегаю - новый transcode может не работать с
ним.. Проверял когда-то (после чего и после многого другого перестал
использовать Сизиф)..
#!/usr/bin/perl -w
$dir="./";
chomp($date=`date +%d.%m`);
$ext='avi';
$avifile="$dir/$date.$ext";
if(-e "$avifile"){
do{ ++$n; }
while(-e "$dir/$date-$n.$ext");
$avifile="$dir/$date-$n.$ext";
}
#system("aumix -L"); #здесь загружается настройки из ~/.auxixrc для
установок записи
#захват с помощью transcode - сразу в mp4, с нужным битрейтом (напр 2000)
system("transcode -i /dev/video0 -p /dev/dsp \\
-V -u 100 -g 384x288 -f 0,3 -y ffmpeg -F mpeg4 \\
-o $avifile -w 2000,250,100 -b 96,0,5 -s 5 ");
# -o $avifile -w 2000,250,100 -b 96,0,5 -s 5 -J preview"); #
вариант с предпросмотром
# захват с помощью streamer в mjpeg
#system("streamer -t 120:0 -s 352x240 -r 24 -o $avifile -f mjpeg -F
stereo");
P.S. Этот скрипт мне предоставил (тут в рассылке) 18 января этого года
Александр Новоселов (n_list на mail.ru)
--
С уважением, Владимир Гусев
Подробная информация о списке рассылки community