<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for SavvyAdmin.com</title>
	<atom:link href="http://savvyadmin.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://savvyadmin.com</link>
	<description>For savvy admins everywhere...</description>
	<lastBuildDate>Mon, 15 Feb 2010 01:46:23 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Convert 3gp Videos to XviD AVI by Links 14/2/2010: Linux 2.6.33 RC 8, New Android Platform &#124; Boycott Novell</title>
		<link>http://savvyadmin.com/convert-3gp-videos-to-xvid-avi/comment-page-1/#comment-917</link>
		<dc:creator>Links 14/2/2010: Linux 2.6.33 RC 8, New Android Platform &#124; Boycott Novell</dc:creator>
		<pubDate>Mon, 15 Feb 2010 01:46:23 +0000</pubDate>
		<guid isPermaLink="false">http://savvyadmin.com/?p=581#comment-917</guid>
		<description>[...] Convert 3gp Videos to XviD AVI [...]</description>
		<content:encoded><![CDATA[<p>[...] Convert 3gp Videos to XviD AVI [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on DenyHosts: Automated SSH Brute Force Response System by jeffatrackaid</title>
		<link>http://savvyadmin.com/denyhosts-automated-ssh-brute-force-response-system/comment-page-1/#comment-916</link>
		<dc:creator>jeffatrackaid</dc:creator>
		<pubDate>Sat, 13 Feb 2010 04:04:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/2007/09/02/denyhosts-automated-ssh-brute-force-response-system/#comment-916</guid>
		<description>I found it ... here&#039;s an old post about using botnets to defeat rate based tools.  
http://www.theregister.co.uk/2008/12/08/brute_force_ssh_attack/

This get&#039;s past both iptables and denyhost type approaches since they can trickle in the attacks from various bots.  And your right that&#039;s when port knocking and fwknop come in handy.</description>
		<content:encoded><![CDATA[<p>I found it &#8230; here&#8217;s an old post about using botnets to defeat rate based tools.<br />
<a href="http://www.theregister.co.uk/2008/12/08/brute_force_ssh_attack/" rel="nofollow">http://www.theregister.co.uk/2008/12/08/brute_force_ssh_attack/</a></p>
<p>This get&#8217;s past both iptables and denyhost type approaches since they can trickle in the attacks from various bots.  And your right that&#8217;s when port knocking and fwknop come in handy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on DenyHosts: Automated SSH Brute Force Response System by jeffatrackaid</title>
		<link>http://savvyadmin.com/denyhosts-automated-ssh-brute-force-response-system/comment-page-1/#comment-915</link>
		<dc:creator>jeffatrackaid</dc:creator>
		<pubDate>Sat, 13 Feb 2010 03:57:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/2007/09/02/denyhosts-automated-ssh-brute-force-response-system/#comment-915</guid>
		<description>Good points.  

1. I need to update one of my ssh posts. I typically set MaxAuthTries to 1 or 3 depending on the system to help with this. When possible, I get rid of password auth completely. 

2. I suspect the distributed monitoring is not as effective as people think. Yes, it sounds great but how many attacks do you actually block due to the pooled list?  I used to use Dsheilds in the capacity and stopped as I found it helped with less than 1% of the hits on a pool of 50 servers. I would love to see numbers on this but based on my own observations these distributed tools on the scale of DenyHosts are of limited value.

Now, I am a big fan of collating data within your own environment. I&#039;ve had great success with that approach due to the sequential scanning nature of many bots.



3. In case, I missed citing it, here&#039;s a good reference on attacking log tools:
http://www.ossec.net/main/attacking-log-analysis-tools
The point is that ssh does not sanitize log output, so using log analysis tools can introduce new vulnerabilities.

4. For those environments, I just use VPN and lock out public ssh access completely. 

Don&#039;t get me wrong, I like the concept of denyhosts, fail2ban and similar items, especially for shared hosting environments where end-user control is not well monitored. However, when these tools turn a potential security issue, e.g. weak password, into a known exploitable issue, I tend to leave them off of my systems.  For example, what if I spoof your DNS resolvers, google&#039;s IPs, hotmail, etc.  Targeting these IPs with injections could have serious impact to your operations.</description>
		<content:encoded><![CDATA[<p>Good points.  </p>
<p>1. I need to update one of my ssh posts. I typically set MaxAuthTries to 1 or 3 depending on the system to help with this. When possible, I get rid of password auth completely. </p>
<p>2. I suspect the distributed monitoring is not as effective as people think. Yes, it sounds great but how many attacks do you actually block due to the pooled list?  I used to use Dsheilds in the capacity and stopped as I found it helped with less than 1% of the hits on a pool of 50 servers. I would love to see numbers on this but based on my own observations these distributed tools on the scale of DenyHosts are of limited value.</p>
<p>Now, I am a big fan of collating data within your own environment. I&#8217;ve had great success with that approach due to the sequential scanning nature of many bots.</p>
<p>3. In case, I missed citing it, here&#8217;s a good reference on attacking log tools:<br />
<a href="http://www.ossec.net/main/attacking-log-analysis-tools" rel="nofollow">http://www.ossec.net/main/attacking-log-analysis-tools</a><br />
The point is that ssh does not sanitize log output, so using log analysis tools can introduce new vulnerabilities.</p>
<p>4. For those environments, I just use VPN and lock out public ssh access completely. </p>
<p>Don&#8217;t get me wrong, I like the concept of denyhosts, fail2ban and similar items, especially for shared hosting environments where end-user control is not well monitored. However, when these tools turn a potential security issue, e.g. weak password, into a known exploitable issue, I tend to leave them off of my systems.  For example, what if I spoof your DNS resolvers, google&#8217;s IPs, hotmail, etc.  Targeting these IPs with injections could have serious impact to your operations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on VirtualBox Wireless Bridging by Configurando un puente en la interfaz de red para las KVM en Linux Ubuntu 9.10 &#124; Jorge Iván Meza Martínez</title>
		<link>http://savvyadmin.com/virtualbox-wireless-bridging/comment-page-1/#comment-914</link>
		<dc:creator>Configurando un puente en la interfaz de red para las KVM en Linux Ubuntu 9.10 &#124; Jorge Iván Meza Martínez</dc:creator>
		<pubDate>Mon, 01 Feb 2010 03:29:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=101#comment-914</guid>
		<description>[...] Establecer un proxy ARP. http://savvyadmin.com/virtualbox-wireless-bridging/ [...]</description>
		<content:encoded><![CDATA[<p>[...] Establecer un proxy ARP. <a href="http://savvyadmin.com/virtualbox-wireless-bridging/" rel="nofollow">http://savvyadmin.com/virtualbox-wireless-bridging/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on DenyHosts: Automated SSH Brute Force Response System by gmendoza</title>
		<link>http://savvyadmin.com/denyhosts-automated-ssh-brute-force-response-system/comment-page-1/#comment-910</link>
		<dc:creator>gmendoza</dc:creator>
		<pubDate>Fri, 29 Jan 2010 19:29:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/2007/09/02/denyhosts-automated-ssh-brute-force-response-system/#comment-910</guid>
		<description>I do agree that rate limiting provides a very simple method of reducing risk of brute force attacks.  However, simply rate limiting new TCP connections is not the best solution to the problem.

1. By only looking at new connections, the scripts or attackers can attempt to enter a password up to the configured &quot;MaxAuthTries&quot; value configured on the ssh server.  e.g. If the server is configured for 5 password attempts (5 is the default), multiplied by the number of new connections, you get 15 password attempts in a minute time frame.  While a far cry from 100&#039;s or 1000&#039;s of password guesses, it still too many to be considered best practice IMO.

2. Rate limiting based on new connections doesn&#039;t have the added benefit of distributed behavioral pattern analysis.  DenyHosts for example obtains many thousands of reports on offending IP addresses from it&#039;s many thousands of clients around the globe.  This list is not simply &quot;ever growing&quot;, as there are configurable rules regarding entry tolerance and lifetime.

3. I agree that log analysis tools provide the platform for &quot;potentially&quot; one attack vector, as long as the application (in this case openssh) sanitizes log output, this risk is fairly low.  Plus, new connections from repeat offenders are blocked by the systems tcp wrappers, reducing the risk even lower since most connections are simply refused.

4. Both Log Analysis tools like DenyHosts simple IPTables rate-limiting do not prevent zero-day attacks against vulnerable openssh servers.  A much more secure method of protecting against application layer attacks is not even allowing ANY connection up the stack until the client has been authenticated by crypto system.  For that I recommend Fwknop for &quot;Single Packet Authorization&quot;.

http://cipherdyne.org/fwknop/

No crypto authentication, the port doesn&#039;t even respond as being open.  Thanks for your comments.  I also enjoyed your site.</description>
		<content:encoded><![CDATA[<p>I do agree that rate limiting provides a very simple method of reducing risk of brute force attacks.  However, simply rate limiting new TCP connections is not the best solution to the problem.</p>
<p>1. By only looking at new connections, the scripts or attackers can attempt to enter a password up to the configured &#8220;MaxAuthTries&#8221; value configured on the ssh server.  e.g. If the server is configured for 5 password attempts (5 is the default), multiplied by the number of new connections, you get 15 password attempts in a minute time frame.  While a far cry from 100&#8217;s or 1000&#8217;s of password guesses, it still too many to be considered best practice IMO.</p>
<p>2. Rate limiting based on new connections doesn&#8217;t have the added benefit of distributed behavioral pattern analysis.  DenyHosts for example obtains many thousands of reports on offending IP addresses from it&#8217;s many thousands of clients around the globe.  This list is not simply &#8220;ever growing&#8221;, as there are configurable rules regarding entry tolerance and lifetime.</p>
<p>3. I agree that log analysis tools provide the platform for &#8220;potentially&#8221; one attack vector, as long as the application (in this case openssh) sanitizes log output, this risk is fairly low.  Plus, new connections from repeat offenders are blocked by the systems tcp wrappers, reducing the risk even lower since most connections are simply refused.</p>
<p>4. Both Log Analysis tools like DenyHosts simple IPTables rate-limiting do not prevent zero-day attacks against vulnerable openssh servers.  A much more secure method of protecting against application layer attacks is not even allowing ANY connection up the stack until the client has been authenticated by crypto system.  For that I recommend Fwknop for &#8220;Single Packet Authorization&#8221;.</p>
<p><a href="http://cipherdyne.org/fwknop/" rel="nofollow">http://cipherdyne.org/fwknop/</a></p>
<p>No crypto authentication, the port doesn&#8217;t even respond as being open.  Thanks for your comments.  I also enjoyed your site.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on DenyHosts: Automated SSH Brute Force Response System by jeffatrackaid</title>
		<link>http://savvyadmin.com/denyhosts-automated-ssh-brute-force-response-system/comment-page-1/#comment-908</link>
		<dc:creator>jeffatrackaid</dc:creator>
		<pubDate>Thu, 28 Jan 2010 00:53:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/2007/09/02/denyhosts-automated-ssh-brute-force-response-system/#comment-908</guid>
		<description>I used to use denyhost (and even supported them for a bit), but I&#039;ve found that log analysis tools are subject to exploit.  Attackers can use a tool like netcat to inject strings into your logs.  These strings then get picked up by tools like DenyHosts and other log scanners.  When they pick up these strings they block the IP supplied by the attacker.  

I&#039;ve since turned to using IPtables to rate limit connections. 
http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/</description>
		<content:encoded><![CDATA[<p>I used to use denyhost (and even supported them for a bit), but I&#8217;ve found that log analysis tools are subject to exploit.  Attackers can use a tool like netcat to inject strings into your logs.  These strings then get picked up by tools like DenyHosts and other log scanners.  When they pick up these strings they block the IP supplied by the attacker.  </p>
<p>I&#8217;ve since turned to using IPtables to rate limit connections.<br />
<a href="http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/" rel="nofollow">http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Create Encrypted CD&#8217;s and DVD&#8217;s in Linux by gmendoza</title>
		<link>http://savvyadmin.com/create-encrypted-cds-and-dvds-in-linux/comment-page-1/#comment-905</link>
		<dc:creator>gmendoza</dc:creator>
		<pubDate>Mon, 25 Jan 2010 03:00:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=288#comment-905</guid>
		<description>Cool!  You&#039;re welcome!  :-)</description>
		<content:encoded><![CDATA[<p>Cool!  You&#8217;re welcome!  :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Create Encrypted CD&#8217;s and DVD&#8217;s in Linux by GDad</title>
		<link>http://savvyadmin.com/create-encrypted-cds-and-dvds-in-linux/comment-page-1/#comment-904</link>
		<dc:creator>GDad</dc:creator>
		<pubDate>Mon, 25 Jan 2010 01:01:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=288#comment-904</guid>
		<description>You are, as they say in the old country, da man.  Thank you for the well-written and easy-to-follow instructions.</description>
		<content:encoded><![CDATA[<p>You are, as they say in the old country, da man.  Thank you for the well-written and easy-to-follow instructions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Word War Vi in Ubuntu by Word War Vi in Ubuntu &#124; SavvyAdmin.com Ubuntu Netbook</title>
		<link>http://savvyadmin.com/word-war-vi-in-ubuntu/comment-page-1/#comment-902</link>
		<dc:creator>Word War Vi in Ubuntu &#124; SavvyAdmin.com Ubuntu Netbook</dc:creator>
		<pubDate>Sun, 17 Jan 2010 03:32:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=179#comment-902</guid>
		<description>[...] posted here: Word War Vi in Ubuntu &#124; SavvyAdmin.com          By admin &#124; category: Uncategorized &#124; tags: and-requirements-, but-compiling, get-the, [...]</description>
		<content:encoded><![CDATA[<p>[...] posted here: Word War Vi in Ubuntu | SavvyAdmin.com          By admin | category: Uncategorized | tags: and-requirements-, but-compiling, get-the, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Backup and Restore Package Lists in Ubuntu by Backup and Restore Package Lists in Ubuntu &#124; SavvyAdmin.com Ubuntu Netbook</title>
		<link>http://savvyadmin.com/backup-and-restore-package-lists-in-ubuntu/comment-page-1/#comment-901</link>
		<dc:creator>Backup and Restore Package Lists in Ubuntu &#124; SavvyAdmin.com Ubuntu Netbook</dc:creator>
		<pubDate>Sun, 17 Jan 2010 03:31:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=254#comment-901</guid>
		<description>[...] here: Backup and Restore Package Lists in Ubuntu &#124; SavvyAdmin.com          By admin &#124; category: Uncategorized &#124; tags: all-the, aur, based-platform-, for-some, [...]</description>
		<content:encoded><![CDATA[<p>[...] here: Backup and Restore Package Lists in Ubuntu | SavvyAdmin.com          By admin | category: Uncategorized | tags: all-the, aur, based-platform-, for-some, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Add Stereo Audio Tracks to MKV Files by Saran</title>
		<link>http://savvyadmin.com/add-stereo-audio-tracks-to-mkv-files/comment-page-1/#comment-869</link>
		<dc:creator>Saran</dc:creator>
		<pubDate>Thu, 31 Dec 2009 10:07:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=403#comment-869</guid>
		<description>The script looks fine, gmendoza :)

Why I started fiddling with script is to actually automate the process as much as possible and as many movies as possible, so this way that requires much user interaction is no good (for me). I&#039;m sure I&#039;ll try/use it for single file conversions :)</description>
		<content:encoded><![CDATA[<p>The script looks fine, gmendoza :)</p>
<p>Why I started fiddling with script is to actually automate the process as much as possible and as many movies as possible, so this way that requires much user interaction is no good (for me). I&#8217;m sure I&#8217;ll try/use it for single file conversions :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Word War Vi in Ubuntu by Destillat 31-12-2009 &#124; duetsch.info - Open Source, Wet-, Web-, Software</title>
		<link>http://savvyadmin.com/word-war-vi-in-ubuntu/comment-page-1/#comment-868</link>
		<dc:creator>Destillat 31-12-2009 &#124; duetsch.info - Open Source, Wet-, Web-, Software</dc:creator>
		<pubDate>Thu, 31 Dec 2009 09:37:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=179#comment-868</guid>
		<description>[...] Word War Vi in Ubuntu [...]</description>
		<content:encoded><![CDATA[<p>[...] Word War Vi in Ubuntu [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Add Stereo Audio Tracks to MKV Files by gmendoza</title>
		<link>http://savvyadmin.com/add-stereo-audio-tracks-to-mkv-files/comment-page-1/#comment-867</link>
		<dc:creator>gmendoza</dc:creator>
		<pubDate>Thu, 31 Dec 2009 07:21:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=403#comment-867</guid>
		<description>Saran, yes indeed.  Have a look at the script I&#039;ve been using.  Keep in mind that it can be improved a great deal by adding some input validation, subtitle prompts, and post processing cleanup of temp wav and mp3 files.  And of course, the dialogue makes sense to me, but for new users, it can probably be a little complicated.  :-)

I call it mkmkv.sh, but feel free to call it whatever you like.  It relies only on a single argument (the video file name), and just make sure to invoke the script from the same directory as the video file.

&lt;blockquote&gt;&lt;code&gt;&lt;strong&gt;cd /path/to/mkv-dir/
mkmkv.sh filename.mkv&lt;/strong&gt;&lt;/code&gt;&lt;/blockquote&gt;

&lt;pre lang=&quot;bash&quot;&gt;#!/bin/bash
MP3=&quot;${1}.mp3&quot;
WAV=&quot;${1}.wav&quot;

echo &quot;&quot;
echo &quot;Identifying Video File: \&quot;$1\&quot;&quot;
echo &quot;&quot;

ffmpeg -i &quot;$1&quot; 2&gt;&amp;1 &#124; grep &quot;Audio&quot;

echo &quot;&quot;
echo &quot;Which audio track do you wish to convert to Stereo MP3?&quot;
read -p &quot;Enter desired FFmpeg audio stream ID in X:Y format: &quot; STREAM
echo &quot;&quot;
echo &quot;Identifying MKV Track ID&#039;s...&quot;
echo &quot;&quot;

mkvmerge -i &quot;$1&quot;

echo &quot;&quot;
read -p &quot;Enter Video ID to be Included: &quot; VID
read -p &quot;Enter Video ID $VID Description: &quot; VDESC
echo &quot;&quot;
read -p &quot;Enter Audio ID to be Included: &quot; AID
read -p &quot;Enter Audio ID $AID Description: &quot; ADESC
echo &quot;&quot;
read -p &quot;Enter name for your NEW MKV file (e.g. movie.mkv): &quot; OUTPUT
echo &quot;&quot;
echo &quot;&quot;
echo &quot;Verify proposed mkvmerge command...&quot;
echo &quot;&quot;
echo &quot;\&quot;mkvmerge\&quot; -o \&quot;$OUTPUT\&quot; --language $VID:eng --track-name \&quot;$VID:$VDESC\&quot; --default-track $VID:yes --language $AID:eng --track-name \&quot;$AID:$ADESC\&quot; --default-track $AID:yes -a $AID -d $VID -S \&quot;$1\&quot; --language 0:eng --track-name \&quot;0:English Stereo MP3\&quot; --default-track 0:no -a 0 -D -S \&quot;$MP3\&quot; --track-order 0:$VID,0:$AID,1:0&quot;

echo &quot;&quot;
read -p &quot;Ctrl+C to cancel, or ENTER to continue.&quot;

echo &quot;&quot;
echo &quot;Running command: ffmpeg -i \&quot;$1\&quot; -map $STREAM -acodec pcm_s16le -ac 2 \&quot;$WAV\&quot;&quot;
ffmpeg -i &quot;$1&quot; -map $STREAM -acodec pcm_s16le -ac 2 &quot;$WAV&quot;

echo &quot;&quot;
echo &quot;Running command: lame -V0 -q0 --vbr-new \&quot;$WAV\&quot; \&quot;$MP3\&quot;&quot;
lame -V0 -q0 --vbr-new &quot;$WAV&quot; &quot;$MP3&quot;

echo &quot;&quot;
echo &quot;Running mkvmerge...&quot;
echo &quot;&quot;
&quot;mkvmerge&quot; -o &quot;$OUTPUT&quot; \
--language $VID:eng \
--track-name &quot;$VID:$VDESC&quot; \
--default-track $VID:yes \
--language $AID:eng \
--track-name &quot;$AID:$ADESC&quot; \
--default-track $AID:yes \
-a $AID -d $VID -S &quot;$1&quot; \
--language 0:eng \
--track-name &quot;0:English Stereo MP3&quot; \
--default-track 0:no \
-a 0 -D -S &quot;$MP3&quot; \
--track-order 0:$VID,0:$AID,1:0
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Saran, yes indeed.  Have a look at the script I&#8217;ve been using.  Keep in mind that it can be improved a great deal by adding some input validation, subtitle prompts, and post processing cleanup of temp wav and mp3 files.  And of course, the dialogue makes sense to me, but for new users, it can probably be a little complicated.  :-)</p>
<p>I call it mkmkv.sh, but feel free to call it whatever you like.  It relies only on a single argument (the video file name), and just make sure to invoke the script from the same directory as the video file.</p>
<blockquote><p><code><strong>cd /path/to/mkv-dir/<br />
mkmkv.sh filename.mkv</strong></code></p></blockquote>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">MP3</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${1}</span>.mp3&quot;</span>
<span style="color: #007800;">WAV</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${1}</span>.wav&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Identifying Video File: <span style="color: #000099; font-weight: bold;">\&quot;</span>$1<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">ffmpeg</span> <span style="color: #660033;">-i</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">&quot;Audio&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Which audio track do you wish to convert to Stereo MP3?&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Enter desired FFmpeg audio stream ID in X:Y format: &quot;</span> STREAM
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Identifying MKV Track ID's...&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;
mkvmerge <span style="color: #660033;">-i</span> <span style="color: #ff0000;">&quot;$1&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Enter Video ID to be Included: &quot;</span> VID
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Enter Video ID <span style="color: #007800;">$VID</span> Description: &quot;</span> VDESC
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Enter Audio ID to be Included: &quot;</span> AID
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Enter Audio ID <span style="color: #007800;">$AID</span> Description: &quot;</span> ADESC
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Enter name for your NEW MKV file (e.g. movie.mkv): &quot;</span> OUTPUT
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Verify proposed mkvmerge command...&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>mkvmerge<span style="color: #000099; font-weight: bold;">\&quot;</span> -o <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$OUTPUT</span><span style="color: #000099; font-weight: bold;">\&quot;</span> --language <span style="color: #007800;">$VID</span>:eng --track-name <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$VID</span>:<span style="color: #007800;">$VDESC</span><span style="color: #000099; font-weight: bold;">\&quot;</span> --default-track <span style="color: #007800;">$VID</span>:yes --language <span style="color: #007800;">$AID</span>:eng --track-name <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$AID</span>:<span style="color: #007800;">$ADESC</span><span style="color: #000099; font-weight: bold;">\&quot;</span> --default-track <span style="color: #007800;">$AID</span>:yes -a <span style="color: #007800;">$AID</span> -d <span style="color: #007800;">$VID</span> -S <span style="color: #000099; font-weight: bold;">\&quot;</span>$1<span style="color: #000099; font-weight: bold;">\&quot;</span> --language 0:eng --track-name <span style="color: #000099; font-weight: bold;">\&quot;</span>0:English Stereo MP3<span style="color: #000099; font-weight: bold;">\&quot;</span> --default-track 0:no -a 0 -D -S <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$MP3</span><span style="color: #000099; font-weight: bold;">\&quot;</span> --track-order 0:<span style="color: #007800;">$VID</span>,0:<span style="color: #007800;">$AID</span>,1:0&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Ctrl+C to cancel, or ENTER to continue.&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Running command: ffmpeg -i <span style="color: #000099; font-weight: bold;">\&quot;</span>$1<span style="color: #000099; font-weight: bold;">\&quot;</span> -map <span style="color: #007800;">$STREAM</span> -acodec pcm_s16le -ac 2 <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$WAV</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">ffmpeg</span> <span style="color: #660033;">-i</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #660033;">-map</span> <span style="color: #007800;">$STREAM</span> <span style="color: #660033;">-acodec</span> pcm_s16le <span style="color: #660033;">-ac</span> <span style="color: #000000;">2</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$WAV</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Running command: lame -V0 -q0 --vbr-new <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$WAV</span><span style="color: #000099; font-weight: bold;">\&quot;</span> <span style="color: #000099; font-weight: bold;">\&quot;</span><span style="color: #007800;">$MP3</span><span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>
<span style="color: #c20cb9; font-weight: bold;">lame</span> <span style="color: #660033;">-V0</span> <span style="color: #660033;">-q0</span> <span style="color: #660033;">--vbr-new</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$WAV</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$MP3</span>&quot;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Running mkvmerge...&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
<span style="color: #ff0000;">&quot;mkvmerge&quot;</span> <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$OUTPUT</span>&quot;</span> \
<span style="color: #660033;">--language</span> <span style="color: #007800;">$VID</span>:eng \
<span style="color: #660033;">--track-name</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$VID</span>:<span style="color: #007800;">$VDESC</span>&quot;</span> \
<span style="color: #660033;">--default-track</span> <span style="color: #007800;">$VID</span>:<span style="color: #c20cb9; font-weight: bold;">yes</span> \
<span style="color: #660033;">--language</span> <span style="color: #007800;">$AID</span>:eng \
<span style="color: #660033;">--track-name</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$AID</span>:<span style="color: #007800;">$ADESC</span>&quot;</span> \
<span style="color: #660033;">--default-track</span> <span style="color: #007800;">$AID</span>:<span style="color: #c20cb9; font-weight: bold;">yes</span> \
<span style="color: #660033;">-a</span> <span style="color: #007800;">$AID</span> <span style="color: #660033;">-d</span> <span style="color: #007800;">$VID</span> <span style="color: #660033;">-S</span> <span style="color: #ff0000;">&quot;$1&quot;</span> \
<span style="color: #660033;">--language</span> <span style="color: #000000;">0</span>:eng \
<span style="color: #660033;">--track-name</span> <span style="color: #ff0000;">&quot;0:English Stereo MP3&quot;</span> \
<span style="color: #660033;">--default-track</span> <span style="color: #000000;">0</span>:no \
<span style="color: #660033;">-a</span> <span style="color: #000000;">0</span> <span style="color: #660033;">-D</span> <span style="color: #660033;">-S</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$MP3</span>&quot;</span> \
<span style="color: #660033;">--track-order</span> <span style="color: #000000;">0</span>:<span style="color: #007800;">$VID</span>,<span style="color: #000000;">0</span>:<span style="color: #007800;">$AID</span>,<span style="color: #000000;">1</span>:<span style="color: #000000;">0</span></pre></div></div>

]]></content:encoded>
	</item>
	<item>
		<title>Comment on Add Stereo Audio Tracks to MKV Files by Saran</title>
		<link>http://savvyadmin.com/add-stereo-audio-tracks-to-mkv-files/comment-page-1/#comment-863</link>
		<dc:creator>Saran</dc:creator>
		<pubDate>Wed, 30 Dec 2009 15:35:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=403#comment-863</guid>
		<description>Thanks, gmendoza :)

I was, too, aware that such simple script can&#039;t cover all aspects, but for me it does cover 90% of mkvs :)

As you surely know, this line does ripping of audio:

 ffmpeg -i $1 -acodec pcm_s16le -ac 2 audio.wav

and (as you also surely know) with this command you can inspect the streams:

  ffmpeg -i 

Example result:

    Stream #0.0(eng): Video: h264, yuv420p, 1280x720, PAR 1:1 DAR 16:9, 24 tbr, 1k tbn, 47.95 tbc
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16
    Stream #0.2(eng): Audio: dca, 48000 Hz, 5.1, s16

So, you just need to add this to choose a different (in this case, the 3rd, dts) stream:

 -map 0.2

Solution: add another input parameter for script specifying the audio stream mapping (tho you have to check the file beforehand with ffmpeg -i ).


It just depends on the number of files you are working on so it can turn out that u spent more time on script than you would on converting each file manually (via e.g. gui) :)
But at least we polish our scripting skillz ;)</description>
		<content:encoded><![CDATA[<p>Thanks, gmendoza :)</p>
<p>I was, too, aware that such simple script can&#8217;t cover all aspects, but for me it does cover 90% of mkvs :)</p>
<p>As you surely know, this line does ripping of audio:</p>
<p> ffmpeg -i $1 -acodec pcm_s16le -ac 2 audio.wav</p>
<p>and (as you also surely know) with this command you can inspect the streams:</p>
<p>  ffmpeg -i </p>
<p>Example result:</p>
<p>    Stream #0.0(eng): Video: h264, yuv420p, 1280&#215;720, PAR 1:1 DAR 16:9, 24 tbr, 1k tbn, 47.95 tbc<br />
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16<br />
    Stream #0.2(eng): Audio: dca, 48000 Hz, 5.1, s16</p>
<p>So, you just need to add this to choose a different (in this case, the 3rd, dts) stream:</p>
<p> -map 0.2</p>
<p>Solution: add another input parameter for script specifying the audio stream mapping (tho you have to check the file beforehand with ffmpeg -i ).</p>
<p>It just depends on the number of files you are working on so it can turn out that u spent more time on script than you would on converting each file manually (via e.g. gui) :)<br />
But at least we polish our scripting skillz ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Add Stereo Audio Tracks to MKV Files by gmendoza</title>
		<link>http://savvyadmin.com/add-stereo-audio-tracks-to-mkv-files/comment-page-1/#comment-861</link>
		<dc:creator>gmendoza</dc:creator>
		<pubDate>Wed, 30 Dec 2009 10:21:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=403#comment-861</guid>
		<description>Very nice Saran.  I too ended up creating an automation script, but did not publish it for the simple reason that it would get complicated trying to make it versatile enough for just about any source MKV file I come across.

For example, many of my MKV&#039;s have multiple audio tracks, and the default isn&#039;t always English.  So simply running ffmpeg without specifying which to use, might cause ffmpeg to pull the wrong source audio track.  Also, many foreign movies end up needing subtitle tracks, and excluding them all by default can suck.  :-)  Again, choosing the right one when there are multiple subtitle tracks is also important.

It will take some work, but you&#039;ve inspired me to get a public version going.  Thanks again!</description>
		<content:encoded><![CDATA[<p>Very nice Saran.  I too ended up creating an automation script, but did not publish it for the simple reason that it would get complicated trying to make it versatile enough for just about any source MKV file I come across.</p>
<p>For example, many of my MKV&#8217;s have multiple audio tracks, and the default isn&#8217;t always English.  So simply running ffmpeg without specifying which to use, might cause ffmpeg to pull the wrong source audio track.  Also, many foreign movies end up needing subtitle tracks, and excluding them all by default can suck.  :-)  Again, choosing the right one when there are multiple subtitle tracks is also important.</p>
<p>It will take some work, but you&#8217;ve inspired me to get a public version going.  Thanks again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Bash User Input Validation by gmendoza</title>
		<link>http://savvyadmin.com/bash-user-input-validation/comment-page-1/#comment-860</link>
		<dc:creator>gmendoza</dc:creator>
		<pubDate>Wed, 30 Dec 2009 09:48:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=62#comment-860</guid>
		<description>@Pawan Jaitly:  Thanks for your input.  I&#039;ll add the Bash method as it certainly is the simplest method!</description>
		<content:encoded><![CDATA[<p>@Pawan Jaitly:  Thanks for your input.  I&#8217;ll add the Bash method as it certainly is the simplest method!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Download PGP Keys with Apt-key by Chris S</title>
		<link>http://savvyadmin.com/download-pgp-keys-with-apt-key/comment-page-1/#comment-859</link>
		<dc:creator>Chris S</dc:creator>
		<pubDate>Tue, 29 Dec 2009 20:21:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=463#comment-859</guid>
		<description>Also you can import keys using seahorse. Select menu Application, Accessories, Passwords and Encryption keys. 

Use the Find Remote keys and paste in the ID. After it finds it click Import.

First time you do this you likely need to select Preferences to add the keyserver.ubuntu.com:11371 as the default keyserver to use. I know for me it was not in there by default.</description>
		<content:encoded><![CDATA[<p>Also you can import keys using seahorse. Select menu Application, Accessories, Passwords and Encryption keys. </p>
<p>Use the Find Remote keys and paste in the ID. After it finds it click Import.</p>
<p>First time you do this you likely need to select Preferences to add the keyserver.ubuntu.com:11371 as the default keyserver to use. I know for me it was not in there by default.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Add Stereo Audio Tracks to MKV Files by Saran</title>
		<link>http://savvyadmin.com/add-stereo-audio-tracks-to-mkv-files/comment-page-1/#comment-854</link>
		<dc:creator>Saran</dc:creator>
		<pubDate>Sun, 27 Dec 2009 15:32:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/?p=403#comment-854</guid>
		<description>Here&#039;s a simple script to automate the AC3-&gt;WAV-&gt;MP3-&gt;MVK process:

#!/bin/bash
echo
echo $1
echo
mkvmerge -i $1

echo
echo &quot;####### STARTING AUDIO EXTRACTION #######&quot;
echo
ffmpeg -i $1 -acodec pcm_s16le -ac 2 audio.wav

echo
echo &quot;####### COMPRESSING AUDIO #######&quot;
echo
lame -V0 -q0 --vbr-new audio.wav audio.mp3

echo
echo &quot;####### APPENDING AUDIO TO CONTAINER #######&quot;
echo
mkvmerge -o new.$1 \
$1 \
--language 0:eng \
--track-name &quot;0:2-Channel Stereo (MP3)&quot; \
--default-track 0:yes \
-a 0 -D -S audio.mp3 \

echo
echo new.$1
echo
mkvmerge -i new.$1







Just call it from (unix) command line with mkv filename as argument.</description>
		<content:encoded><![CDATA[<p>Here&#8217;s a simple script to automate the AC3-&gt;WAV-&gt;MP3-&gt;MVK process:</p>
<p>#!/bin/bash<br />
echo<br />
echo $1<br />
echo<br />
mkvmerge -i $1</p>
<p>echo<br />
echo &#8220;####### STARTING AUDIO EXTRACTION #######&#8221;<br />
echo<br />
ffmpeg -i $1 -acodec pcm_s16le -ac 2 audio.wav</p>
<p>echo<br />
echo &#8220;####### COMPRESSING AUDIO #######&#8221;<br />
echo<br />
lame -V0 -q0 &#8211;vbr-new audio.wav audio.mp3</p>
<p>echo<br />
echo &#8220;####### APPENDING AUDIO TO CONTAINER #######&#8221;<br />
echo<br />
mkvmerge -o new.$1 \<br />
$1 \<br />
&#8211;language 0:eng \<br />
&#8211;track-name &#8220;0:2-Channel Stereo (MP3)&#8221; \<br />
&#8211;default-track 0:yes \<br />
-a 0 -D -S audio.mp3 \</p>
<p>echo<br />
echo new.$1<br />
echo<br />
mkvmerge -i new.$1</p>
<p>Just call it from (unix) command line with mkv filename as argument.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Batch MP3 Encoding with Linux and LAME by Hennie</title>
		<link>http://savvyadmin.com/batch-mp3-encoding-with-linux-and-lame/comment-page-1/#comment-822</link>
		<dc:creator>Hennie</dc:creator>
		<pubDate>Sat, 19 Dec 2009 18:51:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/2007/12/02/batch-mp3-encoding-with-linux-and-lame/#comment-822</guid>
		<description>Hello,

I think this little piece of script solve&#039;s *.cdda.wav to *.mp3 problem at one&#039;s;

for f in *.wav ; do AUFILE=`echo &quot;$f&quot; &#124; sed &#039;s/.cdda.wav/.mp3/g&#039;` ; lame $f $AUFILE ; done</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>I think this little piece of script solve&#8217;s *.cdda.wav to *.mp3 problem at one&#8217;s;</p>
<p>for f in *.wav ; do AUFILE=`echo &#8220;$f&#8221; | sed &#8217;s/.cdda.wav/.mp3/g&#8217;` ; lame $f $AUFILE ; done</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Batch MP3 Encoding with Linux and LAME by Liam</title>
		<link>http://savvyadmin.com/batch-mp3-encoding-with-linux-and-lame/comment-page-1/#comment-820</link>
		<dc:creator>Liam</dc:creator>
		<pubDate>Fri, 18 Dec 2009 11:25:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.savvyadmin.com/2007/12/02/batch-mp3-encoding-with-linux-and-lame/#comment-820</guid>
		<description>Thanks very much! I was looking for a solution to batch converting an album to a new folder.

In the end I used the following two lines:
$ mkdir new
$ for f in *.mp3 ; do lame --preset standard &quot;$f&quot; &quot;new/$f&quot; ; done</description>
		<content:encoded><![CDATA[<p>Thanks very much! I was looking for a solution to batch converting an album to a new folder.</p>
<p>In the end I used the following two lines:<br />
$ mkdir new<br />
$ for f in *.mp3 ; do lame &#8211;preset standard &#8220;$f&#8221; &#8220;new/$f&#8221; ; done</p>
]]></content:encoded>
	</item>
</channel>
</rss>
