[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