Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Script om rechtreeks WMV-streams van nos-pagina's met Silverlight te bekijken  (gelezen 9996 keer)

Offline markba

  • Lid
    • http://markbaaijens.nl/
Hier een scriptje om rechtstreeks de WMV-stream te bekijken in Totem. Het script vraagt om een URL, dat is pagina waarin de melding staat om Silverlight te installeren.

Nav:
http://forum.ubuntu-nl.org/software-en-configuratie/olympische-spelen-kijken-op-www-nos-nl/

Mogelijk dat dit zelfde script ook gebruikt kan worden bij toekomstige evenementen, bv EK, WK, etc.

#!/bin/bash
#
# Utility to view WMV-stream from nos.nl
#
# Description...: Normally, pages from nos.nl concerning sports events like the Olympics,
#                 are 'protected' by Silverlight. However, there is always an unprotected
#                 wmv-stream. This tool extracts the url of the stream from a given URL, and
#                 than plays it with Totem.
# Author........: Mark Baaijens
# Copyright.....: See Author
# Creation date.: 2010-15-02
#
# Requirements..: Ubuntu Desktop. Created and tested on Karmic, but lower releases should also work.
# Example URL...: http://nos.nl/os2010/video/136917-geen-derde-rodelgoud-zoggeler.html
#

cleanup()
{
  rm -f $source_page
  rm -f $xml_page
}

# Temp-var definition
source_page='temp.html'
xml_page='temp.xml'

# Do some cleanup
cleanup

# Ask for a URL
source_url=`zenity --width=500 --entry --text="Geef de URL op:"`
if [ ! -n "$source_url" ]
then
  exit
fi

# Get the given page
wget $source_url -O $source_page --quiet
if [ ! -n "`cat $source_page`" ]
then
  zenity --info --text="Pagina $source_url niet gevonden."
  cleanup
  exit
fi

# Extract xml-url from within the given page
xml_url=`cat $source_page | awk 'BEGIN{FS="var ster = new SterCommercials"}{print $2}' | awk 'BEGIN{FS=","}{print $1}' | sed -e 's/'\''//g' | sed -e 's/'\('//g'`
if [ ! -n "$xml_url" ]
then
  zenity --info --text="Pagina $xml_page bevat geen geldige XML-verwijzing."
  cleanup
  exit
fi

# Get the xml-page
wget $xml_url -O $xml_page --quiet
if [ ! -n "`cat $xml_page`" ]
then
  zenity --info --text="Pagina $xml_url niet gevonden."
  cleanup
  exit
fi

# Extract the wmv-stream from within the xml-page
wmv_stream=`cat $xml_page | awk 'BEGIN{FS="location"}{print $2}' | awk 'BEGIN{FS="location"}{print $1}' | cut -c11- | awk 'sub(".....$", "")' `
if [ ! -n "$wmv_stream" ]
then
  zenity --info --text="Pagina $xml_page bevat geen geldige verwijzing naar een WMV-stream."
  cleanup
  exit
fi

# Do some cleanup
cleanup

# Show the file by a media player
totem $wmv_stream


Installatie:
- maak een bestandje aan, bv ~/showstream
- copieer en plak de code er in
- maak het bestand uitvoerbaar: chmod +x ~/showstream
- om het makkelijk te maken, kun je ook een snelkoppeling aanmaken naar dit script.

Gebruik:
- copieer de URL van de pagina die Silverlight vereist
- start het script op
- plak de URL in de dialoog waarin gevraagd wordt naar de URL
- Totem zal automatisch beginnen met afspelen.

Als voorbeeld zou je kunnen nemen:
http://nos.nl/os2010/video/136917-geen-derde-rodelgoud-zoggeler.html

Veel plezier er mee.
« Laatst bewerkt op: 2010/02/15, 22:00:54 door markba »

Wat je met scripts al niet kan doen! :)

Ik heb het script net eventjes op mijn systeem geprobeerd, maar als ik de volgende link invoer:

http://nos.nl/os2010/video/136339-de-crash-van-koemaritasjvili.html

Dan krijg ik de volgende melding:

Pagina temp.xml bevat geen geldige XML-verwijzing.
Klopt dit?

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Mooi script!
Maar ik krijg hetzelfde als Thomas. Het is trouwens wel een nare crash :S

edit; ook met deze url: http://nos.nl/os2010/video/136917-geen-derde-rodelgoud-zoggeler.html
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Wat je met scripts al niet kan doen! :)

Ik heb het script net eventjes op mijn systeem geprobeerd, maar als ik de volgende link invoer:

http://nos.nl/os2010/video/136339-de-crash-van-koemaritasjvili.html

Dan krijg ik de volgende melding:

