staging.inyokaproject.org

BASH-Youtube- Player -- spielt Youtube Videos über mplayer ab

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

KarstenW.

Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: 208

BASH-Youtube- Player ist ein weiteres Script was vielleicht dem einen oder anderen von Nutzen sein kann. Mich hat es immer geärgert das ich die Videos von Youtube nur mit ruckeln im Browser anschauen konnte. Mit youtube-dl und dem mplayer habe ich nun die Möglichkeit Videos ohne Ruckeln zu genießen, da es auch möglich ist ein Videoformat zu wählen.

Benötigt wird die aktuelle Version von youtube-dl die ich im Anhang mitschicke. Sollte eine alte youtube-dl installiert sein, diese einfach mit

sudo apt-get autoremove youtube-dl

enfernen und die aktuelle über Terminal

gksudo nautilus /usr/bin

in das sich öffnende Verzeichniss kopieren und über Terminal mit

gksudo chmod +x /usr/bin/youtube-dl

ausführbar machen.

Sollte der mplayer nicht installiert sein kann man diesen mit:

sudo apt-get install mplayer

installieren.

Außerdem muss zenity installiert sein, wer es noch nicht hat:

sudo apt-get install zenity

Jetzt hat man alles was man braucht um das Script ausführen zu können

Das Script fordert auf die Video URL einzugeben. Anschließend öffnet sich eine temporäre Textdatei und zeigt die verfügbaren Videoformate. Einfach die ID des Formats (links) merken und die Textdatei schließen. Jetzt erfolgt die Abfrage des Qualitätscodes (ID), diese eingeben und das Video startet nach kurzem buffern über den mplayer im Vollbild.

Hier nun das Script:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#!/bin/bash

# Tubeplayer
# Autor: Karsten Weidenfeld
# www.Bitdome.de

auswahl=$(zenity  --entry --width=280 --height=100 --text "Youtube Video URL eingeben:" --title="Tubeplayer (Zenity)" );

youtube-dl -F $auswahl>~/.yqual.txt

gedit ~/.yqual.txt

qual=$(zenity  --entry --width=280 --height=100 --text "Qualitätscode:" --title="Tubeplayer (Zenity)" );

youtube-dl -f $qual -g $auswahl >~/.youtube.m3u

mplayer -fs  -cache 12000 -cache-min 20 -framedrop -playlist ~/.youtube.m3u | zenity --progress --text "Einen Moment das Video wird gebuffert" --pulsate --auto-close
exit 1

Wer mag kann ein Feedback schreiben.

Gruß Karsten

Bearbeitet von redknight:

Formatierung angepasst

youtube-dl (130.9 KiB)
Download youtube-dl

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21668

Hallo,

warum schreibst du nicht gleich ein kleines Skript, das die Vorbedingungen überprüft?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash
if [[ $UID -ne 0 ]]; then
 echo "Run it as root"
 exit 1
fi
## Hier auf per Paketverwaltung installiertes youtube-dl prüfen
##
## Download des alternativen youtube-dl
## wget -O - http://media.cdn.ubuntu-de.org/forum/attachments/3418347/youtube-dl > /usr/bin/youtube-dl

if [[ ! -x /usr/bin/youtube-dl ]]; then
 chmod +x /usr/bin/youtube-dl
fi

if [[ ! -e /usr/bin/mplayer ]]; then
 apt-get -y install mplayer
fi

if [[ ! -e /usr/bin/zenity ]]; then
 apt-get -y install zenity
fi
echo "Alle Bedingungen erfüllt"
exit 0

bzw - ich kenne mich mit dem youtube-dl nicht aus - lohnt evtl das Publizieren eines eigenen Pakets. Zumindest Du scheinst ihn ja öfter zu verwenden 😉

und Nachfrage: Warum endet dein Skript mit einem Fehlercode?

posti

Anmeldungsdatum:
30. März 2009

Beiträge: 2086

Mist - Ähnliches wollte ich auch schreiben (nur ohne Script).

@redknight Die Vorprüfung kann man ja ohne root-Rechte machen, wenn die Vorbedingungen nicht erfüllt sind, kann man das Script ja (nach Nachfrage) selbstständige neu starten lassen, das root-PW abfragen und die fehlenden Bedingungen installieren und dann ggf. ohne sudo den Script 'normal' ablaufen lasst.

