Шукати в цьому блозі

середу, 10 листопада 2010 р.

Как подключить swap раздел в Linux (заметки на полях)

Определяем swap-раздел:

mkswap /dev/sdaX


смотрим атрибуты устройства:

blkid /dev/sdaX


Полученный UUID прописать в fstab для swap:

UUID=69e5cb0c-61b9-4b35-bc54-8442d2f4eded none swap sw 0 0

понеділок, 8 листопада 2010 р.

UPD: apt-get over proxy MS ISA-server, когда пароль содержит символ "@"

Когда-то я написал памятку apt-get через proxy, но вот так сложилось, что выдали мне пароль на сервере, содержащий символ "@".

Запись в /etc/apt/apt.conf

Acquire::http::Proxy "http://domen\user:P@SS1001991@192.168.22.10:8080/";

Приводила к тому, что символ "@" в слове пароля P@SS1001991, воспринимался как разделитель. Пришедшая мысль "экранировать" символ "@":

Acquire::http::Proxy "http://domen\user:P\@SS1001991@192.168.22.10:8080/";

ни к чему не привела.

Уж не знаю, где в поисках решения я наткнулся на идею отобразить символ "@" как "%40", но вот оно рабочее решение, в моем случае:

Acquire::http::Proxy "http://domen\user:P%40SS1001991@192.168.22.10:8080/";

ОС: Ubuntu 10.04.1 LTS server

четвер, 4 листопада 2010 р.

вівторок, 12 жовтня 2010 р.

Media Tank Egreat EG-M31B + IPTV

Будучи владельцем медиа-танка Egreat EG-M31B уже больше года переключившись на нового провайдера Интренет, обнаружил, что у провайдера есть также IPTV.
Большинство провайдеров предоставляют услуги IPTV посредством UDP транспорта.
Однако мой медиапроигрыватель поддерживает только по HTTP. Я знал, что для проигрывания по HTTP всего лишь необходимо создать html файл примерного содержания:

Пролистав пару форумов наткнулся на то, что можно установить прокси(Udpxy) для трансляции UDP через TCP (HTTP).

Собирался уже установить это приложение на свой домашний сервер под Ubuntu 10.04.1 Server, но в последний момент наткнулся на эту ветку форума.

Скачал утилиту NMT Community Software Installer

Установил Udpxy.

создал файл вида, цитирую форум:


Далее, необходимо в источниках выбрать HDD и вид контента - иконка в виде списка.
Однако, я создал файл в блокноте, залил по FTP, но при клике на html файлик, отображался его исходный код.

Зашел по telnet (демон можно установить указанной утилитой совместно с Midnight Commander) и открыв в редакторе Midnight Commander-а созданый файл, я увидел там вместо текста набор непонятных символов с моим текстом, уж что случилось не знаю, скорей всего причина в том, что MS блокнот создает в Windows кодировке, а медиа-танк работает с UTF-8.

Перенабрав содержимое в редакторе Midnight Commander, заменил записи кириллических наименований каналов, на транлитерные, все заработало.




Недостатки:
- что бы перейти на другой канал, другого способа как нажать "стоп" и выбрать из списка другой канал, как видимо нет;
- последняя прошивка Egreat EG-M31B, убирала досадный баг - "невозврат" из состояния скрин-сейвера, но вот почему-то после всех манипуляций - установка 2-х дополнительных демонов (telnet, Udpxy) это опять вернулось, хотя пару раз из скрин-сейвера через минуты 2 проигрыватель возвращался.

середу, 6 жовтня 2010 р.

температурная диагностика пк под управлением Ubuntu 10.04.1

Если у Вас есть желание просмотреть температурное состояние системы, логинясь к ней по ssh, проще всего для этого установить утилиты мониторинга sensors и hddtemp:

sudo apt-get install lm-sensors
sudo sensors-detect


отвечаем на вопросы конфигуратора о разрешениях на поиск различных типов сенсоров
у меня, на моем текущем тестовом неттопе Wanlida PC-8001 (PC-8001H) Black их было найден аж 1 штука:

Intel Atom thermal sensor... Success!
(driver `coretemp')


Рекомендуют перегрузить модули ядра:
sudo /etc/init.d/module-init-tools

Но, у меня особо ситуация не изменилась и даже без перегрузки утилита работала:

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +35.0°C (crit = +100.0°C)



Устанавливаем мониторинг жесткого диска
sudo apt-get install hddtemp

в процессе установки, будет предложен вариант запуска демона, от которого можно будет получать информацию с определенного порта, вибирайте на свое усмотрение.

далее простейший запрос:
sudo hddtemp /dev/sda
/dev/sda: TOSHIBA MK2555GSX: 49°C

вівторок, 5 жовтня 2010 р.

Wowza Media Server 2 Evaluation + autostart (Ubuntu 10.04.1 server)

Получив на днях тестовый ключик на месяц для Wowza Media Server 2 Evaluation 2.1.2 build24878.

Заметил, что после установки , не смотря на наличие скрипта в
/etc/init.d/WowzaMediaServer

И запускающегося вручную:
/etc/init.d/WowzaMediaServer start

Сервер не запускался при перегрузке.

Решение найдено здесь:

sudo update-rc.d WowzaMediaServer defaults
update-rc.d: warning: /etc/init.d/WowzaMediaServer missing LSB information
update-rc.d: see
Adding system startup for /etc/init.d/WowzaMediaServer ...
/etc/rc0.d/K20WowzaMediaServer -> ../init.d/WowzaMediaServer
/etc/rc1.d/K20WowzaMediaServer -> ../init.d/WowzaMediaServer
/etc/rc6.d/K20WowzaMediaServer -> ../init.d/WowzaMediaServer
/etc/rc2.d/S20WowzaMediaServer -> ../init.d/WowzaMediaServer
/etc/rc3.d/S20WowzaMediaServer -> ../init.d/WowzaMediaServer
/etc/rc4.d/S20WowzaMediaServer -> ../init.d/WowzaMediaServer
/etc/rc5.d/S20WowzaMediaServer -> ../init.d/WowzaMediaServer

пʼятницю, 1 жовтня 2010 р.

Ошибка: ffmpeg: relocation error: /usr/local/lib/libavfilter.so.1: symbol sws_isSupportedInput, version LIBSWSCALE_0 not defined in file libswscale.so

На некоторых компьютерах с Ubuntu 10.04.1, после сборке ffmpeg из git наблюдалась ошибка вида:

ffmpeg: relocation error: /usr/local/lib/libavfilter.so.1: symbol sws_isSupportedInput, version LIBSWSCALE_0 not defined in file libswscale.so.0 with link time reference

При инсталяции ffmpeg бросал библиотеки /usr/local/lib/

но ldd `which ffmpeg` выдал:



linux-gate.so.1 => (0x004f8000)
libavdevice.so.52 => /usr/lib/i686/cmov/libavdevice.so.52 (0x00336000)
libavfilter.so.1 => /usr/local/lib/libavfilter.so.1 (0x006ed000)
libavformat.so.52 => /usr/lib/i686/cmov/libavformat.so.52 (0x001fd000)
libavcodec.so.52 => /usr/lib/i686/cmov/libavcodec.so.52 (0x006ff000)
libswscale.so.0 => /usr/lib/i686/cmov/libswscale.so.0 (0x00110000)

libavcore.so.0 => /usr/local/lib/libavcore.so.0 (0x0014b000)
libavutil.so.50 => /usr/local/lib/libavutil.so.50 (0x005a2000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00150000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00176000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00340000)
librtmp.so.0 => /usr/lib/i686/cmov/librtmp.so.0 (0x0018f000)
libz.so.1 => /lib/libz.so.1 (0x001a7000)
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x005b9000)
libx264.so.98 => /usr/lib/libx264.so.98 (0x004f9000)
libopencore-amrwb.so.0 => /usr/lib/libopencore-amrwb.so.0 (0x001bc000)
libopencore-amrnb.so.0 => /usr/lib/libopencore-amrnb.so.0 (0x002d9000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x13fca000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x0030c000)
libfaac.so.0 => /usr/lib/libfaac.so.0 (0x0031a000)
/lib/ld-linux.so.2 (0x001e0000)
libssl.so.0.9.8 => /lib/i686/cmov/libssl.so.0.9.8 (0x0049a000)
libcrypto.so.0.9.8 => /lib/i686/cmov/libcrypto.so.0.9.8 (0x0219d000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x1422e000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00571000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x001d6000)


Ссылки на некоторые библиотеки вели /usr/lib/i686/cmov/, где были старые версии библиотек, которые не удовлетворяли последнюю сборку ffmpeg, поскольку я не сильно продвинут в знаниях Linux, решил проблему в лоб, скопировав(переписав) новые необходимые библиотеки поверх старых из каталога /usr/local/lib/.

Или же сменить симлинки библиотек на библиотеки в /usr/local/lib/.

В результате, по крайней мере ffmpeg стал запускаться:

ffmpeg
FFmpeg version git-120610e, Copyright (c) 2000-2010 the FFmpeg developers
built on Oct 1 2010 11:23:47 with gcc 4.4.3
configuration: --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-version3 --enable-yasm --enable-libgsm --enable-libfaac --enable-libx264 --enable-libxvid --enable-librtmp
libavutil 50.27. 0 / 50.27. 0
libavcore 0. 9. 0 / 0. 9. 0
libavcodec 52.89. 0 / 52.89. 0
libavformat 52.78. 5 / 52.78. 5
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.39. 0 / 1.39. 0
libswscale 0.11. 0 / 0.11. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

середу, 22 вересня 2010 р.

Cборка ffmpeg с поддержкой librtmp в Ubuntu 10.04.1 server

Принимаем, что librtmp уже установлена.

Скачиваем последний ffmpeg:
sudo apt-get install git-core
git clone git://git.ffmpeg.org/ffmpeg/
cd ffmpeg
git clone git://git.ffmpeg.org/libswscale/


Cмотрим доступные функции для конфигурирования:

~/ffmpeg$ ./configure --help

Usage: configure [options]
Options: [defaults in brackets after descriptions]
Standard options:
--help print this message
--logfile=FILE log tests and output to FILE [config.log]
--disable-logging do not log configure debug information
--prefix=PREFIX install in PREFIX []
--bindir=DIR install binaries in DIR [PREFIX/bin]
--datadir=DIR install data files in DIR [PREFIX/share/ffmpeg]
--libdir=DIR install libs in DIR [PREFIX/lib]
--shlibdir=DIR install shared libs in DIR [PREFIX/lib]
--incdir=DIR install includes in DIR [PREFIX/include]
--mandir=DIR install man page in DIR [PREFIX/share/man]

Configuration options:
--disable-static do not build static libraries [no]
--enable-shared build shared libraries [no]
--enable-gpl allow use of GPL code, the resulting libs
and binaries will be under GPL [no]
--enable-version3 upgrade (L)GPL to version 3 [no]
--enable-nonfree allow use of nonfree code, the resulting libs
and binaries will be unredistributable [no]
--disable-doc do not build documentation
--disable-ffmpeg disable ffmpeg build
--disable-ffplay disable ffplay build
--disable-ffprobe disable ffprobe build
--disable-ffserver disable ffserver build
--disable-avdevice disable libavdevice build
--disable-avcodec disable libavcodec build
--disable-avcore disable libavcore build
--disable-avformat disable libavformat build
--disable-swscale disable libswscale build
--enable-postproc enable GPLed postprocessing support [no]
--disable-avfilter disable video filter support [no]
--disable-pthreads disable pthreads [auto]
--enable-w32threads use Win32 threads [no]
--enable-x11grab enable X11 grabbing [no]
--disable-network disable network support [no]
--disable-mpegaudio-hp faster (but less accurate) MPEG audio decoding [no]
--enable-gray enable full grayscale support (slower color)
--disable-swscale-alpha disable alpha channel support in swscale
--disable-fastdiv disable table-based division
--enable-small optimize for size instead of speed
--disable-aandct disable AAN DCT code
--disable-dct disable DCT code
--disable-fft disable FFT code
--disable-golomb disable Golomb code
--disable-huffman disable Huffman code
--disable-lpc disable LPC code
--disable-mdct disable MDCT code
--disable-rdft disable RDFT code
--disable-vaapi disable VAAPI code
--disable-vdpau disable VDPAU code
--disable-dxva2 disable DXVA2 code
--enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)
--enable-hardcoded-tables use hardcoded tables instead of runtime generation
--enable-memalign-hack emulate memalign, interferes with memory debuggers
--disable-everything disable all components listed below
--disable-encoder=NAME disable encoder NAME
--enable-encoder=NAME enable encoder NAME
--disable-encoders disable all encoders
--disable-decoder=NAME disable decoder NAME
--enable-decoder=NAME enable decoder NAME
--disable-decoders disable all decoders
--disable-hwaccel=NAME disable hwaccel NAME
--enable-hwaccel=NAME enable hwaccel NAME
--disable-hwaccels disable all hwaccels
--disable-muxer=NAME disable muxer NAME
--enable-muxer=NAME enable muxer NAME
--disable-muxers disable all muxers
--disable-demuxer=NAME disable demuxer NAME
--enable-demuxer=NAME enable demuxer NAME
--disable-demuxers disable all demuxers
--enable-parser=NAME enable parser NAME
--disable-parser=NAME disable parser NAME
--disable-parsers disable all parsers
--enable-bsf=NAME enable bitstream filter NAME
--disable-bsf=NAME disable bitstream filter NAME
--disable-bsfs disable all bitstream filters
--enable-protocol=NAME enable protocol NAME
--disable-protocol=NAME disable protocol NAME
--disable-protocols disable all protocols
--disable-indev=NAME disable input device NAME
--disable-outdev=NAME disable output device NAME
--disable-indevs disable input devices
--disable-outdevs disable output devices
--disable-devices disable all devices
--enable-filter=NAME enable filter NAME
--disable-filter=NAME disable filter NAME
--disable-filters disable all filters
--list-decoders show all available decoders
--list-encoders show all available encoders
--list-hwaccels show all available hardware accelerators
--list-muxers show all available muxers
--list-demuxers show all available demuxers
--list-parsers show all available parsers
--list-protocols show all available protocols
--list-bsfs show all available bitstream filters
--list-indevs show all available input devices
--list-outdevs show all available output devices
--list-filters show all available filters

External library support:
--enable-avisynth enable reading of AVISynth script files [no]
--enable-bzlib enable bzlib [autodetect]
--enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
--enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
--enable-libopencv enable video filtering via libopencv [no]
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no]
--enable-libdirac enable Dirac support via libdirac [no]
--enable-libfaac enable FAAC support via libfaac [no]
--enable-libgsm enable GSM support via libgsm [no]
--enable-libmp3lame enable MP3 encoding via libmp3lame [no]
--enable-libnut enable NUT (de)muxing via libnut,
native (de)muxer exists [no]
--enable-libopenjpeg enable JPEG 2000 decoding via OpenJPEG [no]
--enable-librtmp enable RTMP[E] support via librtmp [no]
--enable-libschroedinger enable Dirac support via libschroedinger [no]
--enable-libspeex enable Speex decoding via libspeex [no]
--enable-libtheora enable Theora encoding via libtheora [no]
--enable-libvorbis enable Vorbis encoding via libvorbis,
native implementation exists [no]
--enable-libvpx enable VP8 support via libvpx [no]
--enable-libx264 enable H.264 encoding via x264 [no]
--enable-libxavs enable AVS encoding via xavs [no]
--enable-libxvid enable Xvid encoding via xvidcore,
native MPEG-4/Xvid encoder exists [no]
--enable-mlib enable Sun medialib [no]
--enable-zlib enable zlib [autodetect]

Advanced options (experts only):
--source-path=PATH path to source code [/home/emutant/ffmpeg]
--cross-prefix=PREFIX use PREFIX for compilation tools []
--enable-cross-compile assume a cross-compiler is used
--sysroot=PATH root of cross-build tree
--sysinclude=PATH location of cross-build system headers
--target-os=OS compiler targets OS []
--target-exec=CMD command to run executables on target
--target-path=DIR path to view of build directory on target
--nm=NM use nm tool
--ar=AR use archive tool AR [ar]
--as=AS use assembler AS []
--cc=CC use C compiler CC [gcc]
--ld=LD use linker LD
--host-cc=HOSTCC use host C compiler HOSTCC
--host-cflags=HCFLAGS use HCFLAGS when compiling for host
--host-ldflags=HLDFLAGS use HLDFLAGS when linking for host
--host-libs=HLIBS use libs HLIBS when linking for host
--extra-cflags=ECFLAGS add ECFLAGS to CFLAGS []
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []
--extra-libs=ELIBS add ELIBS []
--extra-version=STRING version string suffix []
--build-suffix=SUFFIX library name suffix []
--arch=ARCH select architecture []
--cpu=CPU select the minimum required CPU (affects
instruction selection, may crash on older CPUs)
--disable-asm disable all assembler optimizations
--disable-altivec disable AltiVec optimizations
--disable-amd3dnow disable 3DNow! optimizations
--disable-amd3dnowext disable 3DNow! extended optimizations
--disable-mmx disable MMX optimizations
--disable-mmx2 disable MMX2 optimizations
--disable-sse disable SSE optimizations
--disable-ssse3 disable SSSE3 optimizations
--disable-armv5te disable armv5te optimizations
--disable-armv6 disable armv6 optimizations
--disable-armv6t2 disable armv6t2 optimizations
--disable-armvfp disable ARM VFP optimizations
--disable-iwmmxt disable iwmmxt optimizations
--disable-mmi disable MMI optimizations
--disable-neon disable neon optimizations
--disable-vis disable VIS optimizations
--disable-yasm disable use of yasm assembler
--enable-pic build position-independent code
--malloc-prefix=PFX prefix malloc and related names with PFX
--enable-sram allow use of on-chip SRAM

Developer options (useful when working on FFmpeg itself):
--disable-debug disable debugging symbols
--enable-debug=LEVEL set the debug level []
--disable-optimizations disable compiler optimizations
--enable-extra-warnings enable more compiler warnings
--disable-stripping disable stripping of executables and shared libraries
--samples=PATH location of test samples for FATE

NOTE: Object files are built at the place where configure is launched.


Вот она поддержка: --enable-librtmp enable RTMP[E] support via librtmp [no]

Смотрим текущую конфигурацию ffmpeg

ffmpeg
FFmpeg version 0.5.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-version3 --enable-yasm --enable-libfaad --enable-libgsm --enable-libfaac --enable-libx264 --enable-libxvid


Конфигурим с теми же параметрами, так как необходимые библиотеки у нас есть, добавляем ьолько поддержку librtmp (параметр --enable-librtmp):

./configure --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-version3 --enable-yasm --enable-libgsm --enable-libfaac --enable-libx264 --enable-libxvid --enable-librtmp

Собираем и устанавливаем:

make
sudo make install
make clean


Пытаемся запустить:

ffmpeg
ffmpeg: error while loading shared libraries: libavcore.so.0: cannot open shared object file: No such file or directory


Смотрим зависимости (ldd - print shared library dependencies):

ldd `which ffmpeg`
linux-vdso.so.1 => (0x00007fff9fdff000)
libavdevice.so.52 => /usr/local/lib/libavdevice.so.52 (0x00007fcc383c5000)
libavfilter.so.1 => /usr/lib/libavfilter.so.1 (0x00007fcc381b8000)
libavformat.so.52 => /usr/local/lib/libavformat.so.52 (0x00007fcc37ee1000)
libavcodec.so.52 => /usr/local/lib/libavcodec.so.52 (0x00007fcc3721a000)
libswscale.so.0 => /usr/lib/libswscale.so.0 (0x00007fcc36fc5000)
libavcore.so.0 => not found
libavutil.so.50 => /usr/lib/libavutil.so.50 (0x00007fcc36db2000)
libm.so.6 => /lib/libm.so.6 (0x00007fcc36b2f000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fcc36911000)
libc.so.6 => /lib/libc.so.6 (0x00007fcc3658e000)
libavcore.so.0 => not found
libavcore.so.0 => not found
librtmp.so.0 => /usr/lib/librtmp.so.0 (0x00007fcc36374000)
libz.so.1 => /lib/libz.so.1 (0x00007fcc3615d000)
libavcore.so.0 => not found
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00007fcc35e4e000)
libx264.so.98 => /usr/lib/libx264.so.98 (0x00007fcc35bb7000)
libopencore-amrwb.so.0 => /usr/lib/libopencore-amrwb.so.0 (0x00007fcc3599a000)
libopencore-amrnb.so.0 => /usr/lib/libopencore-amrnb.so.0 (0x00007fcc35760000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00007fcc354e5000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00007fcc352d6000)
libfaac.so.0 => /usr/lib/libfaac.so.0 (0x00007fcc350c4000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcc385da000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x00007fcc34e21000)
libgcrypt.so.11 => /lib/libgcrypt.so.11 (0x00007fcc34ba9000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fcc34895000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fcc3467d000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x00007fcc3446c000)
libgpg-error.so.0 => /lib/libgpg-error.so.0 (0x00007fcc34268000)


И где же наш libavcore.so.0 ?

find /usr/local/lib/ | grep -E "libavcore.so.0"

/usr/local/lib/libavcore.so.0.9.0
/usr/local/lib/libavcore.so.0


Далее

cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf


Добавим:

sudo nano /etc/ld.so.conf
/usr/local/libevent-1.4.14b/lib
/usr/local/lib

sudo ldconfig



Запускаем ffmpeg:

ffmpeg
FFmpeg version git-120610e, Copyright (c) 2000-2010 the FFmpeg developers
built on Sep 21 2010 16:50:07 with gcc 4.4.3
configuration: --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-version3 --enable-yasm --enable-libgsm --enable-libfaac --enable-libx264 --enable-libxvid --enable-librtmp
libavutil 50.27. 0 / 50.27. 0
libavcore 0. 9. 0 / 0. 9. 0
libavcodec 52.89. 0 / 52.89. 0
libavformat 52.78. 5 / 52.78. 5
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.39. 0 / 1.39. 0
libswscale 0.11. 0 / 0.11. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'


Собран, работает :)

В процессе поиска неисправностей читался источник.

вівторок, 21 вересня 2010 р.

Установка librtmp-dev в Ubuntu 10.04

librtmp-dev в Ubuntu 10.04 в стандартных репозиториях я не смог обнаружить, хотя в maveriсk этот пакет есть.

Пошастав по UbuntuUpdates.org

нашел необходимый пакет в 3rd Party Repository: Lucidbleed.

Есть также в 3rd Party Repository: Xbmc

Добавляем репозиторий и устанавливаем необходимый пакет, входящий в rtmpdump.

sudo add-apt-repository ppa:lucid-bleed/ppa
sudo aptitude update
sudo aptitude install rtmpdump
sudo aptitude install librtmp-dev

понеділок, 20 вересня 2010 р.

Ubuntu 10.04 + Sun Java 6

В Ubuntu 10.04 исчезла из официальных репозиториев Sun-вская Java 6.
В замен предлагают openjdk. Однако, почему-то, не все, что требует Java, переваривает openjdk, без извращений.
Как вариант - собрать пакет, взятый с оригинального сайта, но есть пути попроще.
В /etc/apt/sources.list раскомментировать строку:

deb http://archive.canonical.com/ubuntu lucid partner

Далее, как обычно:

sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-bin sun-java6-plugin

суботу, 18 вересня 2010 р.

UPD: Linux (Ubuntu) + ffmpeg with amr, mp3, faac, libgsm

Дополнительно к заметке.

п.6. В версии Ubuntu 10.04 Package libopencore-amrnb-dev и libopencore-amrwb-dev

Если хотим добавить libgsm :

sudo apt-get install libgsm1-dev libgsm-tools

Информация о пакетах (Ubuntu libgsm package):

libgsm-tools: User binaries for a GSM speech compressor
libgsm1: Shared libraries for GSM speech compressor
libgsm1-dbg: Shared libraries for GSM speech compressor (debug symbols)
libgsm1-dev: Development libraries for a GSM speech compressor



UPD 30.09.2010: В Ubuntu 10.04 ("Lucid Lynx") если необходимо установить libxvid.

Необходимо вместо libxvidcore4-dev указывать в комманде libxvidcore-dev т.е.

sudo apt-get install libxvidcore-dev

понеділок, 31 травня 2010 р.

xubuntu 10.04 + VNC Server

Задача установить VNC сервер с графической средой XFCE.
Устанавливаем сервер:
apt-get install tightvncserver xtightvncviewer

Создаем файл (пользователь emutant разрешение экрана 800х600):
sudo nano /etc/init.d/vncserver


С содержимым:
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: vncserver
# Required-Start: networking
# Default-Start: S
# Default-Stop: 0 6### END INIT INFO
PATH="$PATH:/usr/X11R6/bin/"

# The Username:Group that will run VNC
export USER="emutant"
#${RUNAS}
# The display that VNC will use
DISPLAY="1"

# Color depth (between 8 and 32)
DEPTH="16"

# The Desktop geometry to use.
GEOMETRY="800x600"
#GEOMETRY="1024x768"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have.
NAME="emutant-vnc-server"
OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}";;
restart)
$0 stop
$0 start
;;
esac

exit 0


делаем исполняемым

sudo chmod +x /etc/init.d/vncserver

-rwxr-xr-x 1 root root 994 2010-05-31 11:49 vncserver

Создаем каталог:mkdir /home/emutant/.vnc

а также файл запуска XFCE4: nano /home/emutant/.vnc/vnc-xfce4
с содержимым:

#!/bin/sh
xfce-mcs-manager &
xfwm4 &
xfdesktop &
xfce4-panel &


Делаем исполняемым: chmod +x /home/emutant/.vnc/vnc-xfce4

Создаем xstartup script: nano /home/emutant/.vnc/xstartup

с содержимым:
#!/bin/sh
exec dbus-launch ~/.vnc/vnc-xfce4


Делаем исполняемым: chmod +x /home/emutant/.vnc/xstartup


Запускаем: /etc/init.d/vncserver start

Отвечаем на вопросы - назначаем пароли для доступа.

В результате в каталоге /home/emutant/.vnc появляются еще 3 файла: *.pid, *.log, passwd

В качестве клиента используем TightVNC или RealVNC

При соединении указываем ip:1.

bash script - find and kill pid

Иногда, необходимо "убить" запущенный скрипт (в моем случае Perl-script scriptname.pl) не зная его pid, решение на bash приведено ниже:

#!/bin/bash
PID=`ps -ef | awk '/scriptname.pl/{ print $2 }'|sed -n 1p`
echo $PID
kill $PID




UPDATE: 30.06.2010г.
Один камрад по имени Максим, жутко раскритиковал мой метод за нерациональность и привел свой пример, код ниже:

#!/bin/bash
PID=`ps ux | awk '/scriptname.pl/ && !/awk/ {print $2}'`
echo $PID
kill $PID

понеділок, 18 січня 2010 р.

Perl. LWP + proxy + авторизация

Возникла необходимость грабить и парсить одну страничку, находясь в локальной сети с MS Windows Server Active Directory и через прокси (в моем случе - это MS ISA-Server).
Дано:
пользоваетль - user000
домен - trand
пароль - passWooRDa
адрес прокси - 10.35.10.100
порт прокси - 8080

Код:

#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
my $proxy = 'http://10.35.10.100:8080/';
my $url = "http://www.bank.gov.ua/Fin_ryn/OF_KURS/Currency/FindByDate.aspx";
my $username = 'trand\user000';
my $password = 'passWooRDa';

my $ua = new LWP::UserAgent;
$ua->agent("Mozilla/6.0");
$ua->proxy('http',$proxy);

my $req = new HTTP::Request GET => $url;
$req->proxy_authorization_basic($username, $password);
my $res = $ua->request($req);

my $content='';
if ($res->is_success)
{
$content= $res->content;
print $content
}


Источник