#!/bin/bash
if [ "$#" -ne 1 ]; then
	echo "K použití je třeba zadat URL stránky s videem konkrétního pořadu."
	echo "Např: $0 http://www.ceskatelevize.cz/ivysilani/20854215135-jazz-klub"
	exit
fi

#zkušební stažení obsahu www stránky
page_data=$(curl -s $1)

#když se nestahne nic
if [ "$page_data" == "" ]; then
	echo "Nepodařilo se stáhnout žádnou web stránku - je odkaz $1 správný ?"
	echo "Fatální chyba, končím není odkud stahovat."
	exit
fi

#získat nejvyžší kvalitu - je li dostupná
url="$1"
if (echo $url | grep -qv '?streamtype'); then
        url="${url}?streamtype=WM3"
fi

echo "Zjišťuji URL playlistu video streamu...."
#URL streamu leží v <param name="url" value="URL" uloží se do proměnné
stream_url=$(curl -s $url | sed -n 's/.*<param name="url" value="\([^"]*\)" \/.*>/\1/p')

#když se stahne html ale není tam <param name="url" value="něco" / >
if [ "$stream_url" == "" ]; then
	echo "Nepodařilo se získat stream URL - je adresa stránky www stránky $1 ta správná, kde je požadované video ?"
	echo "Bohužel, tato chyba je fatální, končím. "
	exit
fi

#název se získá parsováním tagu <title>.*</title> a vymažou se HTML entity &.*;
nazev=$(curl -s $url | sed -n 's/.*<title>\([^"]*\)<\/title>.*/\1/p' | sed 's/&.*\;//g') || nazev=video

echo "Playlist je na adrese: $stream_url"
echo "Název souboru bude: ${nazev}.asf"
prikaz="mplayer -playlist $stream_url -dumpstream -dumpfile ${nazev}.asf"
echo "Nahrává se příkazem:"
echo $prikaz
mplayer -cache 2000 -user-agent 'Windows-Media-Player/11.0.5721.5145 (MPlayer; Linux; fuck MS discrimination)' -playlist $stream_url -dumpstream -dumpfile "$nazev.asf"
echo "Stahovánívidea bylo dokončeno"
