Попробовал два способа:
1. Короткий.
mplayer video.avi -ss hh:mm:ss.lll -endpos hh:mm:ss.lll -vf scale=160:120 -vo gif89a:fps=3:output=out.gif -nosound
(качество получилось так себе.)
2. Длинный.
выбираем нужный кусок и просматриваем его:
mplayer -ao null -loop 0 -ss 0:11:22 -endpos 5 file.avi
(можно было указывать -endpos не в секундах, а тоже в виде hh:mm:ss)
преобразуем понравившийся кусок в кучку джипегов
mplayer input.avi -ss hh:mm:ss.lll -endpos 5 -vo jpeg:outdir=dirname:quality=80
конвертим джпипеги в гифы
for f in /workdir/*.jpg
do
g="${f%.*}.gif"
convert $f $g
done
собираем анимированный gif:
gifsicle --loopcount=0 --delay 8 --colors 256 -O2 -i --resize 480x_ *.gif > ani.gif
суббота, 10 сентября 2011 г.
среда, 24 августа 2011 г.
Фильтры в Packetyzer-е
В хелпе написано: ip.addr == xxx.xxx.xxx.xxx
Фигушки. Канает: host xxx.xxx.xxx.xxx
Фигушки. Канает: host xxx.xxx.xxx.xxx
Поставить значение MTU
Windows:
По умолчанию в локалке используется MTU=1500.
Если нужно изменить, следует в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterID>
создать параметр MTU типа REG_DWORD нужным значением (говорят, от 68 до 1500)
Linux:
ifconfig eth0 mtu 1412
в /etc/network/interfaces прописать где-то mtu 1400
По умолчанию в локалке используется MTU=1500.
Если нужно изменить, следует в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<AdapterID>
создать параметр MTU типа REG_DWORD нужным значением (говорят, от 68 до 1500)
Linux:
ifconfig eth0 mtu 1412
в /etc/network/interfaces прописать где-то mtu 1400
Excel 2007 - добавление своей кнопки на ленту
Задача оказалась довольно простой. Раньше, в 2003, чтобы добавить кнопку на тулбар, приходилось обрабатывать событие Open рабочей книги. В 2007 делается по-другому.
1. В самой книге открываем редактор VBA, в котором пишем нужную подпрограммку с обязательным параметром:
Sub МояПодпрограмма(control As IRibbonControl)
MsgBox "Кнопку нажали"
End Sub
2. Книгу сохраняем в файл, например, myFile.xlsm. У этого файла меняем расширение на zip и распаковываем его в отдельную папку.
3. В этой папке (можно и не в корне) создаем файл с именем, например, customUI.xml в кодировке utf-8 примерно такого вида:
4. В папке _rels есть файл .rels (тоже имеет структуру xml), в котором надо прописать следующую строку:
<Relationship Id="какой-нибудь ID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="местонахождение customUI.xml из п.3" />
5. Весь этот зоопарк запаковываем обратно в файл myFile.xlsm.
1. В самой книге открываем редактор VBA, в котором пишем нужную подпрограммку с обязательным параметром:
Sub МояПодпрограмма(control As IRibbonControl)
MsgBox "Кнопку нажали"
End Sub
2. Книгу сохраняем в файл, например, myFile.xlsm. У этого файла меняем расширение на zip и распаковываем его в отдельную папку.
3. В этой папке (можно и не в корне) создаем файл с именем, например, customUI.xml в кодировке utf-8 примерно такого вида:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="CustomTab" label="Моя закладка">
<group id="SampleGroup" label="Моя группа кнопок">
<button id="Button" label="Выполнить мою программу" imageMso="HappyFace" size="large" onAction="МояПодпрограмма" />
</group >
</tab>
</tabs>
</ribbon>
</customUI>
4. В папке _rels есть файл .rels (тоже имеет структуру xml), в котором надо прописать следующую строку:
<Relationship Id="какой-нибудь ID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="местонахождение customUI.xml из п.3" />
5. Весь этот зоопарк запаковываем обратно в файл myFile.xlsm.
суббота, 30 июля 2011 г.
Видеозвонки в pidgin
Ну-у, вот тут полезный мануал:
http://michael.stapelberg.de/Artikel/video_chat_with_pidgin
Вкратце:
тестируем, что камера работает:
mplayer -v tv:// -tv device=/dev/video0:driver=v4l2
устанавливаем gstreamer-tools, тестируем
gst-launch v4l2src ! xvimagesink
В pidgin в меню "Средства" → "Модули" находим "голосовые/видеонастройки" и настраиваем модуль так:
Аудио → Ввод → PulseAudio → Webcam C270 Analog Mono
Видео → Вывод → Plugin → X Window System (XV) → Intel Textured Video
Видео → Ввод → Plugin → Video4Linux2 → UVC Camera
Перезапускаем pidgin. После этого в окне чата с собеседником в пункте меню "Беседа" появляется пункт "Медиа", а там подпункты "видеозвонок" и т.п.
На ubuntu всё нормально (кажется, на ком бы проверить? 8-)), а вот как будет на slackware?
Правда, есть инструкция по прививке дебиановского пакета на другие сборки ^_^:
1. http://packages.debian.org
2. в поле «слово для поиска» вписываете «pidgin»
3. в списке «дистрибутив» выбираете нужный (например, «стабильный»)
4. отмечаете галочкой «искать только точные совпадения»
5. нажимаете «искать»
6. щёлкаете по найденной ссылке
7. в блоке справа находите надпись «исходный код pidgin»
8. щёлкаете по ссылке pidgin_<версия>.orig.tar.bz2 и получаете исходный код pidgin нужной версии (ровно то же самое можно получить и с сайта разработчиков и из репозитории вашего дистрибутива)
9. щёлкаете по ссылке pidgin_<версия>.debian.tar.gz и получаете патч для этой версии исходников
10. ...
11. profit
Надо будет попробовать...
http://michael.stapelberg.de/Artikel/video_chat_with_pidgin
Вкратце:
тестируем, что камера работает:
mplayer -v tv:// -tv device=/dev/video0:driver=v4l2
устанавливаем gstreamer-tools, тестируем
gst-launch v4l2src ! xvimagesink
В pidgin в меню "Средства" → "Модули" находим "голосовые/видеонастройки" и настраиваем модуль так:
Аудио → Ввод → PulseAudio → Webcam C270 Analog Mono
Видео → Вывод → Plugin → X Window System (XV) → Intel Textured Video
Видео → Ввод → Plugin → Video4Linux2 → UVC Camera
Перезапускаем pidgin. После этого в окне чата с собеседником в пункте меню "Беседа" появляется пункт "Медиа", а там подпункты "видеозвонок" и т.п.
На ubuntu всё нормально (кажется, на ком бы проверить? 8-)), а вот как будет на slackware?
Правда, есть инструкция по прививке дебиановского пакета на другие сборки ^_^:
1. http://packages.debian.org
2. в поле «слово для поиска» вписываете «pidgin»
3. в списке «дистрибутив» выбираете нужный (например, «стабильный»)
4. отмечаете галочкой «искать только точные совпадения»
5. нажимаете «искать»
6. щёлкаете по найденной ссылке
7. в блоке справа находите надпись «исходный код pidgin»
8. щёлкаете по ссылке pidgin_<версия>.orig.tar.bz2 и получаете исходный код pidgin нужной версии (ровно то же самое можно получить и с сайта разработчиков и из репозитории вашего дистрибутива)
9. щёлкаете по ссылке pidgin_<версия>.debian.tar.gz и получаете патч для этой версии исходников
10. ...
11. profit
Надо будет попробовать...
среда, 27 июля 2011 г.
python: Переименовать файлы *.fb2
Возникла задача: переименовать файлы *.fb2 в формат "<Автор> <Название>.FB2"
Так как *.fb2 - это на самом деле xml, то решение простое:
1. Получить список файлов в каталоге
2. Загрузить в парсер каждый файл
3. Найти там имя автора и название книги
4. Переименовать файл
Так как *.fb2 - это на самом деле xml, то решение простое:
1. Получить список файлов в каталоге
2. Загрузить в парсер каждый файл
3. Найти там имя автора и название книги
4. Переименовать файл
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import xml.dom.minidom
from xml.dom.minidom import Node
path = os.path.expanduser(u"~/Загрузки/fb2/")
dirList = (file for file in os.listdir(path) if os.path.isfile(os.path.join(path, file)) and file.endswith("fb2"))
for fname in dirList:
print fname
doc = xml.dom.minidom.parse(path + fname)
last_name = ""
book_title = ""
for title_node in doc.getElementsByTagName("title-info"):
for author_node in title_node.getElementsByTagName("author"):
for node2 in author_node.getElementsByTagName("last-name"):
for node3 in node2.childNodes:
if node3.nodeType == Node.TEXT_NODE:
last_name = node3.data
for book_node in title_node.getElementsByTagName("book-title"):
for node2 in book_node.childNodes:
if node2.nodeType == Node.TEXT_NODE:
book_title = node2.data
if last_name != "" and book_title != "":
new_fname = u'%s %s.fb2' % (last_name, book_title)
os.rename(path + fname, path + new_fname)
print "%s = %s" % (fname, new_fname)
пятница, 8 июля 2011 г.
Настройка принтера под Slackware
Ссылка 1 - debian, но тоже хорошо
Ссылка 2
HP Linux imaging and printing
вкратце как расшарить принтер:
1. заводим юзера smbprint с правами на запись в папку /home/smbprint
2. в /etc/samba/smb.conf пишем:
[global]
printcap name = cups
printing = cups
security = share
[printers]
browseable = yes
printable = yes
public = yes
create mode = 0700
guest only = yes
use client driver = yes
guest account = smbprint
path = /home/smbprint
3. в /etc/cups/mime.convs раскомментируем строчку:
application/octet-stream application/vnd.cups-raw 0 -
4. в /etc/cups/mime.types раскомментируем строчку:
application/octet-stream
5. в /etc/cups/cupsd.conf пишем:
<Location /printers>
AuthType None
Order Deny,Allow
Deny From None
Allow From All
</Location>
6. перезапускаем службы:
/etc/rc.d/rc.samba restart
/etc/rc.d/rc.cups restart
UPD 2012-11-07:
А вот с принтером Xerox Phaser 3130 получилась небольшая проблема. Вроде бы с generic драйвером он работает, однако с завидной периодичностью начинает печатать мусор (кракозябры, псевдографику). Попробовал установить splix-2.0.0, может, поможет.
Спликс этот тоже не без проблем, кстати, собрался. Во-первых, собирать пришлось командой make DISABLE_JBIG=1, и, во-вторых, поправить файл /src/ppdfile.cpp в соответствии с http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565097
Ссылка 2
HP Linux imaging and printing
вкратце как расшарить принтер:
1. заводим юзера smbprint с правами на запись в папку /home/smbprint
2. в /etc/samba/smb.conf пишем:
[global]
printcap name = cups
printing = cups
security = share
[printers]
browseable = yes
printable = yes
public = yes
create mode = 0700
guest only = yes
use client driver = yes
guest account = smbprint
path = /home/smbprint
3. в /etc/cups/mime.convs раскомментируем строчку:
application/octet-stream application/vnd.cups-raw 0 -
4. в /etc/cups/mime.types раскомментируем строчку:
application/octet-stream
5. в /etc/cups/cupsd.conf пишем:
<Location /printers>
AuthType None
Order Deny,Allow
Deny From None
Allow From All
</Location>
6. перезапускаем службы:
/etc/rc.d/rc.samba restart
/etc/rc.d/rc.cups restart
UPD 2012-11-07:
А вот с принтером Xerox Phaser 3130 получилась небольшая проблема. Вроде бы с generic драйвером он работает, однако с завидной периодичностью начинает печатать мусор (кракозябры, псевдографику). Попробовал установить splix-2.0.0, может, поможет.
Спликс этот тоже не без проблем, кстати, собрался. Во-первых, собирать пришлось командой make DISABLE_JBIG=1, и, во-вторых, поправить файл /src/ppdfile.cpp в соответствии с http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565097
Подписаться на:
Сообщения (Atom)