<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Case &#187; shell</title>
	<atom:link href="http://case.net.ru/tag/shell/feed/" rel="self" type="application/rss+xml" />
	<link>http://case.net.ru</link>
	<description>Just another technical weblog</description>
	<lastBuildDate>Sun, 29 Jan 2012 08:48:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Видеонаблюдение</title>
		<link>http://case.net.ru/2009/02/17/video/</link>
		<comments>http://case.net.ru/2009/02/17/video/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 16:04:11 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://case.net.ru/?p=267</guid>
		<description><![CDATA[Скриптик постоянно записывает поток с видеокамеры, каждую минуту обновляя файл, а также каждые 2 секунды создает новый скриншот с потока. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [...]]]></description>
			<content:encoded><![CDATA[<p>Скриптик постоянно записывает поток с видеокамеры, каждую минуту обновляя файл, а также каждые 2 секунды создает новый скриншот с потока.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">trap</span> cleanup <span style="color: #000000;">1</span> <span style="color: #000000;">2</span> <span style="color: #000000;">3</span> <span style="color: #000000;">6</span> <span style="color: #000000;">15</span>
&nbsp;
cleanup<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
    <span style="color: #c20cb9; font-weight: bold;">killall</span> <span style="color: #c20cb9; font-weight: bold;">wget</span>
    <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #c20cb9; font-weight: bold;">true</span>
<span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">vdir</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y-%m-%d-%H&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
    <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$vdir</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$vdir</span>
    <span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
    <span style="color: #007800;">filename</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y-%m-%d-%H-%M-%S&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
    <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">--tries</span>=<span style="color: #000000;">0</span> <span style="color: #660033;">-o</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #660033;">-O</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$vdir</span>/<span style="color: #007800;">$filename</span>.mpg&quot;</span> http:<span style="color: #000000; font-weight: bold;">//</span>172.16.127.4:<span style="color: #000000;">8080</span> <span style="color: #000000; font-weight: bold;">&amp;</span>
&nbsp;
    <span style="color: #007800;">i</span>=<span style="color: #000000;">1</span>
    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$i</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">60</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
    <span style="color: #000000; font-weight: bold;">do</span>  
        <span style="color: #c20cb9; font-weight: bold;">sleep</span> <span style="color: #000000;">2</span>
        <span style="color: #007800;">sfile</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>s<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
        <span style="color: #007800;">sdir</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y-%m-%d-%H&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #007800;">$sdir</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
        <span style="color: #000000; font-weight: bold;">then</span>
            <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$sdir</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
        <span style="color: #7a0874; font-weight: bold;">let</span> sfile = <span style="color: #007800;">$sfile</span> + <span style="color: #000000;">2</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-s</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$vdir</span>/<span style="color: #007800;">$filename</span>.mpg&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
        <span style="color: #000000; font-weight: bold;">then</span>
            <span style="color: #c20cb9; font-weight: bold;">ffmpeg</span> <span style="color: #660033;">-i</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$vdir</span>/<span style="color: #007800;">$filename</span>.mpg&quot;</span> <span style="color: #660033;">-an</span> <span style="color: #660033;">-ss</span> 00:00:<span style="color: #007800;">$i</span> <span style="color: #660033;">-r</span> <span style="color: #000000;">1</span> <span style="color: #660033;">-vframes</span> <span style="color: #000000;">1</span> <span style="color: #660033;">-y</span> <span style="color: #660033;">-f</span> mjpeg <span style="color: #ff0000;">&quot;<span style="color: #007800;">$sdir</span>/<span style="color: #007800;">$sfile</span>.jpg&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-s</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$sdir</span>/<span style="color: #007800;">$sfile</span>.jpg&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> final.jpg; <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$sdir</span>/<span style="color: #007800;">$sfile</span>.jpg&quot;</span> final.jpg; <span style="color: #000000; font-weight: bold;">fi</span> <span style="color: #000000; font-weight: bold;">&amp;</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
        <span style="color: #7a0874; font-weight: bold;">let</span> i = <span style="color: #007800;">$i</span> + <span style="color: #000000;">2</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> stop <span style="color: #7a0874; font-weight: bold;">&#93;</span>
        <span style="color: #000000; font-weight: bold;">then</span>
            <span style="color: #c20cb9; font-weight: bold;">rm</span> stop
            cleanup
        <span style="color: #000000; font-weight: bold;">fi</span>
    <span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
    <span style="color: #c20cb9; font-weight: bold;">killall</span> <span style="color: #c20cb9; font-weight: bold;">wget</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2009/02/17/video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пример SNMP управления коммутатором</title>
		<link>http://case.net.ru/2009/01/23/snmp/</link>
		<comments>http://case.net.ru/2009/01/23/snmp/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 16:35:06 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[des-3226s]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[xbox 360]]></category>

		<guid isPermaLink="false">http://case.net.ru/?p=138</guid>
		<description><![CDATA[Переключения порта xbox&#8217;а (что бы в live не ломился): 1 2 3 4 5 6 7 8 9 10 #!/bin/sh &#160; if &#91; &#34;`snmpget -v 1 -c public des IF-MIB::ifAdminStatus.12 &#124; grep up`&#34; &#93; then echo &#34;disabling port 12..&#34; snmpset -v 1 -c private des IF-MIB::ifAdminStatus.12 i 2 &#62; /dev/null else echo &#34;enabling port 12..&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Переключения порта xbox&#8217;а (что бы в live не ломился):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #780078;">`snmpget -v 1 -c public des IF-MIB::ifAdminStatus.12 | grep up`</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;disabling port 12..&quot;</span>
        snmpset <span style="color: #660033;">-v</span> <span style="color: #000000;">1</span> <span style="color: #660033;">-c</span> private des IF-MIB::ifAdminStatus.12 i <span style="color: #000000;">2</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
<span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;enabling port 12..&quot;</span>
        snmpset <span style="color: #660033;">-v</span> <span style="color: #000000;">1</span> <span style="color: #660033;">-c</span> private des IF-MIB::ifAdminStatus.12 i <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null
<span style="color: #000000; font-weight: bold;">fi</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2009/01/23/snmp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Заметки по shell</title>
		<link>http://case.net.ru/2009/01/23/shell/</link>
		<comments>http://case.net.ru/2009/01/23/shell/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 07:31:42 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://case.net.ru/?p=134</guid>
		<description><![CDATA[Взято вот от сюда: http://citforum.ru/programming/shell/ &#038; асинхронное (фоновое) выполнение предшествующей команды; &#038;&#038; выполнение последующей команды при условии нормального завершения предыдущей, иначе игнорировать; &#124;&#124; выполнение последующей команды при ненормальном завершении предыдущей, иначе игнорировать. wait [pid] - ожидание завершения процесса группировка команд: k1 &#038;&#038; {k2; k3} {k1; k2} &#038; subshell: (cd ..; ls) ls 3.4. Генерация имен [...]]]></description>
			<content:encoded><![CDATA[<p>Взято вот от сюда: <a href="http://citforum.ru/programming/shell/">http://citforum.ru/programming/shell/</a></p>
<blockquote><p><code>&#038; 	асинхронное (фоновое) выполнение предшествующей команды;<br />
&#038;&#038; 	выполнение последующей команды при условии нормального завершения предыдущей, иначе игнорировать;<br />
||	выполнение последующей команды при ненормальном завершении предыдущей, иначе игнорировать.</p>
<p>wait [pid] - ожидание завершения процесса</p>
<p>группировка команд:<br />
k1 &#038;&#038; {k2; k3}<br />
{k1; k2} &#038;</p>
<p>subshell:<br />
(cd ..; ls) ls</p>
<p>3.4. Генерация имен файлов. </p>
<p>При генерации имен используют метасимволы: * 	произвольная (возможно пустая) последовательность символов;<br />
? 	один произвольный символ;<br />
[...] 	любой из символов, указанных в скобках перечислением и/или с указанием диапазона;<br />
cat f* 	выдаст все файлы каталога, начинающиеся с "f";<br />
cat *f* 	выдаст все файлы, содержащие "f";<br />
cat program.?	выдаст файлы данного каталога с однобуквенными расширениями, скажем "program.c" и "program.o", но не выдаст "program.com";<br />
cat [a-d]* 	выдаст файлы, которые начинаются с "a", "b", "c", "d". Аналогичный эффект дадут и команды "cat [abcd]*" и "cat [bdac]*".</p>
<p>cat ${a}prim</p>
<p>c=`expr $a + $b`<br />
c=`expr $x '*' $y`</p>
<p>${x-new} 	в качестве значения "x" будет выдано "new",<br />
${y=new} 	в качестве значения "у" будет присвоено "new",<br />
${z?new} 	в качестве значения "z" будет выдано "z: new" и</p>
<p>[u@case.net.ru]$ y=${f:=30}; echo "y = $y; f = $f"<br />
y = 30; f = 30<br />
[u@case.net.ru]$ unset f<br />
[u@case.net.ru]$ y=${f-30}; echo "y = $y; f = $f"<br />
y = 30; f =<br />
[u@case.net.ru]$ </p>
<p>локальные и внешнии переменные:<br />
a=10<br />
set -a a<br />
export a</p>
<p>$ set `ifconfig em0|grep inet`<br />
$ echo $2<br />
80.92.110.82</p>
<p>echo $0 - имя расчета<br />
echo $? - код завершения<br />
echo $$ - идентификатор последнего процесса<br />
echo $! - идентификатор последнего фонового процесса<br />
echo $* - значения параметров, как строки<br />
echo $@ - значения параметров, как слов</p>
<p>УСЛОВИЯ ПРОВЕРКИ ФАЙЛОВ: -f file 	файл "file" является обычным файлом;<br />
-d file 	файл "file" - каталог;<br />
-с file 	файл "file" - специальный файл;<br />
-r file 	имеется разрешение на чтение файла "file";<br />
-w file 	имеется разрешение на запись в файл "file";<br />
-s file 	файл "file" не пустой.</p>
<p>УСЛОВИЯ ПРОВЕРКИ СТРОК: str1 = str2 	строки "str1" и "str2" совпадают;<br />
str1 != str2 	строки "str1" и "str2" не совпадают;<br />
-n str1 	строка "str1" существует (непустая);<br />
-z str1 	строка "str1" не существует (пустая).</p>
<p>УСЛОВИЯ СРАВНЕНИЯ ЦЕЛЫХ ЧИСЕЛ: x -eq y 	"x" равно "y",<br />
x -ne y 	"x" неравно "y",<br />
x -gt y 	"x" больше "y",<br />
x -ge y 	"x" больше или равно "y",<br />
x -lt y 	"x" меньше "y",<br />
x -le y 	"x" меньше или равно "y".</p>
<p>СЛОЖНЫЕ УСЛОВИЯ: </p>
<p>Реализуются с помощью типовых логических операций: ! 	(not) инвертирует значение кода завершения.<br />
-o 	(or) соответствует логическому "ИЛИ".<br />
-a 	(and) соответствует логическому "И".</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2009/01/23/shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Конвертирование mkv в mp4 для просмотра на XBOX360</title>
		<link>http://case.net.ru/2009/01/19/mkv2mp4/</link>
		<comments>http://case.net.ru/2009/01/19/mkv2mp4/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 16:42:19 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[xbox 360]]></category>

		<guid isPermaLink="false">http://case.net.ru/?p=107</guid>
		<description><![CDATA[Задача: использовать xbox 360 для просмотра HDTV с сервера. Проблема: почти все HDTV видео выкладывают в формате h.264, звук в формате aac 6-ch и все это в контейнере mkv. Xbox 360 в свою очередь умеет читать видео h.264, aac 2-ch и контейнер mp4. Нам понадобится: mpeg4ip для mp4created ffmpeg с поддержкой faac, для перекодирования 6-и [...]]]></description>
			<content:encoded><![CDATA[<p>Задача: использовать xbox 360 для просмотра HDTV с сервера.<br />
<br />
Проблема: почти все HDTV видео выкладывают в формате h.264, звук в формате aac 6-ch и все это в контейнере mkv. Xbox 360 в свою очередь умеет читать видео h.264, aac 2-ch и контейнер mp4.<br />
<br />
Нам понадобится:</p>
<ul>
<li>mpeg4ip для mp4created</li>
<li>ffmpeg с поддержкой faac, для перекодирования 6-и канального звука в 2-х канальный</li>
<li>mkvtoolnix для выдирания из mkv аудио и видео дорожек</li>
</ul>
<p>Используя mkvinfo узнаем нужные нам дорожки и битрейт видео.<br />
Далее:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">mkvextract tracks input.mkv <span style="color: #000000;">1</span>:video.h264 <span style="color: #000000;">2</span>:audio.ac3
mp4creator <span style="color: #660033;">-create</span>=video.h264 <span style="color: #660033;">-rate</span>=<span style="color: #000000;">29.970</span> output.mp4
mp4creator <span style="color: #660033;">-hint</span>=<span style="color: #000000;">1</span> output.mp4
<span style="color: #c20cb9; font-weight: bold;">ffmpeg</span> <span style="color: #660033;">-y</span> <span style="color: #660033;">-i</span> audio.ac3 <span style="color: #660033;">-vn</span> <span style="color: #660033;">-acodec</span> libfaac <span style="color: #660033;">-ac</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-ab</span> 384kbits audio.aac
mp4creator <span style="color: #660033;">-c</span> audio.aac <span style="color: #660033;">-interleave</span> <span style="color: #660033;">-optimize</span> output.mp4
<span style="color: #c20cb9; font-weight: bold;">rm</span> audio.aac audio.ac3 video.mp4</pre></td></tr></table></div>

<p>
Так же читаем по следующим ссылкам:<br />
- <a href="http://oddmanout.wordpress.com/2008/01/26/converting-an-mkv-h264-file-to-ps3-mp4-without-re-encoding-on-mac-os-x/">http://oddmanout.wordpress.com/2008/01/26/converting-an-mkv-h264-file-to-ps3-mp4-without-re-encoding-on-mac-os-x/</a><br />
- <a href="http://torrents.ru/forum/viewtopic.php?t=632076">http://torrents.ru/forum/viewtopic.php?t=632076</a><br />
<br />
Небольшой shell:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;usage: $0 filename&quot;</span>
        <span style="color: #7a0874; font-weight: bold;">exit</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #007800;">vt</span>=<span style="color: #000000;">1</span>
<span style="color: #007800;">at</span>=<span style="color: #000000;">2</span>
<span style="color: #007800;">fps</span>=<span style="color: #000000;">23.976</span>
<span style="color: #007800;">fps</span>=<span style="color: #000000;">29.970</span>
<span style="color: #007800;">audio</span>=ac3
&nbsp;
<span style="color: #007800;">filename</span>=$<span style="color: #000000;">1</span>
&nbsp;
<span style="color: #007800;"><span style="color: #c20cb9; font-weight: bold;">size</span></span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">stat</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$filename</span>&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $8}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">if</span>  <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000;">4314967296</span> <span style="color: #660033;">-lt</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$size</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
        mkvmerge <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;<span style="color: #780078;">`echo $filename|sed -e 's/mkv/Part.mkv/'`</span>&quot;</span> <span style="color: #660033;">--split</span> 4G <span style="color: #ff0000;">&quot;<span style="color: #007800;">$filename</span>&quot;</span>
        <span style="color: #007800;">mask</span>=<span style="color: #ff0000;">&quot;<span style="color: #780078;">`echo $filename|sed -e 's/mkv/Part-*.mkv/'`</span>&quot;</span>
        <span style="color: #007800;">files</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #007800;">$mask</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #007800;">files</span>=<span style="color: #007800;">$filename</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #007800;">$files</span>
<span style="color: #000000; font-weight: bold;">do</span>
        mkvextract tracks <span style="color: #ff0000;">&quot;<span style="color: #007800;">$i</span>&quot;</span> <span style="color: #007800;">$vt</span>:video.h264 <span style="color: #007800;">$at</span>:audio.<span style="color: #007800;">$audio</span>
        mp4creator <span style="color: #660033;">-create</span>=video.h264 <span style="color: #660033;">-rate</span>=<span style="color: #007800;">$fps</span> output.mp4
        mp4creator <span style="color: #660033;">-hint</span>=<span style="color: #000000;">1</span> output.mp4
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$audio</span>&quot;</span> = <span style="color: #ff0000;">&quot;dts&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
        <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #c20cb9; font-weight: bold;">mplayer</span> <span style="color: #660033;">-vo</span> null <span style="color: #660033;">-ao</span> pcm audio.dts
                <span style="color: #c20cb9; font-weight: bold;">ffmpeg</span> <span style="color: #660033;">-y</span> <span style="color: #660033;">-i</span> audiodump.wav <span style="color: #660033;">-vn</span> <span style="color: #660033;">-acodec</span> libfaac <span style="color: #660033;">-ac</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-ab</span> 384kbits audio.aac
                <span style="color: #c20cb9; font-weight: bold;">rm</span> audiodump.wav
        <span style="color: #000000; font-weight: bold;">else</span>
                <span style="color: #c20cb9; font-weight: bold;">ffmpeg</span> <span style="color: #660033;">-y</span> <span style="color: #660033;">-i</span> audio.ac3 <span style="color: #660033;">-vn</span> <span style="color: #660033;">-acodec</span> libfaac <span style="color: #660033;">-ac</span> <span style="color: #000000;">2</span> <span style="color: #660033;">-ab</span> 384kbits audio.aac
        <span style="color: #000000; font-weight: bold;">fi</span>
        mp4creator <span style="color: #660033;">-c</span> audio.aac <span style="color: #660033;">-interleave</span> <span style="color: #660033;">-optimize</span> output.mp4
        <span style="color: #c20cb9; font-weight: bold;">rm</span> audio.aac audio.<span style="color: #007800;">$audio</span> video.h264
        <span style="color: #007800;">outfile</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">$i</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/mkv/mp4/'</span><span style="color: #000000; font-weight: bold;">`</span>
        <span style="color: #c20cb9; font-weight: bold;">mv</span> output.mp4 <span style="color: #ff0000;">&quot;<span style="color: #007800;">$outfile</span>&quot;</span>
        mp4creator <span style="color: #660033;">-list</span> <span style="color: #007800;">$outfile</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

<p>
Т.к. xbox не поддерживает профиль кодирования h264 выше чем 4.1 &#8211; приходится его менять. Пока что делается так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-f</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;usage: $0 filename&quot;</span>
        <span style="color: #7a0874; font-weight: bold;">exit</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #007800;">vt</span>=<span style="color: #000000; font-weight: bold;">`</span>mp4creator <span style="color: #660033;">--list</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">grep</span> video<span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $1}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">at</span>=<span style="color: #000000; font-weight: bold;">`</span>mp4creator <span style="color: #660033;">--list</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">grep</span> audio<span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $1}'</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #007800;">fps</span>=<span style="color: #000000; font-weight: bold;">`</span>mp4creator <span style="color: #660033;">--list</span> $<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">grep</span> video<span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $11}'</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
mp4creator <span style="color: #660033;">--extract</span>=<span style="color: #007800;">$vt</span> $<span style="color: #000000;">1</span>
<span style="color: #c20cb9; font-weight: bold;">mv</span> $1.t<span style="color: #007800;">$vt</span> video.h264
mp4creator <span style="color: #660033;">--extract</span>=<span style="color: #007800;">$at</span> $<span style="color: #000000;">1</span>
<span style="color: #c20cb9; font-weight: bold;">mv</span> $1.t<span style="color: #007800;">$at</span> audio.aac
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;demuxed? [yes/no]: &quot;</span>
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> x
<span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$x</span>&quot;</span> = <span style="color: #ff0000;">&quot;yes&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
        <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #7a0874; font-weight: bold;">break</span>
        <span style="color: #000000; font-weight: bold;">else</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;demuxed? [yes/no]: &quot;</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
mp4creator <span style="color: #660033;">-create</span>=video.h264 <span style="color: #660033;">-rate</span>=<span style="color: #007800;">$fps</span> output.mp4
mp4creator <span style="color: #660033;">-hint</span>=<span style="color: #000000;">1</span> output.mp4
mp4creator <span style="color: #660033;">-c</span> audio.aac <span style="color: #660033;">-interleave</span> <span style="color: #660033;">-optimize</span> output.mp4
<span style="color: #c20cb9; font-weight: bold;">mv</span> output.mp4 $<span style="color: #000000;">1</span>
<span style="color: #c20cb9; font-weight: bold;">rm</span> audio.aac video.h264</pre></td></tr></table></div>

<p>Как только спрашивает demuxed &#8211; в hex-редакторе (например bpatch) открываем video.h264 и меняем 8-й байт с 33 на 29.</p>
]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2009/01/19/mkv2mp4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>multiping</title>
		<link>http://case.net.ru/2009/01/19/multiping/</link>
		<comments>http://case.net.ru/2009/01/19/multiping/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 08:57:57 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://case.net.ru/?p=101</guid>
		<description><![CDATA[Вадим написал утилитку для проверки разных каналов сети Интернет. Выкладываю ее переделанный код для моих каналов Зелком и Стрим. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [...]]]></description>
			<content:encoded><![CDATA[<p>Вадим написал утилитку для проверки разных каналов сети Интернет. Выкладываю ее переделанный код для моих каналов Зелком и Стрим.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">usage</span>=<span style="color: #ff0000;">&quot;usage: $0 hostname [-p pool_number] [-t] [-c ping_count]
tpool_number - 0 for real IP address, 1..4 - for NAT pool number
t-t - do traceroute instead of just pingn&quot;</span>
&nbsp;
<span style="color: #007800;">host</span>=$<span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;x<span style="color: #007800;">$host</span>&quot;</span> = <span style="color: #ff0000;">&quot;x&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$usage</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">exit</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">shift</span>
&nbsp;
<span style="color: #007800;">pingcount</span>=<span style="color: #000000;">3</span>
<span style="color: #007800;">poolnumber</span>=<span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #007800;">tracemode</span>=<span style="color: #000000;">0</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;x$1&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;x&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
                <span style="color: #ff0000;">&quot;-p&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                        <span style="color: #7a0874; font-weight: bold;">shift</span>
                        <span style="color: #007800;">poolnumber</span>=<span style="color: #ff0000;">&quot;$1&quot;</span>
                <span style="color: #000000; font-weight: bold;">;;</span>
                <span style="color: #ff0000;">&quot;-c&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                        <span style="color: #7a0874; font-weight: bold;">shift</span>
                        <span style="color: #007800;">pingcount</span>=<span style="color: #ff0000;">&quot;$1&quot;</span>
                <span style="color: #000000; font-weight: bold;">;;</span>
                <span style="color: #ff0000;">&quot;-t&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
                        <span style="color: #007800;">tracemode</span>=<span style="color: #000000;">1</span>
                <span style="color: #000000; font-weight: bold;">;;</span>
        <span style="color: #000000; font-weight: bold;">esac</span>
        <span style="color: #7a0874; font-weight: bold;">shift</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #007800;">ips</span>=<span style="color: #ff0000;">&quot;0 213.79.110.123 1 <span style="color: #780078;">`ifconfig ng0|grep inet|awk '{print $2}'`</span>&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">set</span> <span style="color: #007800;">$ips</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;x$1&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;x&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;x<span style="color: #007800;">$poolnumber</span>&quot;</span> = <span style="color: #ff0000;">&quot;x&quot;</span> <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;x$1&quot;</span> = <span style="color: #ff0000;">&quot;x<span style="color: #007800;">$poolnumber</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
&nbsp;
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;******************************************************************************&quot;</span>
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #660033;">-eq</span> <span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
                        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;* TESTING TARGET FROM: ZELCOM                                                *&quot;</span>
                <span style="color: #000000; font-weight: bold;">else</span>
                        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;* TESTING TARGET FROM: STREAM                                                 *&quot;</span>
                <span style="color: #000000; font-weight: bold;">fi</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;******************************************************************************&quot;</span>
&nbsp;
                <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;x<span style="color: #007800;">$tracemode</span>&quot;</span> = <span style="color: #ff0000;">&quot;x1&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> ; <span style="color: #000000; font-weight: bold;">then</span>
                        <span style="color: #c20cb9; font-weight: bold;">sudo</span> traceroute <span style="color: #660033;">-I</span> <span style="color: #660033;">-s</span> $<span style="color: #000000;">2</span> <span style="color: #007800;">$host</span>
                <span style="color: #000000; font-weight: bold;">else</span>
                        <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ping</span> <span style="color: #660033;">-S</span> $<span style="color: #000000;">2</span> <span style="color: #660033;">-c</span> <span style="color: #007800;">$pingcount</span> <span style="color: #007800;">$host</span>
                <span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
        <span style="color: #000000; font-weight: bold;">fi</span>
        <span style="color: #7a0874; font-weight: bold;">shift</span> <span style="color: #000000;">2</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2009/01/19/multiping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
