LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 01-09-2011, 02:38 PM   #1
linuxs64
Member
 
Registered: Jun 2010
Posts: 116

Rep: Reputation: 47
How-To: PPStream on Slackware


How-To: PPStream on Slackware

PPStream is a P2P video streaming software, but available only in Chinese. Workaround in English: see Method #2 below. PPStream wiki here.

Screenshots:

PPStream in GSB Slackware

pps:// playlist in totem

2 methods
- using official PPStream binary (in chinese language) or
- install plugins gst-plugins-pps, totem-pps, then use chrome/firefox + totem to play streams using protocols pps:// or tvod://

Method #1
Download PPStream binary (Chinese language): ppstream_1.0_i386.tar.gz

dependencies on slackware : most are in stock slackware except mplayer, mplayer-codecs
full dependency list here, use google-chrome to translate

Quote:
tar xvfz ppstream_1.0_i386.tar.gz
cd ppstream
copy and paste to terminal whole section in bold below
cp -rf etc / ; \
cp -rf opt / ; \
cp -rf usr / ; \
ln -s /opt/pps/bin/PPStream /usr/bin/PPStream ; \
ln -s /opt/pps/lib/libemscore.so.0.1.* /usr/lib/libemscore.so ; \
ln -s /opt/pps/lib/libemsnet.so.0.1.* /usr/lib/libemsnet.so ; \
ln -s /opt/pps/lib/libemscore.so.0.1.* /usr/lib/libemscore.so.0 ; \
ln -s /opt/pps/lib/libemsnet.so.0.1.* /usr/lib/libemsnet.so.0 ;
launch PPStream
Quote:
PPStream
Method #2
dependencies: totem, Beautiful Soup, totem-pps, gst-plugins-pps

totem
- install GSB Slackware OR
- go through the very long list of deps to build totem and gstreamer packages for stock slackware

Beautiful Soup
- install using SBo

various pps libraries, totem-pps, gst-plugins-pps
- install as detailed in this wiki, (reproduced below)

Quote:
Introduction
Steps to install totem-pps from source tarballs.

Details
Install a few libraries provided by pps.tv
Download release_for_ubuntu.tgz,

Untar the tarball
Quote:
tar zvxf release_for_ubuntu.tgz
cd release_for_ubuntu
Copy the config file to your system
Quote:
cp ppscdn_config.ini /etc
Another tarball named libs_for_ubuntu.tgz should be in directory release_for_ubuntu. Please untar this tarball too.
Quote:
tar zvxf libs_for_ubuntu.tgz
What we need is the libpps.so, so copy them to your system library path for example
Quote:
cp libs/libpps*so* /usr/lib -a
Install a gstreamer plugin to play pps:// or tvod:// streams.
Download current/latest versions
- libppswrapper-0.0.18.2.tar.gz
- gst-plugins-pps-0.0.18.1.tar.gz
(in future, get them from totem-pps: here)

Install libppswrapper by source, or use src2pkg
Quote:
tar zvxf libppswrapper-0.0.18.2.tar.gz
cd libppswrapper-0.0.18.2
./configure --prefix=/usr
make && sudo make install
Then install the gstreamer plugin. You have to install gstreamer and gst-plugins-base development packages to compile it.
Quote:
tar zvxf gst-plugins-pps-0.0.18.1.tar.gz
cd gst-plugins-pps-0.0.18.1
./configure --prefix=/usr
make && sudo make install
Install the totem plugin.
Download totem-pps-0.0.19.6.tar.gz
(in future, get them from totem-pps: here)

Install the plugin. Before installing it, please ensure totem, python and BeautifulSoup are installed on your system.
Quote:
tar zvxf totem-pps-0.0.19.6.tar.gz
cd totem-pps-0.0.19.6
./configure --prefix=/usr
make && sudo make install
using google-chrome (translated in english)
go to any of PPStream pages below,
Home
Movies
TV
Anime
Arts
Stars

find movie of choice, click on poster and be brought to the links page,
translate page to english and look for a hyperlink named Clients play
right-click and copy URL of "Clients play", the section in bold below is your stream url to input in totem

Quote:
pps://oeiyzy6qeb2hefoy2aqa.pps/%E4%BB%A5%E7%88%B1%E4%B8%BA%E5%90%8D%E5%9B%BD%E8%AF%AD%E7%89%88-01.rmvb?maingen=%E6%97%A5%E9%9F%A9%E5%89%A7%E5%9C%BA&subgen=%E4%BB%A5%E7%88%B1%E4%B8%BA%E5%90%8D(%E8%8F%B2% E5%BE%8B%E5%AE%BE%E7%94%B5%E8%A7%86%E5%89%A7)
note: the stream could be in rmvb, wmv, avi, rm etc