Anders würde das komplette Script per sudo ausgeführt, was Dem widerspricht, daß man nur das Nötigste per Sudo machen soll.

MfG

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21668

posti schrieb:

Anders würde das komplette Script per sudo ausgeführt, was Dem widerspricht, daß man nur das Nötigste per Sudo machen soll.

Stimmt generell, jedoch werden die Aktionen mit der Prüfung verknüpft, so dass im falle erfolgreicher Prüfung keine Aktion ausgeführt wird. IN dem Fall finde ich eine Unterscheidung deutlich schwieriger und den Aufwand nicht wert. Kann aber durchaus diskutieren. Ich wollte ja auch lediglich ein paar Schnipsel als Anregung schreiben, das ist sicherlich noch verfeinerbar.

KarstenW.

(Themenstarter)
Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: 208

Mit youtube-dl kann man sich das Leben unter Ubuntu schon einfacher machen. Als Youtube Junkie habe ich mich immer darüber geärgert das die Videos über den Browser stark ruckeln und ein Vollbild nur in ganz schlechter Qualität möglich ist. Naja liegt halt an dem mehr als schlechten Adobe Plugin kannste nichts dran machen habe ich mir gedacht. Da bin ich dann halt Dank Julian92 auf youtube-dl gestoßen und habe mir ein paar simple aber wirkungsvolle Scripts geschrieben. Von den Möglichkeiten und Funktionen war ich so begeistert das ich die Ubuntuusers Gemeinde teilhaben lassen wollte. Zumal ich selber lange auf der Suche nach so einer Möglichkeit war, vielleicht geht es anderen genauso dachte ich mir.

Vielleicht schreibe ich aus den einzelnen Scripts ein Programm welches alle Funktionen die ich bisher habe beinhaltet. Natürlich könnte man sich auch überlegen einen Installer zu schreiben der alles notwendige einrichtet. Mir ging es erstmal daraum ein bischen Resonanz zu bekommen damit ich weiß obs gebraucht wird oder nicht. Bei mir habe ich die einzelnen Script z.B. im /usr/bin so das ich diese Systemweit über das Terminal mit einem Kurzbefehl aufrufen kann. Das setzt natürlich voraus das die Scripte ausführbar gemacht werden sonst geht es nicht ☺

Sry @rednight da hat sich wohl ein Fehler eingeschlichen, Du hast Recht.

Gruß an Alle Karsten

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: Zähle...

Youtube-dl hat eine Update-Funktion eingebaut. Das Entfernen ist also eigentlich nicht nötig. Kann allerdings sein, dass das mit einer sehr alten Version (in diesem Falle gut möglich, wenn man die Version aus den Paketquellen verwendet) nicht ganz so gut funktioniert, weil die noch über Bitbucket verteilt wurden und die neueren Versionen über Github bezogen werden können. Finde das Script aber irgendwie sowieso daneben, weil, wenn ich das richtig verstanden habe, man das mit ein, zwei Befehlen auf der Kommandozeile auch erledigen kann, sofern man im richtigen Verzeichnis ist:

python youtube-dl videoadresse
mplayer *.flv

KarstenW.

(Themenstarter)
Avatar von KarstenW.

Anmeldungsdatum:
27. Juni 2011

Beiträge: 208

Die alte youtube-dl aus den Ubuntu Quellen lässt sich nicht updaten deshalb muss man sich die aktuelle von der Homepage youtube-dl holen.

Das man das über die Kommandozeile mit ein oder zwei Befehlen erledigen kann ist bestreitet ja niemand. Sicherlich kann man das Youtube Video mit youtube-dl [Url] herunterladen und dann mit dem mplayer abspielen aber darum geht es in dem Script nicht. Das Script holt sich aus der URL die man aus dem Browser kopiert die eigentliche Video URL und speichert diese in einer Variable ab. Der mplayer greift nun auf die Variable zu und spielt das Video ab ohne es vorher runterzuladen. Darüber hinaus habe ich mit den verschiedenen Qualitäts und Videoformaten experimentiert um ein bestmögliches Ergebnis zu erzielen.

Antworten |