20080830

Как сохранить видео-поток ASF в файл

Как сохранять видеоролики со всяких там ютубов все уже давно знают (см. clive). На некоторых же сайтах (к примеру, на vesti.ru) видео лежит в виде ASF-потоков. Если не плеваться на некошерность таких видео-потоков, то их вполне можно смотреть после установки плагина totem-mozilla, затем только нужно один раз, с помощью контекстного меню плагина, открыть видео непосредственно в видеопроигрывателе и согласиться на установку нужных кодеков. После этого все такие ролики будут показываться прямо в браузере.

Теперь о том, как сохранять эти ролики в файл. Опять же, используя контекстное меню плагина, копируем адрес потока, а затем перекодируем поток уже в нормальный видео-файл с помощью mencoder. В общем, вот мой мини-скрипт vstream2avi:

#!/bin/sh

usage="usage: `basename $0` video_stream_URL video_file"

if  [ $# -ne 2 ]; then
        echo $usage
        exit -1
fi

STREAM=$1
VFILE=$2
BITRATE=4000

mencoder "$STREAM" \
        -oac mp3lame -lameopts vbr=3 \
        -ovc xvid -xvidencopts chroma_opt:vhq=3:pass=2:bitrate=${BITRATE}:autoaspect \
        -o "$VFILE"


И пример использования:
$ vstream2avi.sh mms://video.rfn.ru/rtr-vesti/147104.asf Putin_interview_CNN_20080827.avi

20080808

Как загрузить путевые точки на Garmin с указанием типа иконок

Очень кратко. Чтобы установить тип иконок, загружая данные с помощью gpsbabel нужно воспользоваться опцией deficon. Так, имея два файла с разными видами путевых точек, я отправляю их в GPS-навигатор с указанием разных типов иконок (в данном случае «палатка» (Campground) для биваков и «домик» (House) для приютов):
Rifugi_e_Bivacchi$ gpsbabel -i gpx -f Coordinate\ Bivacchi\ VdA\(gpx\).gpx -o garmin,deficon=Campground -F /dev/ttyUSB0
Rifugi_e_Bivacchi$ gpsbabel -i gpx -f Coordinate\ Rifugi\ VdA\(gpx\).gpx -o garmin,deficon=House -F /dev/ttyUSB0
Список других иконок Garmin здесь. Об использовании навигаторов Garmin в Linux вообще, читайте в моей предыдущей заметке. Например, можно установить типы иконок в программе MapSource (но кликать замучаешься, через gpsbabel быстрее).

PS. Как сами понимаете — отпуск :)

20080728

less: автоматический просмотр архивов *.gz и других типов файлов

Популярную листалку для командной строки less легко научить просматривать не только текстовые файлы, но и многие другие. Например, ей можно смотреть сжатые файлы или файлы PDF не задумываясь о вызове архиватора или нужного конвертера. Примерно так:
$ less /usr/share/doc/less/changelog.gz
Собственно, во многих дистрибутивах так уже настроено по умолчанию. В Debian эта возможность по умолчанию выключена. Чтобы она заработала нужно в ~/.bashrc (если пользуетесь bash) добавить eval $(lesspipe) или eval $(lessfile). Это установит переменные окружения LESSOPEN и LESSCLOSE, говорящие less пропускать файлы через указанный фильтр. Фильтр /usr/bin/lesspipe смотрит на расширение файла и запускает нужный конвертрер, если необходимо. Разница между lesspipe и lessfile в том, что первый конвертирует файлы на лету, сразу отдавая результат в less, а lessfile вначале полностью конвертирует файл, и только потом вызывает less.

Понятно, что очень просто можно настроить пользовательские фильтры. Добавлять их нужно в пользовательский скрипт ~/.lessfilter. Например, чтобы просматривать с помощью less файлы OpenOffice, я добавляю фильтр, вызывающий antiodt, а чтобы просматривать файлы MSWord, фильтр, вызывающий antiword. Файл ~/.lessfilter выглядит при этом так:
#!/bin/sh
(
case `echo "$1" | tr '[:upper:]' '[:lower:]'` in
    *.odt)
        if [ -x "`which antiodt`" ]; then antiodt "$1" ;
        else cat "$1"; fi ;; # No antiodt available
    *.doc)
        if [ -x "`which antiword`" ]; then antiword "$1" ;
        else cat "$1"; fi ;; # No antiword available
esac
) 2>/dev/null
P.S. Код раскрасил с помощью плагина toblog к vim, создающего цветной HTML согласно текущей цветовой схеме редактора.