<?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>delx &#187; tv</title>
	<atom:link href="http://delx.net.au/blog/tag/tv/feed/" rel="self" type="application/rss+xml" />
	<link>http://delx.net.au/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 07 Jan 2012 06:37:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SBS Downloader in Python</title>
		<link>http://delx.net.au/blog/2011/05/sbs-downloader-in-python/</link>
		<comments>http://delx.net.au/blog/2011/05/sbs-downloader-in-python/#comments</comments>
		<pubDate>Tue, 10 May 2011 13:33:35 +0000</pubDate>
		<dc:creator>delx</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://delx.net.au/blog/?p=260</guid>
		<description><![CDATA[Just wrote a simple downloader script for SBS&#8217;s website. The SBS Player interface is all in flash and is very hard to use on my TV, so this script lets me download the stuff I&#8217;m interested in and play it however/whenever I want. It has a simple command line interface and requires that you already [...]]]></description>
			<content:encoded><![CDATA[<p>Just wrote a simple downloader script for SBS&#8217;s website. The <a href="http://player.sbs.com.au/programs">SBS Player</a> interface is all in flash and is very hard to use on my TV, so this script lets me download the stuff I&#8217;m interested in and play it however/whenever I want.</p>
<p>It has a simple command line interface and requires that you already have rtmpdump on your path. Get the <a href="http://delx.net.au/hg/jamesstuff/raw-file/tip/ripping/sbs-downloader">sbs-downloader</a> script here.</p>
<p><span id="more-260"></span></p>
<p>Usage example:<br />
<code><br />
$ sbs-downloader<br />
...<br />
 10) Documentary<br />
...<br />
 41) mY generation<br />
 0) Back<br />
Choose> <strong>10</strong><br />
 1) Designer People Ep 11 - Young Baek Min<br />
 2) Designer People Ep 12<br />
 3) Destination Australia - A Family Divided Full Ep<br />
 4) Empire of the Seas Ep 4<br />
 5) Gaddafi - Our Best Enemy Full Ep<br />
....<br />
 0) Back<br />
