секреты командной строки - очень много интересных и полезных для работы команд и примеров.
NVIDIA, Xorg
Подгружаем Composite Extension в Xorg:
sudo nvidia-xconfig –-composite
sudo nvidia-xconfig –-allow-glx-with-composite
Смотрим, что ещё можно наколбасить:
nvidia-xconfig -A
Смотрим на свой Х-сервер:
xdpyinfo
xvinfo
glxinfo
xrestop #(особенно ежели утечки имеют место...)
RPM
Чего у нас тут (поиск – давим “/” и пишем чего трэба):
rpm -qa | sort | less
А шо тут понасовали ?:
rpm -ql имя_пакета
А это откуда ??? :
rpm -qf Путь_к_файлу/файл
rpm -qf `which файл`
Фунтик вроде бы и есть... но ушёл... далеко ушёл:
sudo rm -rf `rpm -ql имя_пакета`
Собираем из spec-а:
rpmbuild -bb Путь_к_spec_файлу/file.spec
Устанавливаем несколько версий пакетов (особенно для kernel полезно):
rpm -i пакет.rpm
Апгрейдим установленные пакеты (в живых должен остаться только один...):
rpm -Uhv пакет.rpm
Прочая... прочая... прочая...
Ежели файлов туча, а надоть их того...:
for i in `ls /каталог/`; do
mv $i /другой_каталог
done
или
(cd каталог; ls|xargs -i mv {} другой_каталог)
Удаляем хлам, старше 2-х недель:
find /Путь_к_файлам/файлы* -mtime +13 -exec rm {} \;
Удаляем файлы из списка:
cat list.txt | tr '\n' '\000'| xargs -0 rm -f
>file
echo > file
И что у нас внутри ??? :
sudo dmidecode
hwinfo
lspci
lsdev
cat /proc/cpuinfo
cat /proc/interrupts
procinfo
А чтой-то винтик не шуршит ???:
smartctl -a /dev/ВИНТИК
hdparm -i /dev/ВИНТИК
fdisk -l
О чём Вы мне, Мадам, орали, когда я Вас грузил ???:
dmesg
Сколько секунд Юникс живе среди нас:
echo "GMT = `date +%s` seconds since 1970"
Хто здесь?! ACHTUNG!!!:
last
who
w
Что-то с памятью моей стало...:
free
vmstat
Сколько осталось на хардах под порнуху ???:
df -h
А сколько отъел этот каталог ? :
du -sh /каталог
Размер всех директорий в данном каталоге :
find . -maxdepth 1 -type d -exec du -sk {} \; | sort -rn
Файло – на чтение-запись!!!
find ./ -type f -exec chmod 644 {} \;
Каталоги – открывайте врата!
find ./ -type d -exec chmod 755 {} \;
Поиск файлов принадлежащих специфическому юзеру и перевод их нa другого:
find ./ -uid 0 -exec chown 500 {} \;
Перевод имен файлов и директорий в определенном каталоге в нижний регистр:
for x in *; do mv "$x" "`echo $x | tr [A-Z] [a-z]`"; done
Удаление пропусков в именах файлов и директорий и подстановка нижней черты “_” в определенном каталоге:
for x in *; do mv "$x" `echo $x | sed -e 's/ /_/g'`; done
или
for x in *; do mv "$x" ${x// /_}; done
Что вообще происходит ??? :
top
ps aux
pstree
Re: Как удалить символы из строки средствами bash?
a="1 2 3 4" ; b=${a// /} ; echo $b
1234
Меняем время на часах:
допустим, что сейчас 31 июля 23:30:04 года 2007-го:
sudo date “073123302007.04”
теперь сбросим это время на часы компа:
sudo /sbin/hwclock --systohc
Монтируем ftp в файловую систему (для curlftpfs версии 0.9.1 и выше)
выполняем скрипт таким образом (опция codepage - не сочтите за рекламу):
$~/bin/mount_ftp kernel.org
для размонтирования достаточно выполнить mount_ftp без аргументов. монтирование пользователем без параметра allow_root крайне нежелательно (с точки зрения администратора по крайней мере).
$ cat ~/bin/mount_ftp
#!/bin/sh
mount_folder="/mnt/ftp"
if [ "`mount | grep $mount_folder`" == "" ] ; then
sudo curlftpfs ftp://$1 $mount_folder -o \
codepage=cp1251,uid=1000,gid=100,allow_other
else sudo fusermount -u $mount_folder && \
sudo curlftpfs ftp://$1 $mount_folder -o \
codepage=cp1251,uid=1000,gid=100,allow_other \
|| { echo "error occured or you just unmount your ftp" && exit ; }
fi
# EOF
несколько полезных программ для поддержания хорошего настроения:
snort
aide
rkhunter
chkrootkit
Переводим видео из avi в gif :
mplayer -vo png video.avi
convert -dispose previous -delay 10 -page +0+0 *.png animation.gif
Делаем “сдвиги” в видеофайлах:
ffmpeg -i 1.avi -padcolor 00FF00 -padleft 100 -s 630x480 2.avi
Слушаем радио:
mplayer http://адрес:порт/точка_монтирования
N.B. По http://адрес:порт/точка_монтирования.m3u или http://адрес:порт/точка_монтирования.pls нам “выдадут” плейлист, но нам он не нужен. Можно сохранить плейлист, открыть и посмотреть, куда именно обращаться.
Смотрим мультикаст видео:
mplayer udp://@адрес:порт
Смотрим, что у нас с видео и аудио кодеками:
mplayer -vc help
mplayer -ac help
mencoder -ovc help
mencoder -oac help
ffmpeg -formats
Смотрим наши “демуксеры”:
mplayer -audio-demuxer help
Перебиваем индексы в битом видео для работы “перемотки”
mplayer -forceidx file.avi
Делаем видео из jpg файлов:
mencoder "mf://*.jpg" -mf fps=25 -ovc copy -o file_jpg.avi
Прикручиваем к этому видео звуковую дорожку:
mencoder file_jpg.avi -o file_jpg_snd1.avi -oac copy -ovc copy -audiofile audio.mp3
Прикручиваем к этому видео вторую звуковую дорожку:
ffmpeg -i file_jpg_snd1.avi -i audio2.mp3 -vcodec copy \
-acodec copy file_jpg_snd2.avi -newaudio
Потрошим DVD:
ffmpeg -i /media/dvd/VIDEO_TS/VTS_01_1.VOB \
-acodec copy -map 0:2 audio.ac3
FFmpeg version SVN-r9451, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr/local --mandir=/usr/share/man --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libfaad --enable-libfaac --enable-libxvid --enable-liba52 --enable-pp --enable-swscaler --enable-gpl --enable-gprof --enable-libx264 --enable-libamr-nb --enable-libamr-wb --enable-pthreads --enable-x11grab --enable-libtheora --cc=/home/sda/bin/gcc
libavutil version: 49.4.1
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on Jun 29 2007 21:03:07, gcc: 4.2.0
Input #0, mpeg, from '/media/dvd/VIDEO_TS/VTS_01_1.VOB':
Duration: 00:25:11.8, start: 0.287267, bitrate: 5680 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576, 7500 kb/s, 25.00 fps(r)
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5:1, 448 kb/s
Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5:1, 384 kb/s
Stream #0.3[0x82]: Audio: ac3, 48000 Hz, stereo, 96 kb/s
File 'audio.ac3' already exists. Overwrite ? [y/N] y
Output #0, ac3, to 'audio.ac3':
Stream #0.0: Audio: ac3, 48000 Hz, 5:1, 384 kb/s
Stream mapping:
Stream #0.2 -> #0.0
Press q to stop encoding
size= 37988kB time=810.4 bitrate= 384.0kbits/s
video:0kB audio:37988kB global headers:0kB muxing overhead 0.000000%
Received signal 2: terminating.
*******************************************************************************************************
разбираем "на пальцах". выше - dvd с тремя аудио дорожками и одной видео:
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576, 7500 kb/s, 25.00 fps(r)
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5:1, 448 kb/s
Stream #0.2[0x81]: Audio: ac3, 48000 Hz, 5:1, 384 kb/s
Stream #0.3[0x82]: Audio: ac3, 48000 Hz, stereo, 96 kb/s
а команда в самом верху делает копию второй аудиодорожки в audio.ac3 (без потерь), соответственно можно скопировать все 3 аудиодорожки а потом - запихать их в пережатую (надеюсь, что x264-м кодеком) авишку, огг или что-там-душа-просит... (“потрошить” можно практически всё, равно как и “собирать”)
Тупенько рипаем DVD (параметры x264encopts лучше сразу положить в ~/.mplayer/mencoder.conf):
mencoder dvd://1 -oac copy -ovc x264 -o dvdrip.avi
или
mencoder dvd://1 -oac mp3lame -ovc x264 -o dvdrip.avi
Собираем несколько видеофайлов в один (можно с -nosound если вдруг чего):
mencoder file.avi file1.avi file2.avi ... -o result.avi
Делаем мувик для мобилки с экраном 128x96:
ffmpeg -i file.avi -s sqcif -ar 8000 -ac 1 -ab 12.2K file.3gp
или
ffmpeg -i file.avi -s 128x96 -ar 8000 -ac 1 -ab 12.2K file.3gp
Кодируем mencoder-ом на лету видео с ТВ-тюнера в файл tv.avi:
mencoder -tv driver=v4l2:width=768:height=576:device=/dev/video0:norm=SECAM:buffersize=128:f ps=25:audiorate=22050:forceaudio -oac mp3lame tv:// -o tv.avi -ovc lavc -lavcopts vcodec=mpeg4:autoaspect=1:vbitrate=1200:vme=4:vqscale=3:vb_strategy=1:keyint=30
Опций и вариантов – море, читайте маны, экспериментируйте, у Вас в руках – самые мощные универсальные средства для работы с мультимедиа. Они требуют многого, но и результат того стоит.
Вот ещё несколько ссылок по кодированию видео с помощью mplayer/ffmpeg:
http://strannick.blogspot.com/2007/04/x264.html
http://www.linuxjournal.com/article/9005
http://www.opennet.ru/base/sys/mencoding_pop.txt.html
Проект ffmpeg развивается очень динамично, поэтому информация по использованию опций кодеков (особенно x264) “устаревает” довольно быстро. Если что-то не получается – не паникуйте. Кодирование видео – не простая дисциплина, старайтесь больше экспериментировать и читайте документацию к каждому используемому кодеку.
Комментариев нет:
Отправить комментарий