using firefox (chinese only)
I'm not sure if firefox can have pages translated. So it's no-go for non-chinese users here. Anyway, here's how to launch totem automatically when clicking a pps:// or tvod:// URL:

Quote:
cat ~/.mozilla/firefox/profiles.ini | grep Path
*mousepad ~/.mozilla/firefox/*Path_found_above*.default/prefs.js (or use any other editor)
input whole section below
Quote:
user_pref("network.protocol-handler.app.tvod", "/usr/bin/totem");
user_pref("network.protocol-handler.expose.tvod", false);
user_pref("network.protocol-handler.external.tvod", true);
user_pref("network.protocol-handler.app.pps", "/usr/bin/totem");
user_pref("network.protocol-handler.expose.pps", false);
user_pref("network.protocol-handler.external.pps", true);
Note on Totem: You can create a playlist of several pps or tvod streams and load into totem for playback. Totem will download and save the streams to a cache, but it will take a while. Use this method to download streams for later viewing, especially when the network speed is slow. Just load the playlist again and it will stream from local hdd.

The cache ~1GB cannot be recovered/exported to a normal media file, it will be over-written as you download more streams.

sample playlist: filename.pls
Quote:
[playlist]
NumberOfEntries=3
File1=pps://abcdefg.wmv
File2=pps://hijklmn.rmvb
File3=pps://qrstuvw.rm
Latest totem version is 2.91.4 but needs gnome3. The highest version which works for slackware is 2.32.0.

Last edited by linuxs64; 01-09-2011 at 03:07 PM. Reason: adding screenshots
 
Old 01-10-2011, 06:49 AM   #2
igadoter
Senior Member
 
Registered: Sep 2006
Location: wroclaw, poland
Distribution: many, primary Slackware
Posts: 2,717
Blog Entries: 1

Rep: Reputation: 625Reputation: 625Reputation: 625Reputation: 625Reputation: 625Reputation: 625
May I use this on my local network? It is much better than than copying files from remote computer and playing on a local host. Greetings
 
Old 01-10-2011, 11:21 AM   #3
linuxs64
Member
 
Registered: Jun 2010
Posts: 116

Original Poster
Rep: Reputation: 47
Quote:
Originally Posted by igadoter View Post
May I use this on my local network? It is much better than than copying files from remote computer and playing on a local host. Greetings
AFAIK, files downloaded cannot be saved although they reside in a local cache, which is flushed after a while. Totem on Gnome3 has a file save feature, but I have not tested it. There is another hack which uses MPlayer as the backend, but I haven't got it to work. I managed to download the source files but it just won't work after compiling (trying to get mplayer to pipe pps:// and dump the streams locally).

The PPStream libraries aren't open source, some of the hack-devs appear on googlecode and disappear after some time, probably in a stint to get hired. P2P streaming is big in China, xunlei (aka giganet) is streaming HD (720p) content with thousands of peers, in direct competition with local cable TV. PPStream is just a newbie compared to Xunlei, which generates huge advertising profits (Xunlei is a public-listed company). This contrasts deeply with most private torrent trackers on the net, e.g. TPB.

I found that after using PPStream or the Xunlei client, there's no need to use torrents anymore. Movie streaming just works, even for 720p in rmvb, as long as the connection is up to speed.

Note: when using the official PPStream binaries, your computer becomes a seed to other peers on the P2P network via a daemon name PPSdaemon, which resides even after the client quits. This is how the network operates and is the norm when using the Windows client. Using totem in linux doesn't give this liability, although you do upload to other peers when totem is opened.

Last edited by linuxs64; 01-10-2011 at 11:25 AM.
 
Old 01-10-2011, 04:11 PM   #4
pino_otto
Member
 
Registered: Dec 2005
Location: Italy
Distribution: Slackware
Posts: 89

Rep: Reputation: 19
I installed PPStream using method #1. The programs starts, but when I select a movie, it crashes:

Code:
# PPStream 

(process:6714): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(process:6714): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

(process:6714): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
Segmentation fault
I have installed:
- MPlayer-20100530-i486-1sl
- mplayer-codecs-20100303-i686-3sl

I also tried with mplayer-codecs-20071007-i486-3_SBo.

Any suggestions for fixing this problem?
 
Old 01-10-2011, 05:32 PM   #5
linuxs64
Member
 
Registered: Jun 2010
Posts: 116

Original Poster
Rep: Reputation: 47
Please post the output of

Quote:
cd /opt/pps/bin ; \
ldd PPStream ;
this is mine
Quote:
linux-gate.so.1 => (0xffffe000)
libemscore.so.0 => /usr/lib/libemscore.so.0 (0xb7842000)
libz.so.1 => /usr/lib/libz.so.1 (0xb782e000)
libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0xb6513000)
libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0xb64d2000)
libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0xb5a25000)
libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0xb5907000)
libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0xb566b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb5652000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb5568000)
libm.so.6 => /lib/libm.so.6 (0xb5542000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb5525000)
libc.so.6 => /lib/libc.so.6 (0xb53c3000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb53ba000)
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb5333000)
libdl.so.2 => /lib/libdl.so.2 (0xb532f000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb52ff000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb5289000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb527b000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb515f000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb515b000)
librt.so.1 => /lib/librt.so.1 (0xb5151000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb5061000)
libpng14.so.14 => /usr/lib/libpng14.so.14 (0xb503b000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb4ff6000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb4fef000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xb4fd8000)
/lib/ld-linux.so.2 (0xb78ae000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb4fbf000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb4fbc000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb4fb7000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb4f97000)
libuuid.so.1 => /lib/libuuid.so.1 (0xb4f92000)
there could be other deps we missed on slackware (looks unlikely though), note that the original deps/requirements were based on ubuntu.

Last edited by linuxs64; 01-10-2011 at 05:35 PM.
 
Old 01-11-2011, 02:37 PM   #6
pino_otto
Member
 
Registered: Dec 2005
Location: Italy
Distribution: Slackware
Posts: 89

Rep: Reputation: 19
Here it is:

Code:
giovanni@slack:/opt/pps/bin$ ldd PPStream 
        linux-gate.so.1 =>  (0xffffe000)
        libemscore.so.0 => /usr/lib/libemscore.so.0 (0xb77b6000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb77a2000)
        libQtWebKit.so.4 => /usr/lib/libQtWebKit.so.4 (0xb67ca000)
        libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0xb6787000)
        libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0xb5cf5000)
        libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0xb5bcf000)
        libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0xb594d000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb5934000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb5844000)
        libm.so.6 => /lib/libm.so.6 (0xb581e000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb5800000)
        libc.so.6 => /lib/libc.so.6 (0xb569d000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb562c000)
        libdl.so.2 => /lib/libdl.so.2 (0xb5628000)
        libQtXmlPatterns.so.4 => /usr/lib/qt/lib/libQtXmlPatterns.so.4 (0xb5218000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb520e000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb51e0000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb516a000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb515c000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb5041000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb503c000)
        librt.so.1 => /lib/librt.so.1 (0xb5033000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb4f63000)
        libpng14.so.14 => /usr/lib/libpng14.so.14 (0xb4f3d000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb4f03000)
        libEGL.so.1 => /usr/lib/libEGL.so.1 (0xb4ef6000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb4eed000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb4ed6000)
        /lib/ld-linux.so.2 (0xb7818000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb4eb6000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb4e9e000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xb4e99000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb4e96000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb4e91000)
 
Old 01-11-2011, 03:42 PM   #7
linuxs64
Member
 
Registered: Jun 2010
Posts: 116

Original Poster
Rep: Reputation: 47
I'm not sure what is wrong here.

I used to get the exact error message in x86 13.1, but after doing a clean install of slackware-current and installing GSB-current, PPStream just works automatically. Why don't you try GSB with totem? The PPStream package was originally compiled for Ubuntu.
 
Old 01-11-2011, 04:01 PM   #8
pino_otto
Member
 
Registered: Dec 2005
Location: Italy
Distribution: Slackware
Posts: 89

Rep: Reputation: 19
What is GSB?

Where can I find it?
 
Old 01-12-2011, 03:48 AM   #9
pino_otto
Member
 
Registered: Dec 2005
Location: Italy
Distribution: Slackware
Posts: 89

Rep: Reputation: 19
OK, I found GSB:

http://gnomeslackbuild.org/

If I install it, does it create any troubles to the standard Slackware?
 
Old 01-12-2011, 04:30 PM   #10
pino_otto
Member
 
Registered: Dec 2005
Location: Italy
Distribution: Slackware
Posts: 89

Rep: Reputation: 19
I installed GSB on Slackware 13.1, then I installed all the other packages following the instructions for method #2.

When I try to open a movie location (pps://...) in totem, X crashes.
 
Old 01-13-2011, 02:15 AM   #11
linuxs64
Member
 
Registered: Jun 2010
Posts: 116

Original Poster
Rep: Reputation: 47
Please post the output for each command below:

Quote:
ls /var/log/packages | grep BeautifulSoup
Quote:
ls /var/log/packages | grep totem
Quote:
ls /usr/lib/libpps*so*
Quote:
ls /usr/lib/gstreamer-0.10/libgstppssrc*
Quote:
ls /usr/lib/totem/plugins/ppstream
I don't remember if the default totem bundled with GSB can play rmvb, wmv files, as PPStream uses these formats widely. A rebuild of mplayer-codecs, ffmpeg, gstreamer with plugins and totem may be required (I can post the steps if you need them).

If you have any local rmvb or wmv files, please try to play them in totem. Totem is named as "Movie Player" in the gnome menu.

Last edited by linuxs64; 01-13-2011 at 06:03 AM.
 
Old 01-13-2011, 02:05 PM   #12
pino_otto
Member
 
Registered: Dec 2005
Location: Italy
Distribution: Slackware
Posts: 89

Rep: Reputation: 19
Here is the information:

Code:
root@slack:~# ls /var/log/packages | grep beautifulsoup
beautifulsoup-3.1.0.1-i486-3sl
root@slack:~# ls /var/log/packages | grep totem 
totem-2.30.2-i486-1gsb
totem-pl-parser-2.30.1-i486-1gsb
totem-pps-0.0.19.6-i486-1
root@slack:~# ls /usr/lib/libpps*so* 
/usr/lib/libppsapi.so@           /usr/lib/libppsfds.so.0.1.940*     /usr/lib/libppsvodres.so.0@
/usr/lib/libppsapi.so.0@         /usr/lib/libppssg.so@              /usr/lib/libppsvodres.so.0.1.940*
/usr/lib/libppsapi.so.0.1.940*   /usr/lib/libppssg.so.0@            /usr/lib/libppswrapper-preload.so*
/usr/lib/libppsbase.so@          /usr/lib/libppssg.so.0.1.940*      /usr/lib/libppswrapper.so@
/usr/lib/libppsbase.so.0@        /usr/lib/libppsvodnet.so@          /usr/lib/libppswrapper.so.0@
/usr/lib/libppsbase.so.0.1.940*  /usr/lib/libppsvodnet.so.0@        /usr/lib/libppswrapper.so.0.0.0*
/usr/lib/libppsfds.so@           /usr/lib/libppsvodnet.so.0.1.940*
/usr/lib/libppsfds.so.0@         /usr/lib/libppsvodres.so@
root@slack:~# ls /usr/lib/gstreamer-0.10/libgstppssrc* 
/usr/lib/gstreamer-0.10/libgstppssrc.la  /usr/lib/gstreamer-0.10/libgstppssrc.so*
root@slack:~# ls /usr/lib/totem/plugins/ppstream 
PPSVideoList.py   ppslist.pyc   ppslist2.pyo        ppstream.pyc           ppstream_translation.py  urllib2cache.py
PPSVideoList.pyc  ppslist.pyo   ppstream-config.ui  ppstream.pyo           threadpool.py            urllib2cache.pyc
PPSVideoList.pyo  ppslist2.py   ppstream-ui.xml     ppstream.totem-plugin  threadpool.pyc           urllib2cache.pyo
ppslist.py        ppslist2.pyc  ppstream.py         ppstream.ui            threadpool.pyo
Also, please can you post the steps to rebuild the packages that you mentioned?
 
Old 01-13-2011, 02:33 PM   #13
linuxs64
Member
 
Registered: Jun 2010
Posts: 116

Original Poster
Rep: Reputation: 47
Here are the steps I used to rebuild totem:

- ffmpeg SBo
- gstreamer (slackware dvd or source tree)
- gst-plugins-base (I used gsb version, although slackware version is also available)
- gst-plugins-good (gsb)
- gst-plugins-bad (gsb)
- gst-plugins-ugly (gsb)
- gst-ffmpeg (gsb) with configure option "--with-system-ffmpeg" in slackbuild, wait for warning message to pause-&-finish
- gst-python (gsb)
- gnome-media** (gsb) this is optional
- totem (gsb)
- gst-plugins-pps
- totem-pps

GSB slackbuilds can be found in the GSB source tree. Latest/higher gstreamer/gst sources available from here, I used them to build successfully. Edit version number accordingly in slackbuilds before compiling.

Use command below to force rebuilding of GSB packages (don't have to uninstall before compile)
Quote:
./package.Slackbuild --force
Use command below to upgrade packages
Quote:
upgradepkg --reinstall /tmp/package.txz
note: gnome-media is the name of the package for "gstreamer-properties", aka Multimedia-something in Gnome System -> Preferences menu. Somehow, the shortcut is missing from the menu after rebuilding.

Last edited by linuxs64; 01-13-2011 at 02:35 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Making Slackware and Slackware Derivative Linux Distros Speak Your Language LXer Syndicated Linux News 0 01-29-2009 12:30 AM
About Slackware 9.1 boot disk?? ftp://ftp.kpn.be/pub/linux/slackware/slackware-9.1-is AL3OMDAH Slackware 4 04-18-2007 09:54 AM
does emule and ppstream have linux version ztdep Linux - Software 1 11-06-2006 10:26 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 08:53 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration