Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Sťahovanie z youtube vo formátoch mp4 a webm  (Přečteno 4173 krát)

Habo

  • Návštěvník
  • *
  • Příspěvků: 94
    • Zobrazit profil
Sťahovanie z youtube vo formátoch mp4 a webm
« kdy: 28 Srpen 2010, 09:50:59 »
Pre tých ktorý chcú testovať webm, alebo proste sťahovať z youtube v neflashovom formáte som napísal skriptík, ktorý špinavú prácu urobí za vás, samozrejme obsahuje s GUI :)
Stačí ho uložiť do súboru a nastaviť právo na spustenie...
Kód: [Vybrat]
#!/bin/bash
if [ '!' -e .yt-html5-cookies.txt ];
then
wget --post-data="enable_html5=true" --save-cookies .yt-html5-cookies.txt 'http://www.youtube.com/html5' -O /dev/null
fi &
if VIDEOS="$(zenity --entry --title='Sťahovanie z youtube' --text='Zadajte adresy z ktorých sa má sťahovať (oddeľte medzerami)' --entry-text='http://www.youtube.com/watch?v=')";
then
COOKIE=$(mktemp /tmp/youtube-video-cookie.XXXXXXXXXXXX)
SOURCE=$(mktemp /tmp/youtube-video-source.XXXXXXXXXXXX)
FORMATS=$(mktemp /tmp/youtube-video-formats.XXXXXXXXXXXX)
for V in $VIDEOS;
do
wget --load-cookies .yt-html5-cookies.txt --save-cookies $COOKIE --keep-session-cookies "$V" -O "$SOURCE" 2>/dev/null || (zenity --error --title="Chyba pri sťahovaní videa" --text="Nepodarilo sa stiahnuť informácie o videu!\nSkontrolujte odkaz a funkčnosť pripojenia k Internetu."; continue)
VIDEO_NAME="$(grep '<span id="eow-title"' "$SOURCE" | sed -re 's/^.*title="([^"]*)".*$/\1/' | sed 's/&quot;/"/g')"
grep 'videoPlayer\.setAvailableFormat' "$SOURCE" | sed -re 's/^.*videoPlayer\.setAvailableFormat\("([^"]*)", "video\/([^;]*);[^"]*", "([^"]*)".*$/\1\n\2\n\3/g' > "$FORMATS"
test -s "$FORMATS" || (zenity --error --title="Chyba pri sťahovaní videa" --text="Nepodarilo sa získať informácie o videu!\nBuď ste zadali zlý odkaz, alebo video nepodporuje HTML5."; continue)
VIDEO_ADDRESS="$(zenity --list --title="Sťahovanie videa" --text="Vyberte jeden z dostupných formátov a kvalitu" --print-column=1 --hide-column=1 --column="Adresa videa" --column="Formát" --column="Kvalita" < "$FORMATS")" && (FILETYPE=$(head -$(expr $(grep -n "$VIDEO_ADDRESS" "$FORMATS" | sed s/:.*$//) '+' '1') "$FORMATS" | tail -1); OUTFILE="$(zenity --file-selection --title="Zvoľte, kam sa má video uložiť" --filename="$HOME/Video/$VIDEO_NAME.$FILETYPE" --save)")
wget --load-cookies $COOKIE "$VIDEO_ADDRESS" -O "$OUTFILE" 2>&1 | grep --line-buffered '%' | sed -ure 's/^.*K[^0-9]*([0-9]*)%.*$/\1/' | zenity --progress --title="Sťahovanie" --text="Sťahujem..." --auto-kill --auto-close
done
fi
rm "$COOKIE" "$SOURCE" "$FORMATS"
EDIT: Zlepšenia:  automatické pomenovanie súborov (aj s príponou), zmazanie dočasných súborov.
« Poslední změna: 07 Září 2010, 16:41:13 od Habo »

Bum

  • Člen
  • **
  • Příspěvků: 373
    • Zobrazit profil
Re: Sťahovanie z youtube vo formátoch mp4 a webm
« Odpověď #1 kdy: 28 Srpen 2010, 22:43:03 »
Ahoj.

Skusil som a funguje v pohode. Ale mozno by bolo fajn keby to nekotrolovalo ten existujuci subor len v priecinku Video ale napriklad tam kam som zadal aby sa to ukladalo.
"/home/$USER/Video/Video-z-youtube$N"
Tu by nestacilo "$HOME/Video/Video-z-youtube$N" ? Ale to je asi jedno.
Inac fajn.

zaradil som si to medzi uzitocne. Snad sa to nauci spustat aj manzelka. :)

Habo

  • Návštěvník
  • *
  • Příspěvků: 94
    • Zobrazit profil
Re: Sťahovanie z youtube vo formátoch mp4 a webm
« Odpověď #2 kdy: 07 Září 2010, 16:48:28 »
Ďakujem za odozvu!
... Ale mozno by bolo fajn keby to nekotrolovalo ten existujuci subor len v priecinku Video ale napriklad tam kam som zadal aby sa to ukladalo...
To nebola voľba priečinka ale súboru, to šachovanie s číslom mala byť iba pomôcka pri pomenovaní. Každopádne teraz je to jedno lebo nová verzia si zo zdrojáku zistí názov a ten ponúkne (Čo je IMHO oveľa lepšie riešenie)
... "/home/$USER/Video/Video-z-youtube$N"
Tu by nestacilo "$HOME/Video/Video-z-youtube$N" ? Ale to je asi jedno.  ...
Vďaka, ušetril som 6 bajtov! :D
P.S. Je mi jasné, že teraz je ten kód hrozne komplikovaný, ale bohužiaľ som nemal čas to riešiť. :/

James(CZ)

  • Člen
  • **
  • Příspěvků: 139
    • Zobrazit profil
Re: Sťahovanie z youtube vo formátoch mp4 a webm
« Odpověď #3 kdy: 09 Říjen 2010, 11:44:45 »
Alternativy:

Pokud používáte Google Chrome, pak pro něj existuje doplněk pro stahování videí z YouTube, viz:

https://chrome.google.com/extensions/detail/jladfdmfgmpnlbbhkdmdjpbnmemmmopo?hl=cs

U každého videa na YouTube uvidíte tlačítko pro download.

Pokud používáte HTML5 verzi YouTube, pak v kontextové nabídce daného videa se nachází i možnost stáhnutí, k tomuto nepotřebujete ani výše uvedený plugin.

Pokud používáte JDownloader, ten umí stahovat videa taky, stačí mu vložit odkaz k videu.

Habo

  • Návštěvník
  • *
  • Příspěvků: 94
    • Zobrazit profil
Re: Sťahovanie z youtube vo formátoch mp4 a webm
« Odpověď #4 kdy: 13 Říjen 2010, 21:06:08 »
Ja tu žiadnu kontextovú ponuku nevidím... :(

James(CZ)

  • Člen
  • **
  • Příspěvků: 139
    • Zobrazit profil
Re: Sťahovanie z youtube vo formátoch mp4 a webm
« Odpověď #5 kdy: 13 Říjen 2010, 21:13:28 »
A máš zapnutou HTML5 verzi YouTube? Přehrává se to video skutečně v HTML5 módu (jde to poznat tak, že to video nejde přepnout přes celou obrazovku a přehrávač vypadá trochu jinak)?

Pravda, já to naposledy zkoušel s Mandrivou, teď jsem to letmo zkusil v Ubuntu a HTML5 verze Youtube mi nejde, zatím nevím proč...

Habo

  • Návštěvník
  • *
  • Příspěvků: 94
    • Zobrazit profil
Re: Sťahovanie z youtube vo formátoch mp4 a webm
« Odpověď #6 kdy: 17 Říjen 2010, 19:53:56 »
HTML5 mám normálne zapnuté a používam (chrome...) Keď potrebujem video cez celú obrazovku stlačím F11 :)
Každopádne pre beh tohoto skriptu netreba nič nastavovať v prehliadači - používa sa wget a nastavenie sa vytvorí pri prvom spustení skriptu.
Jediný problém je, že videá, ktoré v HTML5 nie sú, sa týmto nedajú stiahnuť...