sopcast 0.8.1 on linux (ubuntu/debian)

the first time I followed the instructions on this page (french) but using sopcast without GUI wasn't satisfying. so I tried to find a GUI for linux. I found one on magiclinux.org. with a few modifications in the source I finally got it working.

extract the file sopgui-0.3-custom.tar.bz2 to a directory of your choice, run the shell script sopcast & enjoy! :)

remarks:

  • the "refresh" button doesn't work. you have to start sopcast alway by running the shell script. maybe when I have time I'll have a look at it.
  • when it doesn't work follow the instructions on the mentioned page at the top of this post until step five then copy the files sopgui, sopcast and getchannel to the directory where you extracted the debian package and/or compile sopgui again.
  • this one should work for debian as well

7 Responses to “sopcast 0.8.1 on linux (ubuntu/debian)”

  1. Paul E GROFFE Says:

    Hi Simon.

    I’d like to comment some few things about making sopcast work.

    I’ve downloaded the sources of the package and uncompressed it.
    Then after launching the ./sopcast script, the gui pops-up but no channel is displayed, so no tv will be seen :-( .

    So I digged a little the getchannel script. Let’s summup what this script does:
    -It retrieves a html file form the net (whit wget),
    -then ‘edit’ this file and searches some strings ( sop://broker.sopcast.org)
    -then after another filtering writes those string in a file (/tmp/urllist)
    -then filter again (sed) and keeps the output to another tmp file (/tmp/chlist)
    -then pastes the urllist and chlist to one, the channellist we have in the sopgui directory.
    -then, sopgui loads this file and allows you to chose a channel, with on te top window the description, and in the bottom window the url.
    -then we choose what channel we want to see.

    But I would like to report some few thing I noticed (and yet I couldn’t make it work…)

    correction1:

    If, like me, you are at work and behind a proxy server, the first thing to do is to parameter the wget aplication so it knows the proxy:
    edit the /etc/wgetrc and write something like this in the proxy line:
    http_proxy = http://yourproxy:8080

    correction2:

    The file wget trys to get from the net doesn’t exist anymore! or at list no in a readable format !!
    if you go to http://www.sopcast.org/channel/ you go nowhere, so wget only retrieves a error page.
    Searching , and going to http://www.sopcast.org , I followed the channel link (wich should lead us to http://www.sopcast.org/channel) . Well no, it redirects us to http://www.sopcast.com/player/index.jsp. So still we don’t have a proper page to give to wget.
    From this page there is a link to the channels url (do you stil follow me :-D ??)
    http://www.sopcast.com/channel/chlist.jsp, and from there (finally), there is a link to a more cat displayer frindly page: http://www.sopcast.com/gchlxml

    So , I recommend (but I might be wrong, as I told you, I didn’t make it work yet) to change the webpage wget should retrieve, and use this one:
    http://www.sopcast.com/gchlxml

    line 3 in getchannel should be then:
    wget -q http://www.sopcast.com/gchlxml -O /tmp/index.html

    ps: if the web page gets online again, then everything is fine !!

    correction3

    line 4 of the getchannel scripts searches the string sop://broker.sopcast.org
    (|grep sop://broker.sopcast.org >/)

    Looking at the html file we downloaded, we see that the URL has been replaced by an IP address, so we should have line 4 like this:
    cat /tmp/index.html |grep sop://202.101.35.147 >/tmp/temp.htm

    With this done, line 5 gives us a pretty neat url list, tha we will find at the end of channelist file.
    If we launch ./sopcast at this point, we will a mess in the description window, but at the end we’ll have a list of the urls. Now, we have to guess who’swho :-D !

    Anyway, I couldn’t make it work , even if I copy a url in the url window, mplayer doesn’t show up.

    So here my first steps in the debugging of the problem.
    If someone sees further, any help would be appreciated, as the mundial won’t last forever :-D !!

    Best regards,
    Paul

  2. simonatlinux Says:

    thank you very much for your input Paul. unfortunately, they redesigned not only their web site they also made a new client with a new protocol I guess. so this version here won't work even with a clean script. the old script wasn't written by me I just made it work with the new regexp syntaxes. to be prepared when the new client for linux comes out I rewrote the script. but I'm not very experienced in writing shell scripts. you are invited to improve the script :D

    please find the script here: http://forum.sopcast.org/forum/viewtopic.php?t=1697

  3. Paul E GROFFE Says:

    Hi Simon.

    Sorry I couldn’t test your script, but I found a 0,8 sp-sc binary version:
    http://rimarchives.free.fr/sopcast2.htm.

    Follow the “Depuis avril 2006, une nouvelle “Commande” pour Linux est disponible.” link.
    Hope it works now !

    BTW, I think you’re better than me in writing scripts :-) !!

    Regards,
    Paul

  4. Paul E GROFFE Says:

    Hi Simon,

    This time I could try your script. It didn’t work for me.
    I just corected a few things, here it is…

    #!/bin/bash

    wget -q http://www.sopcast.com/gchlxml -O /tmp/gchlxml

    sed -e ’s//\nCHANNEL_NAME=/g’ -e ’s//\n/g’ -e ’s//\nSTREAM_TYPE=/g’ -e ’s//\n/g’ -e ’s//\nKBPS=/g’ -e ’s//\n/g’ -e ’s//\nUSERS=/g’ -e ’s//\n/g’ -e ’s//\nQC=/g’ -e ’s//\n/g’ -e ’s//\nQS=/g’ -e ’s//\n/g’ -e ’s//\nSTART_FROM=/g’ -e ’s//\n/g’ -e ’s//\nSOP_URL=/g’ -e ’s//\n/g’ /tmp/gchlxml >/tmp/tmpchnls1

    grep -e CHANNEL_NAME -e STREAM_TYPE -e KBPS -e USERS -e QC -e QS -e START_FROM -e SOP_URL /tmp/tmpchnls1> /tmp/tmpchnls2

    grep CHANNEL_NAME /tmp/tmpchnls2 | awk ‘{print substr($0,14)”,”}’ > /tmp/channel_name
    grep STREAM_TYPE /tmp/tmpchnls2 | awk ‘{print substr($0,13)”,”}’ > /tmp/stream_type
    grep KBPS /tmp/tmpchnls2 | awk ‘{print substr($0,6)”,”}’ > /tmp/kbps
    grep USERS /tmp/tmpchnls2 | awk ‘{print substr($0,7)”,”}’ > /tmp/users
    grep QC /tmp/tmpchnls2 | awk ‘{print substr($0,4)”%,”}’ > /tmp/qc
    grep QS /tmp/tmpchnls2 | awk ‘{print substr($0,4)”%,”}’ > /tmp/qs
    grep START_FROM /tmp/tmpchnls2 | awk ‘{print substr($0,12)”,”}’ > /tmp/start_from
    grep SOP_URL /tmp/tmpchnls2 | awk ‘{print substr($0,9)}’ > /tmp/sop_url

    paste -d ” ” /tmp/channel_name /tmp/stream_type /tmp/kbps /tmp/users /tmp/qc /tmp/qs /tmp/start_from /tmp/sop_url > /tmp/tmpchannellist

    grep null /tmp/tmpchannellist > /tmp/tmpchannellist2

    diff /tmp/tmpchannellist /tmp/tmpchannellist2 | grep sop | awk ‘{print substr($0,3)}’ | sort | uniq> ./channellist

    rm -rf /tmp/channel_name /tmp/stream_type /tmp/kbps /tmp/qc /tmp/qs /tmp/start_from /tmp/sop_url /tmp/tmpchannellist /tmp/tmpchannellist2 /tmp/tmpchnls /tmp/tmpchnls1 /tmp/tmpchnls2 /tmp/gchlxml

    Tell me if you manage to make sopcast work with the 0.8 version !

    Regards,
    Paul

  5. Paul E Says:

    Haha, let’s go on fighting with sopcast :-D

    For a better debugg comfort, I used the non grafical way to connect me to the peers:

    on a first console:
    ./sp-sc sop://202.101.35.147:3912/6003 8800 8900
    on a second one:
    mplayer http://localhost:8900

    mplayer crashed like this:

    Cache size set to 1024 KBytes
    Cache fill: 0.00% (0 bytes) Win32 LoadLibrary failed to load: avisynth.dll, /usr/lib/win32/avisynth.dll, /usr/local/lib/win32/avisynth.dll
    XMMS: found plugin: libmpg123.so (MPEG Layer 1/2/3 Player 1.2.10)
    XMMS: found plugin: libwav.so (Wave Player 1.2.10)
    XMMS: found plugin: libmikmod.so (MikMod Player 1.2.10)
    XMMS: found plugin: libcdaudio.so (CD Audio Player 1.2.10)
    XMMS: found plugin: libtonegen.so (Tone Generator 1.2.10)
    XMMS: found plugin: libvorbis.so (Ogg Vorbis Player 1.2.10)
    Waiting for the XMMS plugin to start playback of ‘http://localhost:8900′…

    GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL’ failed.

    I had this problem yesterday at home with my mdk box. Today on ubuntu get the same error.

    I’ve checked the win32 libs, and it’s true, no avisynth.dll can be found.
    The official win32 package from mplayer doesn’t contain them either.

    At this point I’ don’t really know what to do: go on with sopcast, or use my energy in peercast, who is GPL…

    Well, you may have some feed back about that,

    Regards,
    Paul

    PS: I’ll add this follow up to the forum you pointed to in your last post.

  6. simonatlinux Says:

    as I said before the problem is that they made a new version of sopcast with different protocol-handling so the 0.8.x versions won't work anymore anyway. I get the same error if I try to launch sp-sc 0.8.1.

    you don't like curl do you? :D I used curl because you can scan the output of the download directly. you don't have to wait until the file's donwloaded.

  7. CARLOS Says:

    EL MUNDIAL EN VIVO

Leave a Reply