Tux, the Linux mascotte

home

OpenSource

streaming

DS Lite

linux installation

Wood

playhouse

Interaction

swing

Android
Googlebot link for my SO

A new version of MythStream using QT4 for MythTV v0.22 is in the works. I'm scanning the mythtv-users list, my inbox and the net for patches and parsers. If you have one / know of one please drop me a mail.

Latest snapshot is mythstream_mythtv-r21640. Tested with MythTv rev 21640 sept 2, 2009. Unpack and read README_QT4 to see install instructions, warnings, applied patches and the status of this snapshot.

Streaming

This is the homepage of MythStream, StreamTuned and StreamSniff (download).
View the MythStream documentation (work in progress)

MythStream

MythStream is an unofficial MythTv plugin that plays Internet audio and video streams.

MythStream can read, browse and interact with stream url sources to connect you to news, music, video clips, live cams and documentaries from all over the world. It also plays your top 5 favorite streams if you are tired of exploring the diverse international content that's out there.

The world of streams is highly dynamic, and you need some controls to keep up and tune in. MythStream is designed to provide these controls. It interacts with stream index sites, RSS feeds, video sharing sites and other sites that provide up to date content links. For maximum flexibility, the interaction with these stream url sources is delegated to external parsers that are easily created or modified.

The default MythStream installation contains parsers that provide the following functionallity:
  • standard stream play (add the url and start the stream)
  • RSS feed support (e.g. podcasts)
  • interactive content browsing (for e.g. Shoutcast, BBC, wwiTV, Uitzendinggemist.nl)
  • custom searches using user input from MythTv's virtual keyboard
  • play and/or download media files (e.g. YouTube and Dailymotion video's)
  • run playlists - create your personal music tv channel
  • stream-url discovery in html only lists
If your favorite stream url source is not supported by the existing parsers just create one, or ask someone to do it for you.

MythStream v0.18x compiles with MythTV v0.20 and probably svn. Let me know when that's no longer the case.

mythstream playing mythstream interactive menu mythstream podcast support mythstream stream music video
Cluster ABS Bluescast playing, song and station info visible Gimped picture showing an interactive menu "workflow" Available, downloading and downloaded podcast content Playing a music video from a video sharing site.
On the fly stream item edit Querying video site
Editing the properties of a movie trailer during play. Querying a Video sharing site using MythTV's virtual keyboard.



MythStream FAQ

  • The streams in MythStream are old/lame/not working/European(!)/not my taste/other
    The stream repository included in MythStream is just a demo. Some items in the demo might be useful to you (e.g. Shoutcast, WWMP), but most of the items are really only examples of how MythStream can work with parsers. To enjoy MythStream, you should tell MythStream to access your own favorite streams, index site searches, YouTube tags, etc.
  • How do I add my favorite stream?
    Press E, a popup window appears. Put a stream name in the second editbox, put the stream url in the third edit box. Make sure the last editbox is empty. Use button "Add new". See Configuring streams in the howto for more ways of editing streams.
  • Do I need a parser for my stream?
    Not if the URL "points to a stream", e.g. (and not limited to): mms and rtsp streams, URL's ending on pls or m3u. URL's pointing to a site that lists streams or media files (e.g. Youtube, Podcast feed, Shoutcast) do require a parser to format the data in the index for display in MythStream.
  • Can I reuse a parser for my own URL?
    Yes, most of the parsers can be reused. The podcast and rdfcast parsers work for every podcast I tested. The rss parser works with rss feeds, not tested much though. The YouTube and Dailymotion parsers accept your own search URL's or tag feeds. However, parsers that provide an "interactive menu" (as labeled here) are tailored for a specific source (URL).
  • So I want to use an existing parser. How?
    Just put the parser name (e.g. podcast) into the last editbox in the window brought up by pressing E.
  • Do I need to write a parser for my stream index URL?
    Some sites already have parsers, like Youtube, Shoutcast, Dailymotion, WWMP etc. See a list of parsers provided with MythStream. Some indexes that do not "hide" the stream URLs will work without parsers, but then the resulting stream list in MythStream will be mixed with non-stream URL's. For other sources you will need to write a parser, or ask someone to write one for you. Please share parsers you create. E.g. announce links to them on the mythtv users list, or ask me to include them in the tarball.
  • Why is MythStream this complex? I just want to listen to [insert stream here]
    If you just want to listen to [insert stream here], one line of Perl will do the trick. No MythStream needed. But if you want to play more streams, try out new streams or online media files or want to check for new additions in index sites, the investment in understanding MythStream will pay you back.
  • I don't see the new parser in the newest MythStream version
    The parser is available, but not used in your active stream storage (a place the stream items are stored). There is a demo storage that includes demo stream items for all parsers. To activate press 0, and then 9 to load it. An online storage (with possibly newer streams) is available by pressing 0, 8. To revert back to your own storage, press 0, 0.
  • Can you use some help with MythStream?
    Yes, I can use your help. To explain how to use MythStream in less words I needed here. To make it easier to use MythStream (people who don't want to offend me call my GUI's "expert interfaces"). To write and update parsers. To write lastfm and pandora interfaces (0.18_2 GUI is ready for it, I can't access Pandora from Europe due to copyright insanity). To test and debug MythStream on different platforms, to test compatibility with MythTV SVN. And last but not least: to do the things I didn't realize were begging to be done.


StreamTuned

Like MythStream, the application StreamTuned plays Internet audio/video streams or podcasts. In addition, StreamTuned provides stream recording, but it lacks MythStream's interactive menu support.

streamtuned play snapshot
playing stream

streamtuned recording snapshot
recording stream

streamtuned podcast snapshot
podcast feed
streamtuned info snapshot
item details


StreamSniff

A command line tool that sniffs network traffic for stream url's. I built it because I got tired chasing stream urls hidden behind loads of html and javascript. Run it as root, fire up your browser or your favorite stream player and start the stream you want to "expose". Streamsniff detects the initiation of rtsp, mms, icy and http streams, flv (flash media) files and performs a backtrace on http traffic to detect "playlist"-url's (stream metafiles). Streamsniff can also be compiled to dump every http request (see README)

As far as I (NAL) know this kind of uncovering the covered is still legal under Intellectual Property regulations or hackers-are-so-bad-we-need-to-suppress-all-techies laws known to me. However, because these regulations become more insanely broad every day, I cannot be sure you are allowed to use this software.

Sample output showing ICY, RTSP and MMS url's and their stream meta files:

ICY : http://212.92.28.98:2002/
    : http://real1.radio.hu/BartokG2.ram

RTSP: rtsp://rmlivev8.bbc.net.uk:554/farm/*/ev7/live24/6music/live/6music_dsat_g2.ra
    : http://www.bbc.co.uk/6music/ram/dsatg2.ram

MMS : mms://wm05.nm.cbc.ca/cbcr2-toronto
    : http://origin.www.cbc.ca/mrl2/livemedia/cbcr2-toronto.asx 
        
Streamsniff is experimental. It runs on little-endian (Intel/AMD), Linux and Windows XP SP2.


MythStream changes

New in v0.18_1

solved:
- high CPU usage during video play (reported on some ATI video card systems)
- direct lirc/keyboard input to mplayer interfered with myth key events
- screen redraw issues while switching views
- keeping video aspect ratio

new features:
- use speech synthesizer for "TV-off" operation of MythStream
- fullscreen command toggles preview, fullscreen and fullscreen zoom mode
- playlist support, maintaining fullscreen zoom mode for video
- add, edit, delete streams on the fly (press E)
- download media files to special download folder, share downloads between frontends
- faster interaction - mplayer stream init skipped when handler is set
- prompting for user input, e.g. search term (<:name::value:> tag in url)
- documentation
- asx.ram.rm.pls.m3u are now handled as stream meta files (set in mythstream.pro)
- pageup,pagedown in stream item list

new parsers:
- youtube, dailymotion (download/play, direct play requires mplayer svn > 2007aug19)
- tv-links.co.uk, not included in demo storage, see parser directory.

updated parsers:
- uitzendinggemist.nl (site change)
- all interactive parsers (bugfix)
- shoutcastTV
- apple movie trailer parser works again
- some parsers use stream item name in arg 3

bugs:
- setup window segfault (MythTV/MythStream class name conflict)
- escaping special chars on parser command line (Damien Braillard)
- explicit handler=default set by parsers prevented automatic meta file handling
- video pause caused switch to preview window
- font size issues

New in v0.17_2
- multistage parser to dynamically query websites (shoutcast, worldwidemediaproject, etc)
- support for non-PERL parsers (for systems without PERL, like MiniMyth)
- harvester cookie and referer support (required by some sites)
- improved http redirect handling
- automatic handling of ram stream metafiles
- volume gauge visisble (use [ and ])
- live stream storage switching (use 0..9)
- audio/video sync adjust (use + and -)
- play button toggles fullscreen
- relative url handling, parser upgrades, font shadow, video properties display, ...

New in v0.17
- compiles with MythTV svn (june 8, 2006)
- shows ice/shoutcast stream meta data (current song title and artist, available station info)
- uses myth's Virtual Keyboard support
- Parser changes (apple parser still broken however)
- decreased default font size
- mythweb module works again (patch Jochen)

New in v0.16 (MythStream and StreamTuned)
- compiles with mythtv v0.19
- podcast support
- playlist cache (to be nice to xml feeds)
- file download support (used by podcast)
- item detail information screen, launches viewer for html/text data in xml feeds
- "copy and paste" stream items between repositories
- parsing of (icecast) xml and other playlists though external (custimizable) scripts
- support for static html stream storages (on webservers refusing POST requests)
- separate dump window showing mplayer stdout, allows for manual stream url start.
- multiple customizable CustomStreamEvents (mplayer output events) in player.xml


Downloads

All code is protected by GNU/GPL
(note: most old files still downloadable by constructing correct URL)

mythstream 0.18_1 upgraders
Move your parsers, player.xml and stream-ui.xml to a safe location if you changed them for whatever reason. After installing, Press 0, 9 to load the v0.18 demo stream storage showing off new features. Press 0, 0 to reload your default MythStream storage. Look here for more information.

date category version download comment
2009 aug 30 apple parser release 3 apple3.pl Patched by Paul Bender, MiniMyth. Place this file as apple.pl in your parser dir. Note that apple trailer site now requires a QuickTime user agent string. See comment in file for a workaround.
2009 aug 30 youtube parser release 5 youtube5.tar.gz Unpack in parser dir and see README for usage
2008 sept 15 shoutcast parser release 2 shoutcast2.tar.gz Old parser stopped working after site changes. Now using XML API
2008 aug 26 streamsniff 0.05 streamsniff-v0.05.tar.gz Sniffs network traffic for mms, rtsp, icy, http stream url's. Detects x-shockwave-flash and FLV payload in http. Performs http backtrace for every url found. Runs on Linux Intel/AMD, might run on Windows
2008 july 13 parser release 3 omroep3.tar.gz (Dutch public television) Voor als je graag TV wilt kijken op je TV ipv je PC. Jammer dat de publieke omroepen niet al hun programma's beschikbaar stellen via een standaard interface. De site wijzigt nog al eens...
2008 may 12 streamsniff 0.04 streamsniff-v0.04.tar.gz Sniffs network traffic for mms, rtsp, icy, http stream url's. Detects flv files in http. Performs http backtrace for every url found. Runs on Linux Intel/AMD, might run on Windows
2008 apr 07 mythstream 0.18_qt4 mythstream-0.18_qt4.tar.gz Compiles with MythTV svn, QT4. Use: qmake-qt4 mythstream.pro; make install. Note: doesn't work properly, still issues, help is appreciated
2008 feb 11 parser release 2 dailymotion2.tar.gz Parser for dailymotion.com. Unpack in parser dir and see REAME for usage
2008 jan 13 parser release 1 google.tar.gz Parser for Google Video - Unpack in parser dir and see REAME for usage
2008 apr 06 parser release 4 youtube4.tar.gz Parser for Youtube. Includes video search feed by Nemanja Stefanovic - Unpack in parser dir and see README for usage
2008 feb 11 parser release 3 youtube3.tar.gz Parser for Youtube. Includes video search feed by Nemanja Stefanovic - Unpack in parser dir and see REAME for usage
2008 jan 13 parser release 1 yahoo.tar.gz Parser for Yahoo Video - Unpack in parser dir and see REAME for usage
2008 jan 13 parser release 1 zoomin.tar.gz Parser for Zoomin.TV by Wauter - Unpack in parser dir and see REAME for usage
2008 jan 13 parser release 1 belegger.tar.gz Parser for Belegger.TV (Dutch) by Wauter - Unpack in parser dir and see REAME for usage
2008 apr 06 parser release 2 retrovision2.tar.gz Parser for http://retrovision.tv - Unpack in parser dir and see REAME for usage
2008 jan 08 parser release 1 retrovision.tar.gz Parser for http://retrovision.tv - Unpack in parser dir and see REAME for usage
2007 nov 23 patch For MythTV svn 23 nov mythstream.cpp.patch svn20071123 compilation error: protected MythPopupBox destructor
2007 oct 1 patch binary parsers harvester.cpp.diff Only needed when using binary parsers (and that's a non-default compile time option)
2007 sept 25 mythstream 0.18_1 mythstream-v0.18_1.tar.gz Speech synthesizer, playlists, Youtube, Dailymotion, Downloads, Video play issues resolved. See changes for more.
2006 oct 13 mythstream 0.17_2 mythstream-v0.17_2.tar.gz Interactive menu support, non-PERL parser support, parsers for WorldWideMediaProject, wwiTV, BBC, improved http support.
2006 sept 09 BBC parser - bbc_parser.tar.gz Two-stage BBC parser by Robin Gilks. Includes SQL-script to add 4 folders with BBC media links to your stream item repository. Works with mythstream v0.17_1, included in 0.17_2. Download, unpackand read INSTALL
2006 aug 07 mythstream patch mythtv v0.19 - mythstream mythtv v0.19 patch patch for mythstream 0.17_1, enables compilation for mythtv v0.19 (patch by jaKa). Not tested.
2006 july 10 mythstream 0.17_1 mythstream-v0.17_1.tar.gz v0.17 with widescreen support (Mike Dean)
2006 june 08 mythstream 0.17 mythstream-v0.17.tar.gz compiles with MythTV svn (last checked june 08 2006), song/artist/station info in GUI, uses myth virtual keyboard widget, mythweb module, see changelog on this page for more.
2006 june 06 patch - mythstream svn patch 0.16_5 to 06062006-svn patch by Navaho Gunleg (thanks). Most of it is used in v0.17 ("fft shown in video display"-bug solved differently in 0.17 but if you still have problems check this patch)
2005 sept 24 streamsniff 0.03 streamsniff-v0.03.tar.gz Sniffs network traffic for mms, rtsp, icy, http stream url's. Performs http backtrace for every url found. Runs on Linux Intel/AMD and Windows XP SP2
2005 sept 24 streamsniff 0.03 streamsniff.exe Streamsniff Windows executable compiled with MinGW. Runs on XP SP2, might run on W2K. No special precautions are taken to guarantee the integrity of this executable. Use at your own risk.
2005 aug 24 mythstream 0.16_5 mythstream-v0.16_5.tar.gz Compiles with MythTV 0.19 release. Stream url in parser call, optionally skipping url fetch. Mythweb addition by jK. iTunes movie trailer parser by Michael Knoll
2005 may 14 mythstream 0.16_4 mythstream-v0.16_4.tar.gz for mythtv 0.18, R. de Vos shoutcast parser included
2004 jan 10 parsers 0.16_2 shoutcast.pl shoutcast parser, by R. de Vos. Example urls in script comments, included in v0.16_4
2004 dec 24 streamtuned 0.16_2 streamtuned-v0.16_2.tar.gz xml parsing, podcasts
2004 apr 18 streamtuned 0.13 streamtuned-v0.13.tar.gz
2004 apr 12 streamtuned 0.12 streamtuned-v0.12.tar.gz
2004 dec 27 mythstream 0.16_3 mythstream-v0.16_3.tar.gz for mythtv 0.16 and 0.17
2004 dec 27 mythstream patch 0.16_2 stream-cursorleft.png missing image (tab cursor) from v0.16_2 tarball. Place in /usr/share/mythtv/themes/default
2004 dec 24 mythstream 0.16_2 mythstream-v0.16_2.tar.gz xml parsing, podcasts
2004 nov 30 mythstream 0.16 mythstream-v0.16.tar.gz external parsers, gui changes
2004 mar 21 mythstream 0.14 mythstream-v0.14.tar.gz


Help wanted: skin

StreamTuned needs a good "skin". My own design is, well, see for yourself. To all those talented people out there: please help me out here. Can you come up with a cool or functional or retro or "warm" or whatever skin? If the application "form factor" must change: please contact me. I'll see what I can do (probably putting button coords etc in a xml file you can edit). If you want to help download the current design (GIMP). Check the /usr/share/streamtuned/ directory to see how the layers in the GIMP file are merged to produce the s_xxx.png files StreamTuned uses.