Ich persönlich finde Angebote wie die Mediathek des ZDF sehr interessant. Es gibt dort viele interessante Beiträge die man sich ansehen kann, wenn man Zeit dazu hat. Nun ist es einerseits so, dass die Beiträge teilweise nur 7 Tage zur Verfügung stehen und man andererseits die Beiträge vielleicht auch auf dem Fernseher / Ipod o.ä. sehen möchte. Dazu muss man das Material zuerst einmal herunterladen. Dazu habe ich mir ein Script geschrieben, welches das recht komfortabel macht.

Prerequisites für das Script:

  • mencoder
  • curl
  • zenity

Wie ? (am Beispiel der ZDF Mediathek)

Der Download liegt dann im .mpg (mpeg2video) Format vor und kann auf diversen DVD-Playern wiedergegeben werden oder in Itunes Importiert, und für Ipod/Iphone konvertiert werden.

#!/bin/bash
#
# Download Script fuer .asx URLs (embedded .wmv)
# 
# Download aus aus der ZDF Mediathek:
#  - HTML Version der Mediathek aufrufen
#  - Beitrag auswaehlen
#  - Windows Media Player Link (DSL 1000 / DSL 2000) kopieren
#  - Script aufrufen und den Link einfügen
#  - download starten ....
#
# Prerequisites:
#  - mencoder
#  - curl
#  - zenitiy
#  - .asx URL (linked to a .wmv Stream)
#
# Ronny Becker, 01.2010
#

# grab URL
if [ ! $1 ]; then
 URL=`zenity --entry --text "Bitte die URL (.asx) eingeben:" --title "Mediathek Downloader" --width=400`
else
 URL=$1
fi

# check if a URL was entered
if [ ${#URL} -eq 0 ]; then
 zenity --error --title "Mediathek Downloader" --text="Keine gueltige URL ($URL)"
 exit
fi

# get mms:... out of .asx
URL=`curl -s ${URL} | grep -o "mms:.*\.wmv"`
# get filename from the origin; without .wmv
OUTFILE=`basename $URL | sed 's/\.wmv//'`

# download and save; show progressbar
# if you need debugging, please comment out the progressbar function
# beginning at "| awk ..."; then you get all to console output
if [ $1 ]; then
mencoder -ofps 25 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf harddup\
         -srate 48000 -af lavcresample=48000,volnorm=1\
         -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=15360:vbitrate=15360:keyint=15:acodec=ac3:abitrate=192\
         -o "${OUTFILE}.mpg"\
         $URL
else
mencoder -ofps 25 -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf harddup\
         -srate 48000 -af lavcresample=48000,volnorm=1\
         -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=15360:vbitrate=15360:keyint=15:acodec=ac3:abitrate=192\
         -o "${OUTFILE}.mpg"\
         $URL 2>&1 | awk -vRS="\r" '$1 ~ /Pos/ {gsub(/Pos:/," ");gsub(/%\)/," ");gsub(/ \(/," ");print $3"\n#Position :\\t"$1"\\nFrame :\\t"$2"\\nPercentage :\\t"$3"%\\nFrame Rate :\\t"$4"\\nTime Remaining :\\t"$6; fflush();}' | zenity --progress --auto-kill --auto-close
fi