Pagina temp.xml bevat geen geldige XML-verwijzing.
Klopt dit?

Niet echt. Heb het net nog geprobeerd en het werkt nog steeds...

EDIT.

Zie mijn laatste bericht. Code van het script is aangepast.
« Laatst bewerkt op: 2010/02/15, 15:20:31 door markba »

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Ik krijg ook de volgende error in mn terminal:
awk: warning: escape sequence `\(' treated as plain `('
awk: fatal: Unmatched ( or \(: /var ster = new SterCommercials(/
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Vreemd. Er staat idd wel een literal in, maar bij mij doet ie het gewoon.  :(
Jullie hebben allebei Karmic?
Zal eens wat gaan sleutelen aan die literal, lijkt me toch afh. te zijn van het locale systeem...

Offline markba

  • Lid
    • http://markbaaijens.nl/
Ik heb de regel waarin de xml-url wordt opgevraagd, aangepast:

Was:

xml_url=`cat $source_page | awk 'BEGIN{FS="var ster = new SterCommercials\("}{print $2}' | awk 'BEGIN{FS=","}{print $1}' | sed -e 's/'\''//g'`
is nu:

xml_url=`cat $source_page | awk 'BEGIN{FS="var ster = new SterCommercials"}{print $2}' | awk 'BEGIN{FS=","}{print $1}' | sed -e 's/'\''//g' | sed -e 's/'\('//g'`

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Ik draai karmic. Maar daar ligt het niet aan.
Misschien idd iets met dat Locale ofzo. Hoe kan ik zien welke ik heb? Dan kunnen we dat vergelijken.

Ik krijg nu de error:
awk: warning: escape sequence `\<' treated as plain `<'
awk: warning: escape sequence `\>' treated as plain `>'
awk: warning: awk: escape sequence `\!' treated as plain `!'
warning: awk: escape sequence `\]' treated as plain `]'warning:
escape sequence `\[' treated as plain `['
awk: fatal: Unmatched [ or [^: /<location><![CDATA[/
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Het goede nieuws is, dat de foutmelding van #45, nu opgelost is nav mijn code-aanpassing! Het slechte nieuws is dat je nu verder in het script vastloopt: regel 63 heeft hetzelfde probleem met de literals icm awk.

Stel dat het idd iets is met de locale oid, dan wil ik daar eigenlijk niet van afh zijn, want dan is de werking van het script niet gegarandeerd.

Even verder sleutelen aan regel 63.

Offline markba

  • Lid
    • http://markbaaijens.nl/
Ik heb nu alle literals uit #63 verwijderd en werk nu met een 'cut':

Was:

wmv_stream=`cat $xml_page | awk 'BEGIN{FS="\<location\>\<\!\[CDATA\["}{print $2}' | awk 'BEGIN{FS="\]"}{print $1}'`
is nu:

wmv_stream=`cat $xml_page | awk 'BEGIN{FS="location"}{print $2}' | awk 'BEGIN{FS="\]"}{print $1}' | cut -c11- `
EDIT.
Nog ff wachten, in de tweede awk staat ook nog een literal.  :(
« Laatst bewerkt op: 2010/02/15, 15:50:59 door markba »

Offline markba

  • Lid
    • http://markbaaijens.nl/
Nou, de laatste wijziging maar weer teruggedraaid, en de literals ipv '\' een dubbele meegegeven, dus '\\', blijkbaar verlangt awk dat (maar op een-of-andere manier alleen op andere systemen dan die van mij).
Probeer het even opnieuw (code in het startbericht is bijgewerkt).

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Ik krijg nog steeds foutmeldingen. Misschien komt het omdat er op mijn systeem gebruik wordt gemaakt van gawk?
$ awk -W version
GNU Awk 3.1.6
Zie verder dit forum: http://ubuntuforums.org/showthread.php?t=474549

$ ls -l /usr/bin/awk
lrwxrwxrwx 1 root root 21 2010-01-05 19:51 /usr/bin/awk -> /etc/alternatives/awk
$ ls -l /etc/alternatives/awk
lrwxrwxrwx 1 root root 13 2010-01-05 19:51 /etc/alternatives/awk -> /usr/bin/gawk
« Laatst bewerkt op: 2010/02/15, 16:52:40 door Wazzzaaa »
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Tsja, heb ik weer, idd verschillende awk's:

user@asus-mark:~$ awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

user@asus-mark:~$ whereis awk
awk: /usr/bin/awk /usr/share/man/man1/awk.1.gz
user@asus-mark:~$ ls /usr/bin/awk  -l
lrwxrwxrwx 1 root root 21 2010-01-31 10:23 /usr/bin/awk -> /etc/alternatives/awk
user@asus-mark:~$ ls /etc/alternatives/awk -l
lrwxrwxrwx 1 root root 13 2010-01-31 10:23 /etc/alternatives/awk -> /usr/bin/mawk
user@asus-mark:~$

Ik heb trouwens een schone installatie van Karmic, misschien komt het daardoor?
« Laatst bewerkt op: 2010/02/15, 16:58:26 door markba »

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Ik heb trouwens een schone installatie van Karmic, misschien komt het daardoor?
Volgens mij heb ik dat met gawk zelf ooit gedaan. Hopelijk ben ik de enige. Wel handig als bijv. Thomas ook ff zn versie post.

Het script doet het nu wel goed bij mij. De FIX:
sudo update-alternatives --config awk
Kies vervolgens voor optie mawk (bij mij 2).
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Zo, code is aangepast: er staat nu geen enkele literal meer in awk, wat een wespennest is dat zeg....
Als het goed is, werkt het script nu onafhankelijk van de geinstalleerde awk (mawk, gawk, etc).
Dus, graag testen en bij fouten of wensen, dan ik hoor het wel.

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Whoei, hij werkt zowel op gawk en awk!
gefeliciteerd :D
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Whoei, hij werkt zowel op gawk en awk!
gefeliciteerd :D

Nou mooi, dan kan het grote publiek er mee aan de slag.
Wat een voordeel is van dit script, is dat je ook geen last van reclame hebt!

Offline tigger

  • Lid
Het lijkt bij mij te werken, maar totem blijft bufferen.
Iemand enig idee wat dat kan zijn? (Ik gebruik karmic)
LPI-1, NCLA, RHCE, RHCVA

Offline tigger

  • Lid
Andere werkende oplossing, aangezien ik mplayer toch ook al eens gebruikt had. totem er af gegooid en nog eens met firefox gekeken..... en via de mplayer plugin werkt de wmv-stream.
LPI-1, NCLA, RHCE, RHCVA

Offline markba

  • Lid
    • http://markbaaijens.nl/
Ik heb Totem genomen, omdat die standaard geinstalleerd staat. Maar natuurlijk kun je ook mplayer of vlc gebruiken.
Het bufferprobleem zou natuurlijk ook door de site kunnen komen, onvoldoende bandbreedte of zo.

Offline tigger

  • Lid
Ik had aan de hand van een medibuntu beschrijving ook mplayer geinstalleerd. Onvoldoende bandbreedte zou kunnen, maar hij bleef op 0% staan en toen ik het een paar minuten later (na het verwijderen van totem) probeerde werkte het wel direct. En gewoon door op de link voor wmv te klikken. Misschien een optie voor anderen die ook problemen hebben met totem, of die niet een los script willen gebruiken een optie. Er zijn meerdere wegen die naar rome leiden, zeg maar....
LPI-1, NCLA, RHCE, RHCVA

Offline markba

  • Lid
    • http://markbaaijens.nl/
Die link naar de rechtstreekse WMV-stream is idd de gemakkelijkste manier, maar is niet altijd aanwezig. Ik kan daar ook (nog) geen logica in ontdekken: ergens werd gesuggereerd dat een Ad Blocker dat tegen zou kunnen houden, maar dan lijkt niet het geval te zijn.

Ik houd het er maar even op dat de link, afh. van de zogenaamde rechten, wel of niet getoond wordt. Als de link niet aanwezig is, kan mijn script gebruikt worden om toch de stream te tonen.

EDIT.
Vreemd. Bij elke video die ik nu bekijk, staat idd de link getoond, terwijl ik zeker weet dat ie daar voorheen niet stond. Een complot om mijn scriptje onbruikbaar of overbodig te maken?  =D =D
« Laatst bewerkt op: 2010/02/17, 22:27:32 door markba »

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Vreemd. Bij elke video die ik nu bekijk, staat idd de link getoond, terwijl ik zeker weet dat ie daar voorheen niet stond. Een complot om mijn scriptje onbruikbaar of overbodig te maken?  =D =D
Haha, of ze hebben een aanpassing (verbetering) aan hun site gedaan :P
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline markba

  • Lid
    • http://markbaaijens.nl/
Vreemd. Bij elke video die ik nu bekijk, staat idd de link getoond, terwijl ik zeker weet dat ie daar voorheen niet stond. Een complot om mijn scriptje onbruikbaar of overbodig te maken?  =D =D
Haha, of ze hebben een aanpassing (verbetering) aan hun site gedaan :P

Maar in ieder geval een goede verbetering!

Offline tigger

  • Lid
Misschien te veel mensen geklaagd? :evil:
LPI-1, NCLA, RHCE, RHCVA