Bash Script zum Download von Flash Videos oder: Wie downloade ich ein Video im Streaming?

Bash, Fun

Guckt man irgendein Video im Internet und handelt es sich um modernes HTML5 (mit meistens mp4 Dateien), dann kann man auf verschiedenen Wegen sich das Video auch downloaden. Egal ob der Quelltext durchwühlt wird um dann den Link an curl oder wget weiterzureichen, mittels Menüpunkt „Extras > Seiteninformationen > Medien“ (im Firefox) oder auch via Add-on (Firefox) – an solcherlei Videos kommt man leicht.

Schwieriger ist es hingegen, wenn ein Video via Flash gestreamt wird. Da kann man mit der swf Datei oftmals nicht viel anfangen. Aber irgendwo muss doch das bereits gestreamte in Bits und Bytes auf der Platte sein?
Und nachdem ich mir diese Frage stellte und etwas gegoogelt hatte fand ich dann auch eine Antwort welche ich in dieses kleine Script gepackt habe. Damit werden alle derzeit in Streaming befindlichen Videos lokal gespeichert. Mit einem gängigen Videoplayer wie VLC können diese dann auch offline begutachtet werden…

#!/bin/bash

# check if pid exists
pid=`ps aux | grep libflashplayer.so | grep /usr/lib | awk '{print $2}'`
#echo $pid
if [[ $pid ]]; then
# find dir
idx=0
for dir in `lsof -p $pid | grep deleted | awk '{print $4}'`
do
#echo $dir
idx=$((idx + 1))
dir=${dir//[!0-9]/}
# copy video
echo "Trying to save video $idx..."
`cp /proc/$pid/fd/$dir stream_video_$idx`
done
else
echo "ERROR: Unknown error..."
fi
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s