Choose> <strong>3 5</strong><br />
RTMPDump v2.3<br />
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL<br />
Connecting ...<br />
INFO: Connected...<br />
Starting download at: 0.000 kB<br />
....<br />
</code></p>
<p>The bolded parts are what you type. Note that you can go back on any screen by typing &#8220;0&#8243;. Also at the list of episodes you can download a single episode by typing one number, or multiple episodes by typing several numbers separated by spaces.</p>
]]></content:encoded>
			<wfw:commentRss>http://delx.net.au/blog/2011/05/sbs-downloader-in-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TV, Audio, Video &amp; Computer Cable Pictures</title>
		<link>http://delx.net.au/blog/2011/02/tv-audio-video-computer-cable-pictures/</link>
		<comments>http://delx.net.au/blog/2011/02/tv-audio-video-computer-cable-pictures/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 08:44:23 +0000</pubDate>
		<dc:creator>delx</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[cables]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://delx.net.au/blog/?p=215</guid>
		<description><![CDATA[I often find that many people have trouble distinguishing the many different kinds of cables that are commonly used in TVs and computers today. There are so many types, some of which do the same or similar tasks and have adaptors to go to and from each other. So, read on for a bunch of [...]]]></description>
			<content:encoded><![CDATA[<p>I often find that many people have trouble distinguishing the many different kinds of cables that are commonly used in TVs and computers today. There are so many types, some of which do the same or similar tasks and have adaptors to go to and from each other. So, read on for a bunch of pictures and descriptions.</p>
<p><span id="more-215"></span></p>
<h4>USB</h4>
<p><div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/USB-300x220.gif" alt="USB" /><p class="wp-caption-text">USB</p></div><br />
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/USB-micro-300x225.jpg" alt="MicroUSB" /><p class="wp-caption-text">MicroUSB</p></div><br />
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/USB-mini-300x196.jpg" alt="MiniUSB" /><p class="wp-caption-text">MiniUSB</p></div></p>
<p>Everybody will have seen used a <a href="http://en.wikipedia.org/wiki/Usb">USB</a> cable. These cables are very multi-purpose:</p>
<ul>
<li>Simple charging; many new phones now charge over MicroUSB or MiniUSB. They are also often used as chargers for many other gadgets like cheap remote control helicopters. Note that due to protocol issues not all chargers will work with all devices.</li>
<li>File storage; mobile phones, cameras, memory card readers, thumbdrives, external hard drives all usually make their contents accessible using the standard USB mass-storage protocol.</li>
<li>Input devices; all modern keyboards, mice, gamepads, etc work over standard USB protocols so they should work on any computer.</li>
<li>Many other things, such as 3g modems, mobile phone synchronisation, etc</li>
</ul>
<h4>Audio &#038; Video Cables</h4>
<p><div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/35mm-Audio-300x300.jpg" alt="3.5mm Audio" /><p class="wp-caption-text">3.5mm Audio</p></div><br />
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/RCA-Audio.jpg" alt="RCA-Audio" /><p class="wp-caption-text">RCA-Audio</p></div></p>
<p>A <a href="http://en.wikipedia.org/wiki/TRS_connector">3.5mm audio cable</a> is the standard audio jack that you use for earphones and many analogue audio signals. Most mp3 players, stereo systems and even many cars have a 3.5mm audio socket which you can connect to headphones or speakers.</p>
<p><a href="http://en.wikipedia.org/wiki/Rca_cable">RCA cables</a> are fairly multi-purpose, in the picture it is a 3.5mm audio cable on one end and two RCA cables on the other. Many TVs and some speakers take two RCA cables for a stereo audio signal so this adaptor is useful.</p>
<h4>RCA Video/Audio</h4>
<p><div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/RCA-Composite-300x273.jpg" alt="Composite Video/Audio (RCA)" /><p class="wp-caption-text">Composite Video/Audio (RCA)</p></div><br />
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/RCA-Component-300x300.jpg" alt="Component Video/Audio (RCA)" /><p class="wp-caption-text">Component Video/Audio (RCA)</p></div></p>
<p>You&#8217;ll notice that these are the some plugs as the RCA cables pictured for audio above. That&#8217;s because they&#8217;re exactly the same. A <a href="http://en.wikipedia.org/wiki/Composite_video">composite RCA cable</a> has two audio cables, for left &#038; right stereo, and one for the entire video signal. This is a fairly low quality, but very ubiquitous analogue video cable.</p>
<p>A <a href="http://en.wikipedia.org/wiki/Component_video">component RCA cable</a> is a much higher quality analogue cable. Once again it has two audio cables, but it has three video cables, one for the red, green and blue signals respectively. Note that the colours here are only a guide, each plug is exactly the same as the other, so if you swap the red with blue on both the source and destination everything will be fine.</p>
<h4>TV Aerial, Radio Frequency (RF)</h4>
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/RF.jpg" alt="RF" /><p class="wp-caption-text">RF</p></div>
<p>These used to be the only cable plugged into the back of a TV (besides power). It&#8217;s most commonly used to connect a TV receiver or tuner of some kind to an aerial that picks up a TV signal. This can be a digital or analogue TV signal and carries more than one channel of audio &#038; video all mixed together on different frequencies so you need a tuner to process it. Most TVs have a tuner built in.</p>
<h4>Digital Video/Audio</h4>
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/HDMI.jpg" alt="HDMI" /><p class="wp-caption-text">HDMI</p></div>
<p><a href="http://en.wikipedia.org/wiki/Hdmi">HDMI</a> is fast becoming the new standard for digital video &#038; audio to connect TVs to DVD players, game consoles, etc. It carries a very high quality signal.</p>
<h4>Computer Video</h4>
<p><div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/HDMI-DVI-300x200.jpg" alt="HDMI-DVI" /><p class="wp-caption-text">HDMI-DVI</p></div><br />
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/VGA-300x225.jpg" alt="VGA" /><p class="wp-caption-text">VGA</p></div></p>
<p>These are used to connect computers to a monitor. <a href="http://en.wikipedia.org/wiki/VGA_connector">VGA</a> is an analogue signal, but still usually decent quality. <a href="http://en.wikipedia.org/wiki/DVI_connector">DVI</a> has two forms, DVI-A (analogue) and DVI-D (digital). DVI-A is the same signal as VGA, so you can get a simple cheap adaptor between the two. DVI-D is the same signal as HDMI, so the same thing applies. A DVI-HDMI cable is pictured above. There&#8217;s also DVI-I that carries both signals at once.</p>
<h4>Networking</h4>
<p><div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/RJ12.jpg" alt="RJ12" /><p class="wp-caption-text">RJ12</p></div><br />
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/RJ45.jpg" alt="RJ45" /><p class="wp-caption-text">RJ45</p></div></p>
<p>RJ12 cables are usually phone cables. They&#8217;re used to connect a plain old analogue telephone to the wall, or an ADSL modem to the wall. RJ45 connectors usually appear on <a href="http://en.wikipedia.org/wiki/Ethernet">ethernet</a> cables, which are used for computer networking.</p>
<h4>eSATA</h4>
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/eSATA-300x244.jpg" alt="eSATA" /><p class="wp-caption-text">eSATA</p></div>
<p><a href="http://en.wikipedia.org/wiki/Serial_ATA#eSATA">eSATA</a> is a neat way to connect hard drives to your computer. It makes an external hard drive just as fast as an internal one, unlike USB hard drives which are much slower.</p>
<h4>Firewire</h4>
<div class="wp-caption alignnone" style="width: 310px"><img src="/blog/wp-content/uploads/2011/02/Firewire-300x225.jpg" alt="Firewire" /><p class="wp-caption-text">Firewire</p></div>
<p><a href="http://en.wikipedia.org/wiki/Firewire">Firewire</a>, more formally known as &#8216;IEEE 1394&#8242; is less common than USB, but serves many of the same purposes. File storage, video cameras, audio devices. It has higher data capacity, but is less common and so usually more expensive.</p>
]]></content:encoded>
			<wfw:commentRss>http://delx.net.au/blog/2011/02/tv-audio-video-computer-cable-pictures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who wants Hulu?</title>
		<link>http://delx.net.au/blog/2009/03/who-wants-hulu/</link>
		<comments>http://delx.net.au/blog/2009/03/who-wants-hulu/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 13:15:37 +0000</pubDate>
		<dc:creator>delx</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[censorship]]></category>
		<category><![CDATA[hulu]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://delx.net.au/blog/?p=128</guid>
		<description><![CDATA[This guide is out of date! Please see the new guide here: Hulu and Pandora outside USA Hulu is a website that offers commercial-supported streaming video of TV shows and movies from NBC, Fox and many other networks and studios. Currently Hulu is only available from within the United States of America. If you want [...]]]></description>
			<content:encoded><![CDATA[<p><strong>This guide is out of date! Please see the new guide here:</strong><br />
<a href="http://delx.net.au/blog/2011/12/hulu-and-pandora-outside-usa/">Hulu and Pandora outside USA</a></p>
<p>Hulu is a website that offers commercial-supported streaming video of TV shows and movies from NBC, Fox and many other networks and studios. Currently Hulu is only available from within the United States of America.</p>
<p>If you want to be notified of updates to this post, subscribe to the <a href="feed">comments feed</a>.</p>
<p><span id="more-128"></span></p>
<p>This is kind of lame. One of the fundamental principles of the internet is global access. That&#8217;s why we have the <i>world wide</i> web, not the America-web.</p>
<p>So, in that spirit, here&#8217;s how to make Hulu fully functional on your local network and accessible from any ordinary web browser.</p>
<h4>Requirements</h4>
<ul>
<li>A machine in the US that you can run programs and serve web pages from.</li>
<li>A Linux machine at home that shares your net connection</li>
</ul>
<h4>For my friends</h4>
<p>You can skip the USA proxy configuration and just use <tt>72.232.203.84</tt> everywhere you would put that server&#8217;s IP.<br />
Make sure you email me and I&#8217;ll add your local IP address to the allow list for the RTMP proxy.</p>
<h4>USA Proxy Configuration</h4>
<p>First we need to set up your US server to forward some selected HTTP sites as well as the Flash RTMP video streams. Do these steps on the server in the US:</p>
<ul>
<li>Create a file, hulu_proxy.ini with these contents:
<pre>
[proxy]
mode = proxy
listen_port = 9997

[allowed]
host1 = YOUR_LOCAL_IP_OR_DOMAIN
</pre>
<li>Download <a href="http://delx.net.au/hg/jamesstuff/raw-file/tip/scripts/proxy.py">proxy.py</a> and run this command to start forwarding requests on port 9997 from the allowed hosts.
<pre>proxy.py -d hulu_proxy.ini</pre>
</li>
<li>Create an HTTP virtual server for these domains: <tt>releasegeo.hulu.com</tt></li>
<li>Download <a href="http://delx.net.au/hg/cgiproxy/raw-file/tip/ruby/proxy.rb">proxy.rb</a> and <a href="http://delx.net.au/hg/cgiproxy/raw-file/tip/ruby/path.cgi">path.cgi</a> to these virtual hosts.</li>
<li>Edit path.cgi to end with
<pre>proxyTo "http://" + ENV["HTTP_HOST"], False</pre>
</li>
<li>
<li>Now set up a rewrite rule to forward <tt>/</tt> to <tt>/path.cgi</tt> for each of these virtual hosts.</li>
</ul>
<h4>Local network</h4>
<p>If you have a Linux router you can configure it to forward all packets destined for Hulu from inside your network to your US server.<br />
Follow these steps on your LAN&#8217;s router or your on any Linux computer:</p>
<ul>
<li>Add this to your <tt>/etc/hosts</tt> file (these addresses may be out of date, see the last section in this blog):
<pre>
XXX.YYY.ZZZ.AAA releasegeo.hulu.com
205.241.224.55 cp41752.edgefcs.net # HULU
205.241.224.45 cp39465.edgefcs.net # HULU
205.241.224.158 cp51756.edgefcs.net # HULU
205.241.224.37 cp47346.edgefcs.net # HULU
</pre>
<p>where <tt>XXX.YYY.ZZZ.AAA</tt> is the IP address of your US server.</li>
<li>If you&#8217;re using dnsmasq for your LAN&#8217;s DNS server ensure that it reads these addresses from your and resolves them for hosts on your network.</li>
<li>Add this to your firewall config for Linux:
<pre>
grep 'HULU$' /etc/hosts | awk '{print $1;}' | while read huluip; do
    iptables -t nat -A PREROUTING -i eth0 -p tcp \
        --destination "$huluip"  --dport 1935 -j REDIRECT --to-ports 9997
    iptables -t nat -A OUTPUT -p tcp \
        --destination "$huluip" --dport 1935 -j REDIRECT --to-ports 9997
done
</pre>
</li>
<li>Add this to your firewall config for OSX:
<pre>
grep 'HULU$' /etc/hosts | awk '{print $1;}' | while read huluip; do
    ipfw add 50000 fwd 127.0.0.1,9997 \
        tcp from any to "$huluip" dst-port 1935
done
</pre>
</li>
<li>Create a file, hulu_interceptor.ini with these contents:
<pre>
[proxy]
mode = interceptor
listen_port = 9997
host = XXX.YYY.ZZZ.XXX
port = 9997
</pre>
</li>
<li>Download <a href="http://delx.net.au/hg/jamesstuff/raw-file/tip/scripts/proxy.py">proxy.py</a> and run this command to start capturing and forwarding the Flash RTMP port to your US server.
<pre>proxy.py -d hulu_interceptor.ini</pre>
</li>
</ul>
<p>Some ISPs in Australia (Internode, iiNet and others) override the DNS entries for Akamai servers. This is why the modification to <tt>/etc/hosts</tt> is needed. Note that using the rules above, only traffic to specific Akamai Flash RTMP servers will go through your US server. So unmetered ABC iView content will remain unmetered. However, if Hulu adds new servers to this list, or if I&#8217;ve missed some, then some videos may not work and the hosts file will need updating.</p>
<p>If you are having difficulty viewing videos and you suspect that this is the issue, try running this tcpdump command to see whether your connections are being sent to a server within your ISPs address range:</p>
<pre># tcpdump -i INTERFACE port 1935</pre>
<p>You&#8217;ll then need to find the corresponding domain name and the &#8216;correct&#8217; IP to add to <tt>/etc/hosts</tt></p>
<h4>Automatic <tt>/etc/hosts</tt> updating</h4>
<p>The <tt>/etc/hosts</tt> file is used to know which IP addresses to route over the tunnel to USA. My USA server resolves the Hulu video hosts that I know about and makes them available at this URL: <a href="http://delx.net.au/files/huluhosts.txt">http://delx.net.au/files/huluhosts.txt</a>. This is automatically updated every hour.</p>
<p>I use a daily cronjob on my client machines in order to keep their hosts file up to date. Adapt this to your needs.</p>
<pre>
#!/bin/bash

cp /etc/hosts /etc/hosts.hulubak &#038;&#038;
grep -v HULU /etc/hosts > /etc/_hosts.new &#038;&#038;
curl -s http://delx.net.au/files/huluhosts.txt >> /etc/_hosts.new &#038;&#038;
chmod 0644 /etc/_hosts.new &#038;&#038;
mv /etc/_hosts.new /etc/hosts &#038;&#038;

# Ensure you clear the previous Hulu firewall rules and restart your
# DNS server (if you use one)
/root/hulutables
/etc/init.d/dnsmasq restart > /dev/null
</pre>
]]></content:encoded>
			<wfw:commentRss>http://delx.net.au/blog/2009/03/who-wants-hulu/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

