PDA

View Full Version : HME/VLC video streamer, v1.0 -- watch NASA TV, etc.


Pages : [1] 2

wmcbrine
08-23-2008, 08:06 PM
HME/VLC video streamer, v3.6
by William McBrine <wmcbrine@gmail.com>
July 3, 2010

A simple streaming HME server for the TiVo Series 3+.

Uses ports 9043 and 9044. Tested on Ubuntu Linux 8.04 through 10.04, Mac
OS X 10.4, and Windows XP.

Requirements:

- TiVo S3, HD or Premiere with 9.4 or later software

- Python -- 2.x only (2.6.x recommended)
http://python.org/

- VLC (0.8.6 recommended)
http://www.videolan.org/

Use:

- Unzip
- (Optional) Edit config.ini to point to your files
- Run start.py
- Go to the Music, Photos and More menu on your TiVo

Stop:

- Ctrl-C on Linux or Mac; close the window on Windows. (Ctrl-C does an
orderly shutdown that removes the app from the menu, but unfortunately
this doesn't work in Windows.)

More info:

Streams can require VLC to reencode/rebroadcast them, or not. For the
TiVo to use a stream directly, without VLC, the stream must be MPEG-1,
MPEG-2 or MPEG-4 h.264, and served via http. Entries for new streams,
shares, RSS feeds or Shoutcast sources can be created in config.ini.

Only one instance of VLC will be run at a time, but it can support
multiple TiVos watching the same stream, with little additional
overhead. However, two different TiVos can't simultaneously watch two
different streams if they both require VLC.

VLC 0.9 through early 1.x was broken for HME/VLC's purposes.

Changes:

3.6 -- The latest versions of VLC finally work again, _if_ the frame
rate is set to 30 (instead of 29.97) and the codec to mp2v
(instead of mp1v). Reported by "Allanon".

Now based on HME for Python version 0.18, which includes e.g.
various fixes for Zeroconf.

Support for non-ASCII characters in filenames and description
text.

The new HD UI on the TiVo Premiere requires RGB icons; use a
standard-def RSS icon when appropriate.

Encode audio at 48 KHz instead of 44.1; default video bitrate is
now 4 Mbps instead of 2.

Some broken feeds have enclosures with no types.

Purged some streams and feeds that no longer work, including
C-SPAN.

3.5 -- Descriptions for Shoutcast, based on the "name" field. This is
actually backwards -- "name" should be the title, and "ct" the
description -- but the way the name field is abused, this is the
only way that makes sense.

Support for pyTivo .txt files. Currently only the description is
used.

Retry with VLC (or show the error message) from handle_error() as
well as handle_resource_info().

Tweak the gap between the title and the description -- now six
lines fit the info window neatly.

If the only items are either live streams or RSS feeds, skip
their folders. (This is similar to what's done for files, but
different -- the top-level menu retains its name and background
color.)

3.4 -- No more idle timeout during paused video.

If live streams or RSS feeds are three or fewer items each, show
the items in the top-level menu instead of a folder; also, if
only one item would appear in the top-level menu, and it's a
directory, then show the directory's contents instead.

Display description text in the info view. Currently this is only
automatic for RSS items, but you can set it for live streams if
you like, by adding a "desc=whatever" line.

More internal reorganization.

3.3 -- Added support for "needs_vlc" in file shares. Normally, the
extension of the file is used to determine whether VLC should be
used; and if playback fails without it, it's retried with VLC.
But some files in ostensibly compatible formats don't play, but
don't give an error, either, so HME/VLC doesn't know to retry
them. Setting "needs_vlc=True" in config.ini for the share will
force the use of VLC even for these not-so-compatible files.

RSS Feeds are now kept in a separate top-level folder.

Slightly better error reporting/logging.

Internal reorganization.

3.2 -- Files with the extensions ".tivo", ".m4v", ".mpeg", ".vob", and
".m2v" are now passed through without reencoding (in addition to
the old ones ".mpg" and ".mp4"). The supported extension list is
now derived from the list of MIME types in start.py.

Skip items in RSS feeds with no enclosures, or with enclosures
not of type video, since some feeds include mixed media.

3.1 -- Use HD menus when possible.

Wrap text in the "Loading..." screen.

Separate RSS icon.

3.0 -- Support for iTunes-style RSS feeds, and Shoutcast TV. See the
included config.ini for configuration examples. Mostly due to
Jeff Mossontte, aka "Allanon".

2.7 -- If files or streams fail a pass-through (non-VLC) attempt, try
again using VLC, if available. Suggested by TCF user "goodtrips".
(Not as helpful as one would expect -- VLC is refusing to
transcode some things that it can play perfectly well.)

Added a few more recognized extensions (let me know if there's
one you want).

Page Up / Page Down was messed up.

Lists with more than 256 items caused an exception. Reported
by "Allanon".

2.6 -- Make sure VLC is shut down even when the HME/VLC session ends
abnormally. Suggested by TCF user "texaslabrat".

Use AC3 instead of MPEG audio -- should allow for more channels
and higher quality.

Added support for setting audio bitrate via config.ini; default
is 384.

Rounded end for the highlight bar; shaded background area now
stays in place, as in TiVo's own menus; delay when sliding the
menu in is more reliable.

2.5 -- Server port and video bitrate can be set in config.ini; the vlc
path is taken from the [hmevlc] section instead of [DEFAULT].

start.py is now identical to the HME for Python version; the port
and datapath are set in config.ini. (If you're upgrading from a
previous version and have your own, modified config.ini, you
should copy the [hmeserver] and [hmevlc] sections from the new
one.)

It should no longer be necessary to set the datapath under
Windows, unless your videos are on a different drive from
HME/VLC. You still can only use shares on one drive at a time,
unless all the videos in a share require reencoding.

Paths in config.ini are now validated; shares with invalid paths
are skipped.

Reorganized.

2.4 -- Allow specifying the location of VLC via "vlc=/path/to/vlc" in
the DEFAULTS section of config.ini.

Recognize when VLC isn't found, and don't show items that need
it.

Allow the Advance key to skip to the end/beginning of a menu.

Remember the position in lower menus as well as higher. This is
closer to the behavior of the TiVo's built-in menus. They're only
remembered while the app is running.

Use images for the menu backgrounds. I liked my squares routine,
but the TiVo didn't like all those transparent views.

A little more room for text in menus.

2.3 -- No more leaking text resources.

For debugging purposes, I'd disabled the 9.4-TiVo-software-only
test, and forgot to reenable it before releasing 2.2. Not for the
first time.

2.2 -- Generates fewer views, less cropping in the info bar, and minor
tweaks to bring it closer to standard TiVo menu behavior.

2.1 -- Support for local file shares.

2.0 -- Now presents itself as one app, generates its own menu, and uses
config.ini to define streams.

1.3 -- Rearranged to use the HME for Python package unmodified (except
for the port number and name in start.py, nee hmeserver.py).

1.2 -- More graceful handling of some error conditions.

Added C-SPAN and ResearchChannel.

1.1 -- Added fps and samplerate to the VLC parameters (the TiVo can only
accept certain values for these). Not needed for NASA TV, but for
some other files/streams.

The progress bar colors and sounds were not always being updated
correctly.

[Now hosted at GitHub (http://github.com/wmcbrine/hmevlc).]

wmcbrine
08-23-2008, 08:09 PM
I only have NASA TV at the moment; let me know if you'd like to see anything added. (Right now, I'm only looking for static URLs. Parsing RSS feeds etc. is the next step...)

wmcbrine
08-25-2008, 01:35 AM
No suggestions?

A couple of minor tweaks in this version.

wmcbrine
08-25-2008, 06:57 PM
Unzip this and drop it in to add C-SPAN 1, 2 and 3. Sorry about the PQ.

[file removed -- doesn't work with new versions, nor is it needed]

dylanemcgregor
08-25-2008, 07:22 PM
Seems cool. If I ever get a S3/HD I'll have to remember to check it out.

wmcbrine
08-26-2008, 02:58 PM
More graceful handling of some errors, and added the Research Channel.

wmcbrine
08-26-2008, 04:27 PM
Drop-in package for CNN live video streams 1, 2, 3 and 4. Note that these don't correspond to any of their cable channels -- they do a separate web production. But that's a good thing, because there are no commercials. :)

No icons this time.

[file removed -- doesn't work with new versions, nor is it needed]

fyodor
08-26-2008, 04:38 PM
Neat. I'm curious if there are plans for some sort of local file selector so that it can stream non-compliant files. Or would that mess with the current operation too much?

Thanks
F

Allanon
08-29-2008, 05:08 AM
Been trying to get streams from http://www.americafree.tv to work but no luck. The stream plays in VLC but can't get your program to play them.

Also under Windows XP VLC doesn't close when exiting a stream on the Tivo. If a new stream is then played the result is the requested VLC stream fails to open and the opened VLC stream is played.

wmcbrine
08-29-2008, 08:52 AM
Been trying to get streams from http://www.americafree.tv to work but no luck. The stream plays in VLC but can't get your program to play them.It's probably some attribute, such as the resolution, that's out of spec for the TiVo -- when I don't specify it, VLC uses the original when reencoding. I force the frame rate, the codec and the sample rate, but not everything.

Edit: OK, it's not obvious to me what URL from there I would pass to VLC. What are you using?

Also under Windows XP VLC doesn't close when exiting a stream on the Tivo.Works for me.

Edit: I just double checked, and yeah, it's still working for me.

wmcbrine
08-29-2008, 02:30 PM
New version -- just internal rearrangement. See if it works any differently for you. (It shouldn't, and it doesn't for me, but you never know.)

Allanon
08-29-2008, 04:58 PM
When trying the new version I get the following when running start.py in Windows XP:

HME Server for Python 0.13
Skipping: cnn1 - No module named cnn1
Skipping: cnn2 - No module named cnn2
Skipping: cnn3 - No module named cnn3
Skipping: cnn4 - No module named cnn4
Skipping: cspan1 - No module named cspan1
Skipping: cspan2 - No module named cspan2
Skipping: cspan3 - No module named cspan3
Skipping: nasatv - No module named nasatv
Skipping: research - No module named research
Fri Aug 29 15:54:06 2008 Server Starts

EDIT: Just noticed your latest build didn't include the .py files for the streams.


EDIT: After adding the .py files for the streams I get the following error when trying to play a stream:

HME Server for Python 0.13
Skipping: nasatv - No module named nasatv
Skipping: research - No module named research
Fri Aug 29 16:12:52 2008 Server Starts
Registering: cnn1
Registering: cnn2
Registering: cnn3
Registering: cnn4
Registering: cspan1
Registering: cspan2
Registering: cspan3
192.168.0.14:51524 - - [29/Aug/2008 16:13:09] code 404, message Not Found
192.168.0.14:51524 - - [29/Aug/2008 16:13:09] "GET /cnn1/icon.png HTTP/1.0" 404
-
192.168.0.14:51525 - - [29/Aug/2008 16:13:09] code 404, message Not Found
192.168.0.14:51525 - - [29/Aug/2008 16:13:09] "GET /cnn2/icon.png HTTP/1.0" 404
-
192.168.0.14:51526 - - [29/Aug/2008 16:13:10] code 404, message Not Found
192.168.0.14:51526 - - [29/Aug/2008 16:13:10] "GET /cnn3/icon.png HTTP/1.0" 404
-
192.168.0.14:51527 - - [29/Aug/2008 16:13:10] code 404, message Not Found
192.168.0.14:51527 - - [29/Aug/2008 16:13:10] "GET /cnn4/icon.png HTTP/1.0" 404
-
192.168.0.14:51528 - - [29/Aug/2008 16:13:10] "GET /cspan1/icon.png HTTP/1.0" 20
0 -
192.168.0.14:51529 - - [29/Aug/2008 16:13:10] "GET /cspan2/icon.png HTTP/1.0" 20
0 -
192.168.0.14:51530 - - [29/Aug/2008 16:13:10] "GET /cspan3/icon.png HTTP/1.0" 20
0 -
192.168.0.14:51569 - - [29/Aug/2008 16:13:13] code 403, message Forbidden
192.168.0.14:51569 - - [29/Aug/2008 16:13:13] "GET /cspan3/ HTTP/1.1" 403 -
----------------------------------------
Exception happened during processing of request from ('192.168.0.14', 51569)
Traceback (most recent call last):
File "C:\Python24\lib\SocketServer.py", line 463, in process_request_thread
self.finish_request(request, client_address)
File "C:\Python24\lib\SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python24\lib\SocketServer.py", line 521, in __init__
self.handle()
File "C:\Python24\lib\BaseHTTPServer.py", line 314, in handle
self.handle_one_request()
File "C:\Python24\lib\BaseHTTPServer.py", line 308, in handle_one_request
method()
File "C:\Tivostreamingvideo\start.py", line 210, in do_GET
self._page(True)
File "C:\Tivostreamingvideo\start.py", line 162, in _page
raise Exception, "Can't find application class for %s" % name
Exception: Can't find application class for cspan3
----------------------------------------

wmcbrine
08-29-2008, 05:30 PM
EDIT: Just noticed your latest build didn't include the .py files for the streams.I thought the zip file seemed a little small. :o Try it now.

EDIT: After adding the .py files for the streams I get the following error when trying to play a stream:You can't use the old ones; they're done in a new way.

Allanon
08-30-2008, 01:21 AM
I fixed the VLC command window not closing problem by running a newer version of Python. I have both 2.4 and the latest version of Python installed but when double clicking on a .py file Windows launched Python version 2.4 instead of the latest. When launching with the latest version the VLC command window closed correctly.

wmcbrine
08-30-2008, 10:35 AM
Hmm. Perhaps I should recommend 2.5 in the docs...

How about this?

OK, it's not obvious to me what URL from [americafree.tv] I would pass to VLC. What are you using?

Allanon
08-30-2008, 12:48 PM
Here is the config I'm testing with:

TITLE = 'SciFi'
STREAM_URL = 'rtsp://video2.multicasttech.com/AFTVSciFiH2641000.sdp'
from hmevid import VideoStreamer

class Scifi(VideoStreamer):
def startup(self):
VideoStreamer.startup(self, TITLE, STREAM_URL, True)

These are all the SciFi streams from smallest to largest:

rtsp://video2.multicasttech.com/AFTVSciFiH26496.sdp
rtsp://video2.multicasttech.com/AFTVSciFiH264250.sdp
rtsp://video2.multicasttech.com/AFTVSciFiH264500.sdp
rtsp://video2.multicasttech.com/AFTVSciFiH2641000.sdp

Also, when trying to use TITLE = 'AFTV SiFi' it failed when trying to play the stream, what is the criteria for the title and class name?

wmcbrine
08-30-2008, 02:18 PM
Also, when trying to use TITLE = 'AFTV SiFi' it failed when trying to play the stream, what is the criteria for the title and class name?None for the title. For the class name, just the usual Python rules.

The class name is not derived from the title. You can specify it explicitly as you do the title:

CLASS_NAME = 'Whatever'

but if you don't, it's derived from the module name, capitalized. (The module name is the name of the directory, although you can also do it as "module.py".)

Edit: OK, took a look at those streams. While VLC does play them (barely), I can't even get it to dump them to a file on disk. When watching live, I get a lot of breakup, stuttering, etc. They look about the same with MPlayer.

Allanon
08-30-2008, 11:36 PM
Most of the time the streams play fine for me in VLC but I have seen times where the video is unwatchable. Maybe their servers get overload at certain times of the day.

Allanon
08-31-2008, 02:29 PM
Here is a stream for PG24 (http://www.pg24.tv/) which is a broadcast that covers online video gaming. It from the Czech Republic so it's not in English but if you like watching people play video games then you might like this stream.

TITLE = 'PG24'

STREAM_URL = 'rtsp://stream.pg24.tv/PG24-High'
#STREAM_URL = 'rtsp://stream.pg24.tv/PG24-Medium'
#STREAM_URL = 'rtsp://stream.pg24.tv/PG24-Low'

from hmevid import VideoStreamer

class Pg24(VideoStreamer):
def startup(self):
VideoStreamer.startup(self, TITLE, STREAM_URL, True)


EDIT:

And Here is another stream for ReelGood TV (http://www.reelgood.tv/index.php):

TITLE = 'ReelGood TV'
CLASS_NAME = 'ReelGoodTV'

STREAM_URL = 'rtsp://www.reelgood.tv/reelgoodtv'

from hmevid import VideoStreamer

class ReelGoodTV(VideoStreamer):
def startup(self):
VideoStreamer.startup(self, TITLE, STREAM_URL, True)


EDIT:

Here are some streams from WPTV (http://wptv.wp.pl/). They have other streams but they are not in English:

TITLE = 'WPTV - Gaming'
CLASS_NAME = 'WPTV_Gaming'

STREAM_URL = 'mms://av.wp.pl/wptv-gry'

from hmevid import VideoStreamer

class WPTV_Gaming(VideoStreamer):
def startup(self):
VideoStreamer.startup(self, TITLE, STREAM_URL, True)

TITLE = 'WPTV - Lifestyle'
CLASS_NAME = 'WPTV_Lifestyle'

STREAM_URL = 'mms://av.wp.pl/wptv-lifestyle'

from hmevid import VideoStreamer

class WPTV_Lifestyle(VideoStreamer):
def startup(self):
VideoStreamer.startup(self, TITLE, STREAM_URL, True)

Allanon
08-31-2008, 04:00 PM
Below is a stream that has multiple video tracks. Each track has a different video resolution. I can use the video track selector option in VLC's GUI to see the different tracks but I don't know how to select the video track from the VLC command line. Do you know how and can you add support for changing the VLC command line parameters in the .py stream file so the video track can be selected?

rtsp://av.wp.pl/wptv-film

wmcbrine
08-31-2008, 07:32 PM
I don't know, sorry. I'll continue looking.

Amusingly, this thread is now the #3 result on Google for "vlc multiple video tracks".

Allanon
08-31-2008, 07:49 PM
I found this: http://www.videolan.org/doc/streaming-howto/en/ch03.html

Search the page for "video track", the paragraph where the first instance is found might be the answer but I'm not sure.

wmcbrine
08-31-2008, 08:33 PM
Nope, that's not it.

wmcbrine
09-05-2008, 08:30 PM
2.0 -- Now presents itself as one app, generates its own menu, and uses a config.ini file to define the streams.

wmcbrine
09-07-2008, 08:57 PM
I guess some people will think this is the first useful version -- it now supports streaming your local files (and navigating through them) as well as Internet streams. See config.ini for some example file shares (commented out) -- basically, you use "dir" instead of "url" to specify them.

Local files can be transcoded, just like streams. I almost didn't include this, because it should really be done in a different way, rather than using a method designed for live streaming. You may miss a bit from the beginning, and the image may be messed up at first. But, it worked better than I expected, so I'm going ahead with it. (MPEG files won't have this problem -- files with an ".mpg" or "mp4" extension.)

StanSimmons
09-08-2008, 12:00 AM
I guess some people will think this is the first useful version -- it now supports streaming your local files (and navigating through them) as well as Internet streams. See config.ini for some example file shares (commented out) -- basically, you use "dir" instead of "url" to specify them.

Local files can be transcoded, just like streams. I almost didn't include this, because it should really be done in a different way, rather than using a method designed for live streaming. You may miss a bit from the beginning, and the image may be messed up at first. But, it worked better than I expected, so I'm going ahead with it. (MPEG files won't have this problem -- files with an ".mpg" or "mp4" extension.)

Ohhh, that sounds like what I'm needing. :)

Unfortunately, I'm away from the house for a week and can't play. :(

dankruse
09-09-2008, 10:34 AM
Hey, thanks for the app.

Here is some feedback for you.

Just a heads up the the lastest VLC nightly build doesn't seem to work 0.9.2. It does work with VLC 0.8.6.

Also, it doesn't seem to create correct URLs when the config.ini dir path contains a different partition ( Windows C:\ etc.. ).

Local files seem to work when they require transcoding, but my compatible mpg files all fail with 404 errors.

HME Server for Python 0.14
Tue Sep 09 10:16:25 2008 Server Starts
Registering: hmevlc
192.168.1.3:46180 - - [09/Sep/2008 10:16:31] "GET /hmevlc/icon.png HTTP/1.0" 200
-
192.168.1.3:46182 - - [09/Sep/2008 10:16:32] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.1.3:46182 - - [09/Sep/2008 10:16:32] Starting HME: hmevlc
192.168.1.3:46183 - - [09/Sep/2008 10:16:46] code 404, message Not Found
192.168.1.3:46183 - - [09/Sep/2008 10:16:46] "GET /My%20Documents/My%20Videos%5C
DVD%20Movies%5CBarnyard.mpg HTTP/1.1" 404 -
192.168.1.3:46184 - - [09/Sep/2008 10:16:59] code 404, message Not Found
192.168.1.3:46184 - - [09/Sep/2008 10:16:59] "GET /My%20Documents/My%20Videos%5C
DVD%20Movies%5CBee%20Movie.mpg HTTP/1.1" 404 -
192.168.1.3:46185 - - [09/Sep/2008 10:17:07] code 404, message Not Found
192.168.1.3:46185 - - [09/Sep/2008 10:17:07] "GET /My%20Documents/My%20Videos%5C
DVD%20Movies%5CEnchanted.mpg HTTP/1.1" 404 -
192.168.1.3:46190 - - [09/Sep/2008 10:21:00] code 404, message Not Found
192.168.1.3:46190 - - [09/Sep/2008 10:21:00] "GET /My%20Documents/My%20Videos%5C
DVD%20Movies%5CHappily%20NEver%20After.mpg HTTP/1.1" 404 -
192.168.1.3:46193 - - [09/Sep/2008 10:21:57] code 404, message Not Found
192.168.1.3:46193 - - [09/Sep/2008 10:21:57] "GET /My%20Documents/My%20Videos%5C
DVD%20Movies%5CMeet%20the%20Robinsons.mpg HTTP/1.1" 404 -
192.168.1.3:46182 - - [09/Sep/2008 10:22:57] Ending HME: hmevlc
1

wmcbrine
09-09-2008, 11:45 AM
Also, it doesn't seem to create correct URLs when the config.ini dir path contains a different partition ( Windows C:\ etc.. ).The way around this is to specify the datapath on the command line. I used an entry like this successfully:

[Movies]
dir=e:\home\movies

[Misc]
dir=e:\home\Desktop\misc

by invoking the program like this:

python start.py --datapath e:\

Alternatively, you can edit the "data_root = " line in start.py. The default datapath is "/", which should work for a single drive if you leave off the drive letter, and use slashes instead of backslashes in the config.ini. However, you can't have shares on multiple drives at the same time. You could work around that by using "join", or, preferably, by using a real operating system. :D

I know this is an area that needs work.

P.S. What exactly happens with the VLC nightly?

Danimal4326
09-09-2008, 11:37 PM
have you used any of the resolution options to set the resolution of the app to a HD res such as 1280x720 versus the standard 640x480 that HME uses?

wmcbrine
09-09-2008, 11:57 PM
The app runs at 640x480. However, this only applies to the menus and overlays -- HD streams will play in HD.

I think the menus and overlays look pretty good as is (apart from some cropping in the info bar, which is fixed for the next release), and HD HME is just slightly harder to work with (you can't set a background color on a view larger than a certain size), so I haven't bothered in this case.

wmcbrine
09-10-2008, 12:45 AM
Relatively minor changes -- normally I wouldn't have released this as a new version yet, but I don't expect to have much time to work on HME/VLC for a while.

Danimal4326
09-10-2008, 06:15 PM
The app runs at 640x480. However, this only applies to the menus and overlays -- HD streams will play in HD.

I think the menus and overlays look pretty good as is (apart from some cropping in the info bar, which is fixed for the next release), and HD HME is just slightly harder to work with (you can't set a background color on a view larger than a certain size), so I haven't bothered in this case.

Ok just checking. I know that the youTube app and tivos HD picture viewer both change the resolution.

As long as the videos are still in HD.

Can one check this if you configure the Tivo to output native instead of hybrid resolutions?? i.e. when you start the app, it runs at lower res, then when you view a hd stream, you can see the resolution change as well???

wmcbrine
09-10-2008, 08:05 PM
Yeah, the YouTube app has a lot of info to put up. Re: Picture viewers, I also did an HD one (included in the HME for Python package), but it's just a simple slideshow. I mean to do something more one of these days.

Testing... Yes, the resolution does change for 480 and 1080 videos in Native mode. The default mode (used for menus and nonstandard sizes) is actually 720p. (That is, the TiVo is outputting 720p, even though the menus are rendered at 640x480.) Hmm, and the menus stay in the mode of the last-played video until I select another video or exit. (The default of 720p is just left over from the TiVo's own menus, apparently.)

wmcbrine
09-11-2008, 07:53 PM
I only post this one because I'm compulsive.

PaulS
09-14-2008, 07:39 PM
I just set this up last night. Got it running on WinXP SP2, but ran into a few gotchas.

1. Recordings drive letter != HME/VLC installation drive letter.
Of course this is fixed by adding "--datapath X:\" to the command line, but it would have been nice for this to be included in the installation docs, rather than having to go scouring to find the answer.

2. Path names with spaces in them are not really handled well. Adding double-quotes around the paths didn't seem to correct the problem, and resulted in a different kind of path name parsing error instead. I remedied the situation by renaming the directories and filenames to remove the spaces.

3. Begin playback of one video. After a short while, left click out of the recording and get back to the file browser. Choose a different video and select it for streaming. Playback commences, but of the FIRST video, and right at the point from which you exited it in the first place. Once you're in this state, it doesn't matter how many times you exit and select a different video, you'll always be returned to the original video when you try to play anything back. I had to kill the ffmpeg window in order to play out anything else. Is there a feedback mechanism between HME and ffmpeg (or VLC) to halt it from streaming when the user interrupts playback ?

Other than that, this is really cool. It will handle most playback cases, except for high resolution (>720p) sources, which my current machine can not stream in real time. pyTivo will have to suffice for those videos.

wmcbrine
09-14-2008, 10:09 PM
On 3, are you saying that happens every time, or just sometimes? (Of course it should happen never.) Are you using Python 2.4? (See post #14 above.)

I haven't seen the space problem; I'll look into it.

Edit: I can't reproduce any problem with spaces under Linux. It could be some time before I can test it in Windows. Could you be more specific about what you're seeing? I tried spaces in the "dir" path, spaces in intermediate directories, spaces in the file name, and for good measure, spaces in the share name.

PaulS
09-14-2008, 10:42 PM
On 3, are you saying that happens every time, or just sometimes? (Of course it should happen never.) Are you using Python 2.4? (See post #14 above.)

I haven't seen the space problem; I'll look into it.

I would have to say sometimes, because I can't say it happened always. I iterated through quite a few test runs last night, and I can't definitely say it happened all the time. I'll re-test and report.

Python 2.5.2

goodtrips
09-15-2008, 12:19 AM
Installed and ran this today on a successful live p2p tv test. This has got amazing potential!

I haven't been able to have any luck, however, with streaming any local MP4 or M4V video files. I tried taking out spaces in the naming convention, but am getting -404 and message Not Found errors accompanied with "error reading stream" on the TiVo itself.

My feeling is that this could be a much more elegant and powerful solution to pyTivo. Very encouraged, and keep up the good work!

Allanon
09-15-2008, 08:12 AM
FYI, a new version of VLC has been released and the default command line your program uses to open the stream doesn't work with this new version.

wmcbrine
09-15-2008, 10:22 PM
OK, I finally got a chance to test under Windows, and I couldn't reproduce any problem with spaces at all. PaulS, you may want to reexamine your issue. (I can't duplicate your other problem, either.)

Allanon, can you tell me exactly what does happen with the new version of VLC?

goodtrips, if you're in Windows, try starting it with the datapath option, e.g., "python start.py --datapath c:\".

PaulS
09-15-2008, 10:33 PM
OK, I finally got a chance to test under Windows, and I couldn't reproduce any problem with spaces at all. PaulS, you may want to reexamine your issue. (I can't duplicate your other problem, either.)

Sorry, not going to be able to get to it tonight. Had to do some work at home, and then my wife took over the TiVo to watch "her shows". :(

I'll take another crack at it as soon as I can.

Allanon
09-16-2008, 12:55 AM
This is the output from VLC version 0.92 when trying to stream NASA TV:
[00000392] dummy interface: VLC media player - version 0.9.2 Grishenko - (c) 1996-2008 the VideoLAN team
[00000392] dummy interface:
Warning: if you can't access the GUI anymore, open a command-line window, go to the directory where you installed VLC and run "vlc -I qt"

[00000392] dummy interface: using the dummy interface module...
[00000408] main access out: creating httpd
[00000412] mux_ps mux: Open
[00000412] mux_ps mux: Close
[00000448] main access out: creating httpd
[00000451] mux_ps mux: Open
[00000453] access_mms access: selecting stream[0x1] audio (34 kb/s)
[00000453] access_mms access: selecting stream[0x2] video (275 kb/s)
[00000453] access_mms access: connection successful
[mpeg1video @ 00B7C6F0]Warning vbv_delay will be set to 0xFFFF (=VBR) as the specified vbv buffer is too large for the given bitrate!
[mpeg1video @ 00B7C6F0]low delay forcing is only available for mpeg2
[00000495] avcodec encoder error: cannot open encoder
[00000445] stream_out_transcode stream out error: cannot find video encoder (module:any fourcc:mp1v)
[00000445] stream_out_transcode stream out error: cannot create video chain
[00000493] main packetizer error: cannot create packetizer output (WMV3)


The previous version of VLC worked fine before updating.

Edit: This problem might be due to the new version of VLC not recognizing a MPEG-1 video encoder on my computer. When I tried transcoding using VLC's GUI it reported the it couldn't open the MPEG-1 encoder.

goodtrips
09-16-2008, 08:48 AM
goodtrips, if you're in Windows, try starting it with the datapath option, e.g., "python start.py --datapath c:\".

Yep, that did it -- thanks wmcbrine.

I know you're obviously working through some kinks, but just a side thought -- is it possible to to modify the output stream settings that are sent to the TiVo? I'm thinking the quality of the files would look significantly better if we let VLC handle the upscaling versus the TiVo/TV.

I believe for 720p we'd be looking at 1280x720 @ 60fps. Not sure what the bitrate would have to be to support that, but could be an interesting test.

PaulS
09-16-2008, 10:31 AM
Yep, that did it -- thanks wmcbrine.

I know you're obviously working through some kinks, but just a side thought -- is it possible to to modify the output stream settings that are sent to the TiVo? I'm thinking the quality of the files would look significantly better if we let VLC handle the upscaling versus the TiVo/TV.

I believe for 720p we'd be looking at 1280x720 @ 60fps. Not sure what the bitrate would have to be to support that, but could be an interesting test.

That may be true, but the computational overhead involved with rescaling HD resolutions may be too onerous for many folks' computers. This may be a good candidate for a configurable option.

wmcbrine
09-16-2008, 11:16 AM
I played around with VLC 0.9.2 for a while, and couldn't make it work. It seems broken to me. I'm going to have to recommend that people stick with 0.8.x for now.

PaulS
09-16-2008, 12:51 PM
Another problem I've yet to resolve involves videos that fail to play out. I can successfully browse the file system, and select a video to stream. At that point, a command window is spawned on the server machine running VLC or ffmpeg, and the TiVo displays the filename with the ping-pong graphic. After a while, the VLC/ffmpeg command window simply disappears and the TiVo shows an error message.

Is there some way to help diagnose what's going on ?

mulscully
09-16-2008, 01:00 PM
Can we use this to read streams from HDhomerun

Allanon
09-16-2008, 04:46 PM
I was able to watch my WinTV capture card by using VLC to stream the video from the WinTV over a HTTP port and then use wmcbrine's HME/VLC video streamer to watch the video. I'm thinking of writing a HME program that allows me to change channels and maybe put up a guide. This would be like having a third Tuner in my Tivo HD.

digger69
09-17-2008, 10:13 PM
I played around with VLC 0.9.2 for a while, and couldn't make it work. It seems broken to me. I'm going to have to recommend that people stick with 0.8.x for now.

Thanks for your work on this wmcbrine. I just got this downloaded w/ the latest vlc and it crapped as Allanon reported. Found here that I needed to downgrade to 8.6i. Did that and now I'm getting:

[00000298] dummy interface: VLC media player - version 0.8.6h Janus - (c) 1996-2
008 the VideoLAN team
[00000298] dummy interface:
Warning: if you can't access the GUI anymore, open a command-line window, go to
the directory where you installed VLC and run "vlc -I wx"

[00000298] dummy interface: using the dummy interface module...
[00000315] main private: creating httpd
[00000319] mux_ps private: Open
[00000322] access_mms access: selecting stream[0x1] audio (63 kb/s)
[00000322] access_mms access: connection successful
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.

This is an MMS stream:
url=mms://wm-live.world.mii-streaming.net/live/klove/high_01 and is audio only. I bet that's the issue... Any workaround?

NASA, CNN, etc. play fine (aspect ration is way funky on my panny).

Thanks for all your work on this wmcbrine. I concur, you are a hoopy frood :)

wmcbrine
09-17-2008, 10:42 PM
I'm thinking about how to do audio streams. Stay tuned. (The "Compiler did not align" message is standard, BTW. You'll see that on any stream, video or audio.)

CNN streams are 16:9, but a lot of their material is stretched from 4:3 sources, so the weirdness is built in. The other streams should look the same as other 4:3 material on your TiVo (controllable by the Aspect button, but not from within HME/VLC -- you have to change it from Live TV or Now Playing).

wmcbrine
09-20-2008, 04:03 PM
Better handling of VLC in nonstandard locations or missing VLC; various minor menu tweaks to make it closer to TiVo's own.

goodtrips
09-20-2008, 06:17 PM
Some strange behavior I've been seeing -- I'm constantly getting socket.error 10054 - Connection rest by peer errors when I try streaming regular MP4 files. However, h.264 files (baseline 3 ipod format) seem to stream just fine.

For what it's worth, I use handbrake to encode all my media.

wmcbrine
09-21-2008, 01:17 AM
h.264 is the only flavor of MPEG-4 that I've seen to work on the TiVo, although it's possible that others will work.

You can force the files to be reencoded while being streamed, by giving them a different extension.

Allanon
09-24-2008, 06:18 PM
If you want to stream SopCast (http://www.sopcast.com/) to the Tivo just add the following to the config.ini:

[SopCast]
url=http://127.0.0.1:8902/stream
needs_vlc=True

Then you can run the SopCast software and once you have a stream playing just select the "SopCast" menu item on the Tivo and it will stream.

digger69
09-24-2008, 06:30 PM
I'm thinking about how to do audio streams. Stay tuned. ...

Staying tuned :)

Allanon
09-25-2008, 02:06 AM
The same simplification that wmcbrine did in this post (http://www.tivocommunity.com/tivo-vb/showthread.php?p=6710729#post6710729) which made streaming DVDs easy can also be applied to VLC compatible capture devices.

Adding the following code to the config.ini file made it easy to stream my WinTV capture device to the Tivo:

[Capture Device]
url=dshow://
needs_vlc=True

wmcbrine
09-25-2008, 11:06 PM
Reorganization; more options for config.ini; no longer need to set the datapath in Windows.

dankruse
09-26-2008, 02:19 PM
I have two .mp4 files: 1) I downloaded from YouTube. 2) Converted from an AVCHD file using Nero 8.

The YouTube video streams without any problem.
My video will not stream without that socket.error 10054 error.

Both play fine on my PC.

According to VLC, they are identical format with the exception of the stream order.

I've attached screen captures.

Any idea why it wouldn't work? Does the stream order matter?

Loopey_The_Great
10-02-2008, 12:17 PM
I've spent 2 entire days now trying to install VLC 8.0, 8.5, 8.6 on my SUSE 11 box. I've encountered an unbearable number of package incompatibilities and bugs and I have now officially given this up as being impossible. I can however, get vlc 9.0 / 9.3 to install OK. Are their any plans to get this program to work with the current version of VLC?

Ely105
10-02-2008, 12:45 PM
Does this require VLC to stream or is VLC just for transcoding. Would be great to get this working on a ReadyNAS so that you don't need a PC to stream directly from your NAS box...

wmcbrine
10-02-2008, 12:59 PM
VLC is only needed for a) transcoding, and/or b) handling stream sources other than http. MPEG-2 and MPEG-4 files -- either local or remote -- can be streamed over http without VLC.

Re: 0.9.x, it's not a question of supporting it. As far as I can tell, VLC is just not doing what it's supposed to do. Is there a new syntax for the command line? Not that I can discover. (Allanon said it wasn't transcoding from the GUI, either.) This was with 0.9.2 -- for all I know, it's already been fixed in 0.9.3. I'll check. Also, for all I know, the problem may be/have been Windows-specific. If it hasn't been fixed, I'll try to get some action on that.

CuriousMark
10-02-2008, 01:44 PM
Does this require VLC to stream or is VLC just for transcoding. Would be great to get this working on a ReadyNAS so that you don't need a PC to stream directly from your NAS box...
If you plan on putting this on a NAS, be aware that you will not want to do any transcoding there. The processor is not up to it.

Ely105
10-02-2008, 01:47 PM
If you plan on putting this on a NAS, be aware that you will not want to do any transcoding there. The processor is not up to it.

Yes, exactly, which is why i was asking if it needed VLC to work. Over at the readynas forums, Mr. Cello got pytivo to work somewhat, but ideally you don't want to run things like ffmpeg, vlc, etc.

Ideally i'd like it to just be able to stream mpeg2/mpeg4 files.

Ely105
10-02-2008, 01:49 PM
VLC is only needed for a) transcoding, and/or b) handling stream sources other than http. MPEG-2 and MPEG-4 files -- either local or remote -- can be streamed over http without VLC.

Ok great. Will it run properly if VLC is not present? would/could there be a config flag that could say VLC not present so don't try and use it?

wmcbrine
10-02-2008, 02:28 PM
Ok great. Will it run properly if VLC is not present?Yes.

would/could there be a config flag that could say VLC not present so don't try and use it?It's handled automatically.

Allanon
10-02-2008, 02:31 PM
Is there a new syntax for the command line?

There are a few changes to the command line syntax and I tried using them but still was unable to get it to work. This is what I tried:

PARAMS = '#transcode{vcodec=%(VCODEC)s,vb=%(VBITRATE)d,scale=1,acodec =%(ACODEC)s,ab=128,channels=2}:duplicate{dst=std{access=http ,mux=ps,dst=:%(SERVER)d}}'

wmcbrine
10-02-2008, 04:29 PM
There are a few changes to the command line syntaxWhere is that documented?

Allanon
10-02-2008, 06:14 PM
Where is that documented?

I used the GUI to get the posted PARAM string and after comparing it to the one in your program I thought the syntax changed but after looking at the documentation (http://wiki.videolan.org/Documentation:Streaming_HowTo/Advanced_Streaming_Using_the_Command_Line) it seems the syntax you used it still valid.

Ely105
10-02-2008, 06:58 PM
VLC is only needed for a) transcoding, and/or b) handling stream sources other than http. MPEG-2 and MPEG-4 files -- either local or remote -- can be streamed over http without VLC.


One more noob question. When streaming http sources, is there a particular format for the web page/site for tivo to stream it? I mean if you pointed tivo at a http based directory listing and clicked on a file, would it stream or is that something different? Sorry i'm not familiar with HME spec and what it can/can't do.

thanks again William

wmcbrine
10-02-2008, 08:37 PM
No, the TiVo can't parse web pages or directory lists. You'd have to point it directly at an .mpg or .mp4 file.

For files on your local drive, you just specify the share like so:

[Movies]
dir=/your/files/here

HME/VLC will turn that into menus for you to navigate.

Ely105
10-02-2008, 10:00 PM
No, the TiVo can't parse web pages or directory lists. You'd have to point it directly at an .mpg or .mp4 file.

For files on your local drive, you just specify the share like so:

[Movies]
dir=/your/files/here

HME/VLC will turn that into menus for you to navigate.

got it. thanks. I did get it to work with some local files. It looks pretty good on SD files. But alas i tried it on some mkv files that are HD x.264 and AC3, but very few worked, many crashed vlc. Although I can see them fine if i play them in VLC so thats a bit odd. Also the quality of the video is less than stellar, is there ways to tweak the quality setting on vlc when it transcodes?

digger69
10-19-2008, 01:23 PM
[QUOTE=wmcbrine;6690348]I'm thinking about how to do audio streams. Stay tuned. (The "Compiler did not align" message is standard, BTW. You'll see that on any stream, video or audio.)
QUOTE]

Just checking in to see if you had any more thoughts on streaming an audio only feed. Thanks a bunch.

Mark

wmcbrine
10-19-2008, 03:08 PM
You'll be the first to know.

PaulS
10-21-2008, 08:18 PM
Now that the Boxee guys have figured out how to get streaming from Hulu, CBS, Comedy Central, Last.fm, and flickr, is there any chance of HME/VLC being able to reproduce this ? I think there would be a LOT of interest for Hulu access on a TiVo.

wmcbrine
10-21-2008, 08:42 PM
I'll have to look into what they did. My assumption up til now has been that a UPnP client would be the way to go, in combination with something like PlayOn.

phdeez
10-25-2008, 10:15 PM
Might be a dumb question.... but any way to get subtitles to stream with files [either with vlc transcoding or not?]

goodtrips
11-02-2008, 10:58 AM
wmcbrine, I wanted to get your thoughts on audio quality.

I've noticed on many different formats, .mpg, .mp4, etc that the audio quality with VLC streamer is significantly lower quality than TivoStreamer, pyTivo, etc. To my untrained ear, it almost sounds like the difference between 22khz to a 44khz file.

I know other people here have asked about being able to customize the output settings, but wanted to get your thoughts specifically on the audio piece.

wmcbrine
11-02-2008, 01:20 PM
goodtrips: Are you comparing like with like? The live streams, for instance, have pretty low quality audio from the source.

tivostreamer doesn't do any reencoding; neither would HME/VLC, for the files that tivostreamer can serve -- so they'd sound identical. If for some reason there's a file that tivodecode is serving and that HME/VLC is reencoding, then a) that's an error, and b) it will necessarily sound worse, since the encoding is lossy. However, that situation should not arise. If they're both passing them without reencoding, and you think you hear a difference, then it's your imagination. (It's reencoding if the VLC output comes up; otherwise not.)

pyTivo does some elaborate checking of the source (video and audio separately) to see whether it should reencode the stream or pass it through, use higher quality for different TiVos, or use user-supplied settings (that can even be set per-TiVo). That was something I really wanted to get away from. So, right now, the only config.ini-adjustable setting is "vbitrate" (video bitrate). However, you can edit the command-line VLC options in hmevlc/vlc.py (in VCODEC, ACODEC and PARAMS) as you like.

If you do look at PARAMS, you'll see that the samplerate is indeed 44KHz. :) But the audio bitrate is whatever VLC's default is... so yeah, I haven't really tried to optimize audio quality. I'm willing to add an "abitrate" config.ini option for the next version. But first, I've got to try to get it working with VLC 9.x...

phdeez: I don't want you to think I'm ignoring you, but I didn't want to answer before I'd researched it... which I still haven't. I know that VLC can display subtitles. I assume it will embed them in the transcoded video, but I'm not sure. It's also possible to display them via HME, but I'd have to study the formats, etc. I think it would be worthwhile, but as a longer-term project.

EightPieceBox
11-03-2008, 06:51 AM
I haven't been able to get HME/VLC to show up on my Tivo. When I run it, the last line is always Registering: hmevlc

Any ideas what might be causing this? I am running Vista and Python 2.5 and have no problems with pytivo or tivostream. I can't find any information other than the readme file and this thread. I'm surprised the thread is only 3 pages. It sounds like a nice addition.

wmcbrine
11-03-2008, 02:50 PM
I haven't been able to get HME/VLC to show up on my Tivo. When I run it, the last line is always Registering: hmevlcThat's what it should be.

Note that HME/VLC would appear in the Music, Photos & More menu, not in Now Playing.

phdeez
11-03-2008, 03:30 PM
That's what it should be.

Note that HME/VLC would appear in the Music, Photos & More menu, not in Now Playing.

In addition, make sure you have the "Home Applications" enabled under the Music, Photos & More Menu [very bottom].

... phdeez: I don't want you to think I'm ignoring you, but I didn't want to answer before I'd researched it... which I still haven't. I know that VLC can display subtitles. I assume it will embed them in the transcoded video, but I'm not sure. It's also possible to display them via HME, but I'd have to study the formats, etc. I think it would be worthwhile, but as a longer-term project.

wmcbrine, it's all good. It certainly isn't a pressing matter... but honestly I'd like any home app to stream subtitles to my Tivo without having to re-encode the video with static subtitles... Like a subtitle "option" just like Closed Captioning is today...

wmcbrine, I wanted to get your thoughts on audio quality.

I've noticed on many different formats, .mpg, .mp4, etc that the audio quality with VLC streamer is significantly lower quality than TivoStreamer, pyTivo, etc. To my untrained ear, it almost sounds like the difference between 22khz to a 44khz file.

I will agree with what goodtrips said about audio quality. Comparing pytivo and HME/VLC for just a sample file on my system I find the audio is much different- with the advantage clearly going to pytivo when re-encoding is necessary... maybe the difference is between the encoders...

Could it be a setting in VLC causing it? Probably...

jmemmott
11-03-2008, 03:55 PM
wmcbrine, it's all good. It certainly isn't a pressing matter... but honestly I'd like any home app to stream subtitles to my Tivo without having to re-encode the video with static subtitles... Like a subtitle "option" just like Closed Captioning is today...


I don't think you will be able to get away without transcoding although it could be done on the fly. The Tivo does not respond to embedded captions in the streaming media as it does downloaded ones so unless there is a new undiscovered mechanism, hard coded subtitles will be the only path.

When I have used vlc to stream in other circumstances it always seemed to require something like
--sout=#transcode{vcodec=...,soverlay} to make this work.

wmcbrine
11-03-2008, 04:05 PM
The captions don't have to be embedded. They could be rendered via HME, just like the progress bar, info, etc.

I just had a look at an .srt file, and it seems ridiculously simple. I'm thinking about how to handle it... I can probably refresh it on resource info events.

phdeez
11-03-2008, 04:14 PM
I don't think you will be able to get away without transcoding although it could be done on the fly. The Tivo does not respond to embedded captions in the streaming media as it does downloaded ones so unless there is a new undiscovered mechanism, hard coded subtitles will be the only path.

When I have used vlc to stream in other circumstances it always seemed to require something like
--sout=#transcode{vcodec=...,soverlay} to make this work.

Sorry, I meant "static" subtitles like using a separate application to re-encode the video PRIOR to streaming it with the subtitles permanently overlayed on the video. It would be most beneficial to "decode" a .srt file in the same directory as the .avi/etc on the fly... or something like that.

The captions don't have to be embedded. They could be rendered via HME, just like the progress bar, info, etc.

I just had a look at an .srt file, and it seems ridiculously simple. I'm thinking about how to handle it... I can probably refresh it on resource info events.

Awesome news! Thanks for looking into it!

jmemmott
11-03-2008, 04:16 PM
The captions don't have to be embedded. They could be rendered via HME, just like the progress bar, info, etc.

I just had a look at an .srt file, and it seems ridiculously simple. I'm thinking about how to handle it... I can probably refresh it on resource info events.

That would be good if it can be done that way.

The only concern I had about this approach when it first came up was with respect to synchronization. People who are used to using captions are sensitive to synchronization issues in the same way people are sensitive to audio/video synchronization issues. Good timings are tightly coupled and I did not know how much feedback you can get about what it actually on the screen right now vs what is in the stream buffer. The learning curve to find out seemed too high for me vs the time I had available when it first came up.

EightPieceBox
11-03-2008, 04:32 PM
That's what it should be.

Note that HME/VLC would appear in the Music, Photos & More menu, not in Now Playing.

That is where I'm looking and no new icon shows up for HME/VLC. I must be having a network issue. I tried rebooting my tivo and shutting off my firewall software. Guess I'll try changing the port.

wmcbrine
11-03-2008, 04:48 PM
I must be having a network issue.Sounds like it. Worse comes to worst, if you run HME/VLC on port 80, you can try "Manually add a server..." on the TiVo end.

KevinG
11-07-2008, 09:26 AM
I installed HME/VLC 2.5 last night. I am currently using pyTivo. Since I exclusively watch and then delete, I thought it would be better to stream instead of transfer...

However, in 2 back to back tests (with ripped DVDs), streaming causes tearing, and macroblocking, whereas transfering (and playing in real-time) yields perfect transfers.

Is this expected? It didn't matter if I paused either one to allow it to buffer more or less. If I hit 8 second rewind the same tearing was present each time. My tivos are wired, not wireless. Thoughts?

I also tried tivostream, but I couldn't get that to show up on either of my Tivos...

Thanks.
-Kevin

wmcbrine
11-07-2008, 01:21 PM
Are you streaming files with names that end in ".mpg" or ".mp4"? If not, they'll be reencoded, so there'll be some quality lost. pyTivo is more sophisticated in how it determines whether or not to reencode -- and when it does, it encodes to MPEG-2. HME/VLC uses MPEG-1.

KevinG
11-07-2008, 02:13 PM
No. In fact I was trying to find a solution that would explicitly *not* require reencoding. These are VOBs ripped from DVDs, renamed to .mpg.

And the quality of the video (when not tearing, or macroblocking) is absolutely DVD quality.

-Kevin

moyekj
11-07-2008, 04:58 PM
No. In fact I was trying to find a solution that would explicitly *not* require reencoding. These are VOBs ripped from DVDs, renamed to .mpg.

And the quality of the video (when not tearing, or macroblocking) is absolutely DVD quality.

-Kevin I found it helpful to run ripped VOBs through VideoRedo Quickstream Fix first before attempting to stream or transfer to Tivos. Otherwise in some cases the stream or transfer would have some issues such as you describe and in some cases the transfer would halt altogether. The Tivo decoder seems to be picky about getting "clean" mpegs.

KevinG
11-07-2008, 08:05 PM
I found it helpful to run ripped VOBs through VideoRedo Quickstream Fix first before attempting to stream or transfer to Tivos. Otherwise in some cases the stream or transfer would have some issues such as you describe and in some cases the transfer would halt altogether. The Tivo decoder seems to be picky about getting "clean" mpegs.

Yes, that fixed it entirely. Thanks!

Now I'm bumping up against the fact that streamed movies don't remember where you were if you stop in the middle and plan to come back later... May end up sticking with pyTivo just for this reason alone.

-Kevin

moyekj
11-07-2008, 08:42 PM
Yes, that fixed it entirely. Thanks!

Now I'm bumping up against the fact that streamed movies don't remember where you were if you stop in the middle and plan to come back later... May end up sticking with pyTivo just for this reason alone.

-Kevin tivostream supports resume playback from where you left off for .mpg... too bad you can't seem to get it working.

mitchk
11-15-2008, 06:12 PM
Here are two streams for coverage of the Los Angeles area fires. Just add these lines to your config.ini file.

[ABC-7 Los Angeles]
url=mms://a352.l5671334351.c56713.n.lm.akamaistream.net/D/352/56713/v0001/reflector:34351
needs_vlc=True

[NBC-4 Los Angeles]
url=http://mfile.akamai.com/12924/live/reflector:30763.asx
needs_vlc=True

dwgsp
11-18-2008, 10:08 PM
I installed the latest version of HME/VLC and can successfully stream mp4 files from my hard drive (WinXP). However, I cannot stream anything from the web. In fact, I can't even get them to show up in the HME/VLC top level screen on my Tivo HD. I suspect that there is a problem in my config.ini, but I have tried everything that I can think of and still no luck.

Any ideas? Here's my config.ini. It references a working URL for NASA TV.

[DEFAULT]
cnnbase=http://www.cnn.com/video/live/cnnlive_
cspanbase=http://play.rbn.com/play.asx?url=cspan/cspan/wmlive/cspan

[hmeserver]
port=9043
#datapath=C:\
apps=hmevlc

[hmevlc]
vlcport=9044
vbitrate=2000
# not sure what the syntax is for the following line
vlc=C:\Program Files\VideoLAN\VLC
#vlc=C:\Program Files\VideoLAN\VLC\vlc.exe


# this works fine
[Test]
dir=C:\Video\TED

# this does not even show up on the top level Tivo screen.
[NASA TV]
url=http://playlist.yahoo.com/makeplaylist.dll?id=1369080
needs_vlc=True



Thanks!
/Don

texaslabrat
11-19-2008, 02:12 AM
Awesome app...I've got it running on my Ubuntu 8.04 server against a Tivo HD..and it works wonderfully.

I do have one issue..and my apologies if it's been addressed previously..but I've found that one has to be very careful how one exits the HME "environment". If I exit "cleanly" by hitting left arrow multiple times (waiting for each successive menu to be rendered), then everything's great...works as expected.

However, if I exit by just hitting the Tivo button (and from there doing whatever...standby, live tv, or anything else)...then the app doesn't seem to exit gracefully. In many cases, the VLC process will still be running on the ubuntu box, happily transcoding away (though a netstat -a reveals that there is no remote socket attached to the VLC process, so the Tivo has dropped the connection from its perspective). If I immediately go back to the HME app and select another stream (or even the same one, for that matter), it generally "does its thing" and changes gears successfully as I begin watching content. All seems well and good. However, if I hit the Tivo button/standby and go to bed..and try to access the HME app later on the next day...I get an error trying to open the stream (*any* stream or local file) as the VLC app has either frozen and/or crashed (probably due to some memory leak in the vlc application...been quite a problem over the years it appears from various threads dug up in a quick google search on the topic).

The HME "control" python process doesn't seem to recognize this fact...and never restarts VLC or attempts to clean up the defunct process. I've also tested with hitting the Tivo button, observing that VLC is still running..and then manually killing the VLC process. Going back into HME has the same problem...it won't start up another VLC process and again errors out when trying to open up a stream or file.

Killing the start.py and restarting it fixes the issue in all these cases, however I can't but wonder if there's a way to have the HME application sense that something's amiss and "punt" with regards to the VLC process. I took a look at the code, and I see that it's keeping some basic accounting that enumerates clients and kills the VLC when number of clients = 0..and then can subsequently start a fresh VLC process when needed. This is where I think the weakness lies...when one exits with the Tivo button, the HME process doesn't seem to be getting notified that it is disconnecting. Is there a better way to sense a "hang up"? Or perhaps a different approach is needed...one thing I thought of is instead of trying to count clients and killing the VLC process when clients=0, instead actively look at the number of sockets open (via a system call to netstat or some other way) and attached to the VLC process. When THAT number is zero, then kill the VLC process if it's still running. If no one is pulling data from VLC, then that's a sure-fire sign that the VLC process isn't needed and is going to cause problems if it hangs around.

Anyway, in the mean time I'll try to be careful how I exit the application, and I'll try to train the wife on the particulars on how to avoid the issue as well.

Thanks again for a wonderful application released for free to the public :)

wmcbrine
11-19-2008, 04:19 AM
# not sure what the syntax is for the following line
vlc=C:\Program Files\VideoLAN\VLC
#vlc=C:\Program Files\VideoLAN\VLC\vlc.exeIt's the full path, including the filename, so the second (commented-out) line would be correct. However, that path is already the default, so there's no reason to specify it at all... assuming that you actually have a copy of VLC there.

It's normal for the "needs_vlc=True" entries not to show up in the menus if the VLC executable isn't present.

dwgsp
11-19-2008, 07:03 PM
I ended up commenting out both of vlc lines, and when that didn;t work in reinstalled the 0.8.6 version of vlc. That worked. Thanks!

dwgsp
11-20-2008, 08:36 PM
Has anyone gotten flash streams to work? It looks like the latest version of VLC supports streaming flash, but previous messages in this thread indicate that the newest VLC is not supported.

I want to get this working with live streams from the Big Ten Network (for college basketball games).

http://video.bigtennetwork.com/

Thanks!
/Don

wmcbrine
11-20-2008, 08:57 PM
VLC 0.8.6 will transcode FLV movies. Whether this is the same as "supporting streaming Flash" is not clear to me.

dwgsp
11-21-2008, 04:40 PM
Ok, let me try to give a better explanation. The Big Ten Network streams college basketball games, using flash. I would like to use HME/VLC to re-stream these to my Tivo HD. Currently I can not get this to work (I can re-stream other things, like NASA TV). Here's an example URL for a basketball game:

http://video.bigtennetwork.com/video/play/246_drake_at_wisc?videos=archive

I tried entering this URL directly into VLC 0.8.6 and it didn't work. I looked at the release notes to the most current version of VLC, and it looks like they have added more support for flash in versions newer than 0.8.6.

I am wondering of anyone has gotten HME/VLC to work with the newest version of VLC. Alternatively, do anyone know how to get the current version to work with this URL?

Thanks!
/Don

wmcbrine
11-21-2008, 07:44 PM
I tried entering this URL directly into VLC 0.8.6 and it didn't work.Nor does it work in 0.9.4. Nor would I expect it to, since that's an HTML page.

kurt711
11-27-2008, 02:38 AM
Awesome app william. I like this better than pytivo to serve up my tech podcasts i download with podpuppy. I was wondering if you had any plans for supporting ffmpeg for encoding as well. I understand vlc/online content thing but would be awesome to stream xvid, wmv shows and movies reencoded in mpeg2. Finally I can have something like TVersity for tivo. Once again great job and no worries if it can't be done...I'll stick with your other work in pytivo. Thanks.

wmcbrine
11-27-2008, 06:09 AM
You're welcome. :) But, you haven't really explained why you want ffmpeg. You can stream all formats through VLC (although you may miss the first couple of seconds). Also, as far as WMV, I suspect that you'll be able to pass it through without reencoding once you get TiVo software version 11 (and I update the extensions list). In the meantime, VLC will handle it.

I'm actually pretty unhappy with VLC right now, since they broke MPEG encoding in the 0.9.x series, and they don't seem to care. That does have me looking at alternatives. Still, VLC is something that ffmpeg couldn't easily replace. In addition to handling streaming on its own -- both as a client, and as a server -- it provides it in a nice, neat, end-user-oriented package, that's easy to install for users on all three major platforms (Linux/Mac/Win). Contrast this with ffmpeg, which is only available through SVN, or from third-party packagers. This is arguably the biggest hassle with pyTivo.

I'd probably support MEncoder (which can at least act as a streaming client) before ffmpeg.

kurt711
11-27-2008, 05:13 PM
Thanks for replying. The reason I was asking about ffmpeg is audio, especially ac3 5.1. I have several movies encoded in xvid or h.264 with ac3 5.1 audio. I use TVersity(uses ffmpeg) to stream to xbox and pytivo(also uses ffmpeg) and it works great on both. I'm trying to minimize the complexity on server(trying to keep one encoder) and wanting 5.1 audio. I tried video streamer and it only passes 2 channels of audio and didn't see any way to change that.

VLC is great but oh so complicated. I used to use VLC to capture streams from HDHomeRun but gave up on it after couple of weeks.

Mencoder will work. It will pass ac3 audio and it will work for me. once again thank you for all you efforts in promoting HME. Only wish Tivo would give up and enable upnp or dlna.

wmcbrine
11-28-2008, 05:13 PM
it only passes 2 channels of audio and didn't see any way to change that.Ah. I don't have 5.1 equipment, so I can't check this. There's no number of channels set in HME/VLC, but it uses MPEG audio, which I'm thinking is limited to stereo. So, if you changed the ACODEC line in hmevlc/vlc.py from

ACODEC = 'mpga'

to

ACODEC = 'a52'

that might solve your problem. (Not tested.) You probably would want to up the audio bitrate from the default, too -- for that you'd have to edit PARAMS. (It will be a config.ini setting in the next version.)

Edit: a52 tests OK, though of course I still can't really check 5.1. I'll probably make this the default in the next version, although I'd kinda like to check CPU usage vs. MPEG audio first.

moyekj
11-30-2008, 08:24 PM
Confirmed today (see tivostream thread) that there seems to be a ~1.1GB upper limit for buffer size for video streaming. You will note after the 1.1GB mark or so the connection will drop (Connection reset by peer) and buffer will no longer build up. Very disappointing indeed. :(

leenuxg33k
11-30-2008, 08:43 PM
Confirmed today (see tivostream thread) that there seems to be a ~1.1GB upper limit for buffer size for video streaming. You will note after the 1.1GB mark or so the connection will drop (Connection reset by peer) and buffer will no longer build up. Very disappointing indeed. :(

I'm glad this isn't just me. I couldn't figure out what I was doing wrong.

So how is this supposed to work? Can the HME app drop off some of the data at the beginning of the buffer when it hits the 1.1g limit?

moyekj
11-30-2008, 10:27 PM
I'm glad this isn't just me. I couldn't figure out what I was doing wrong.

So how is this supposed to work? Can the HME app drop off some of the data at the beginning of the buffer when it hits the 1.1g limit? In current implementation these HME players are just throwing data over the pipe and letting Tivo handle storing/buffering it. There is no control of the buffer possible via HME as far as I know. Perhaps an ugly workaround is to limit the data streamed to the Tivo to below the 1.1GB limit and once playback reaches that limit to initiate a new transfer, but that's currently only possible with mpeg2 streams and means big pauses at 1GB intervals and loss of buffer buildup. Tivo needs to see the start of .mp4 files for information about the stream so you can't arbitrarily start somewhere else in an .mp4 stream. So I really don't see a viable solution right now for this major drawback.

It will be interesting to see how the Netflix streaming works as obviously the 1GB limitation cannot be there for that implementation. I'm guessing in light of this drawback either there is no buffer at all for Netflix streaming or there is some way to "ask for bigger buffer". I'm guessing there won't be any buffer at all just as if you play back from Roku box or a Blu Ray player.

wmcbrine
12-01-2008, 11:03 AM
Looks a little more like TiVo, should fix people's audio complaints, and handles irregular exits better.

I had hoped to have some resolution of the VLC 0.9.x issues, but it doesn't look like that's going to happen. Then I was waiting for 11.0, but who knows when I'll get it; and based on moyekj's findings, I'm leaving WMV in the "needs VLC" category for now. (If you want to try passing it through, you can add it to PASSTHROUGH_EXTS and remove it from TRANSCODE_EXTS in hmevlc/__init__.py. I'll probably make these config.ini-configurable in the future, but not today.)

MelSmith
12-02-2008, 01:41 AM
Thanks again wmcbrine for another awesome application. There was just one frustrating thing for me: the Tivo would exit to live TV if the HME stream was paused for too long, which happens a lot to me; so I added a bookmark function that saves the current position whenever I pause the stream or return to the list of files. I have attached the two files I changed for reference.

moyekj
12-02-2008, 10:33 AM
Thanks again wmcbrine for another awesome application. There was just one frustrating thing for me: the Tivo would exit to live TV if the HME stream was paused for too long, which happens a lot to me; so I added a bookmark function that saves the current position whenever I pause the stream or return to the list of files. I have attached the two files I changed for reference. I didn't look at the changes too closely but it appears this implementation will only work if using VLC.

MelSmith
12-02-2008, 05:26 PM
I didn't look at the changes too closely but it appears this implementation will only work if using VLC.

That is correct, since HME/VLC Video Streamer uses VLC.

moyekj
12-02-2008, 05:33 PM
That is correct, since HME/VLC Video Streamer uses VLC. But you can also bypass VLC completely for mpeg2 and H.264 mpeg4 sources (in fact I believe that's default behavior).

MelSmith
12-02-2008, 06:27 PM
But you can also bypass VLC completely for mpeg2 and H.264 mpeg4 sources (in fact I believe that's default behavior).

Not knowing the HME SDK or Python means this truly is just a hack. :) I will have to learn more, to make this more legitimate.

grantsa4
12-02-2008, 09:21 PM
I unzipped the zip file and ran Start.py and the console gets to Registering hmelvc and stops. Is there a problem?

Should it be getting further?
Is there anything I need to do.

Thanks for any help.

wmcbrine
12-03-2008, 07:54 AM
No, that's what it's supposed to say. You wouldn't see any other output until you entered the app from the TiVo.

grantsa4
12-03-2008, 08:09 AM
Thanks - when I tried to go into the Server on the Tivo it went to "Please wait" and nothing happened?
It eventually times out and brings up a message :

"An error occurred while running the application. HTTP failure (Http connection error: 0x50005).

Should it take a while?
I have no changed the config.ini at all - I just unzipped the program and tried start.py

I have Python 2.5 installed as well as VLC 0.8.6e

wmcbrine
12-03-2008, 08:47 AM
Did you try again? Once could be a fluke. If you get it repeatedly, then it sounds like a network problem.

grantsa4
12-03-2008, 09:53 AM
Yip, still same problem. Any advice on what to check network wise?

leenuxg33k
12-03-2008, 09:56 AM
Yip, still same problem. Any advice on what to check network wise?

Make sure you don't have a firewall that is blocking it.

grantsa4
12-03-2008, 10:13 AM
If I have a firewall setup, do I just need to open those 2 ports?

leenuxg33k
12-03-2008, 10:23 AM
If I have a firewall setup, do I just need to open those 2 ports?

probably. but for the purpose of debugging I would turn it off completely at first.

grantsa4
12-03-2008, 10:26 AM
Thanks for all the replies. Would this be a situation to set up port forwarding for the 2 ports on my router?

I may try that when I get home - not sure if it would help.

wmcbrine
12-03-2008, 12:26 PM
No. Port forwarding is to allow in traffic from the wider Internet.

grantsa4
12-03-2008, 12:34 PM
Damn, I have no idea what else to do then. I can get pyTivo to work without any issues.

Could it be something with my config.ini file?

grantsa4
12-03-2008, 11:21 PM
I can access the HME Server through the HME SDK Simulator.
Can anyone think of any reason that I can't access it from my Tivo?
It's over a wireless network - not sure if that makes any difference.

Laserfan
12-04-2008, 09:53 AM
Can anyone think of any reason that I can't access it from my Tivo? It's over a wireless network - not sure if that makes any difference.
I had a problem getting tivostream (which uses this somehow I think) after my TiVo was upgraded to v11.0.P3. Turns out that I had to turn "turbo mode" off in my wireless connection!? Very surprised.

Anyway it's POSSIBLE your wireless is at issue somehow...

grantsa4
12-04-2008, 09:58 AM
It is always possible, I just have no idea what to look for. I am running a Linksys wireless G router.

I am running Tivo v9.4b

grantsa4
12-05-2008, 10:10 AM
Finally got it to work - thanks to everyone for their help.
How do you go about finding websites and links that you can add for streaming?
Anyone have any ideas?

Laserfan
12-05-2008, 06:59 PM
Finally got it to work How?

grantsa4
12-05-2008, 10:15 PM
I made a change to my firewall

Laserfan
12-05-2008, 11:16 PM
I made a change to my firewallThanks for reporting!

grantsa4
12-06-2008, 09:47 AM
How do you go about finding websites and links that you can add for streaming? Are there any sites that list streaming sites or anything like that, or has anyone found any other sites that stream?

MelSmith
12-14-2008, 01:20 PM
I modified the up() and down() functions in the listview module.
def down(self, i):
if self.pos < self.startpos + self.pagesize - 1: #if pos != bottom of current page
if self.pos + i > self.startpos + self.pagesize - 1: #page down
self.pos = self.startpos + self.pagesize - 1 #set pos to bottom of current page
else: #increment pos
self.pos += i
else: #new page
if self.startpos + self.pagesize + self.pagesize > len(self.items) - 1: #if end of new page is beyond last item in list
self.startpos = len(self.items) - self.pagesize #set startpos to last item - pagesize
else: #increment startpos
self.startpos += self.pagesize
if self.pos + i > len(self.items) - 1: #if newpos > last item in list
self.pos = len(self.items) - 1 #set pos to last item in list
else: #increment pos
self.pos += i
self.redraw()
self.pos_update()

def up(self, i):
if self.pos > self.startpos:
if self.pos - i < self.startpos: #page up
self.pos = self.startpos
else:
self.pos -= i
else: #new page
if self.startpos - self.pagesize < 0:
self.startpos = 0
else:
self.startpos -= self.pagesize
if self.pos - i < 0:
self.pos = 0
else:
self.pos -= i
self.redraw()
self.pos_update()

I also broke out the bookmarking functionality in to it's own module:
import os

LENGTH = 0
BOOKMARK = 0

def save(filename, buffer, position):
if position > 5:
global LENGTH, BOOKMARK
buffer = int(round(float(buffer) / 1000))
position = int(round(float(position) / 1000))
if LENGTH < BOOKMARK + buffer: #previous play underran
LENGTH = BOOKMARK + buffer
new_bookmark = BOOKMARK + position
try:
filehandler = open(filename + ".bkm", 'w')
filehandler.writelines('%s\n' % LENGTH)
filehandler.writelines('%s' % new_bookmark)
filehandler.flush()
filehandler.close()
except IOError:
print "Error saving bookmark!"

def load(filename):
START_TIME = ''
if os.path.exists(filename + '.bkm'):
try:
filehandler = open(filename + ".bkm", 'r')
global LENGTH, BOOKMARK
LENGTH = int(filehandler.readline())
BOOKMARK = int(filehandler.readline())
if BOOKMARK >= 5:
BOOKMARK -= 5
filehandler.flush()
filehandler.close()
START_TIME = '--start-time=%s' % BOOKMARK
except IOError:
print "Error loading bookmark!"
return START_TIME

def erase(filename):
try:
if os.path.exists(filename + '.bkm'):
os.remove(filename + '.bkm')
except IOError:
print "Error erasing bookmark!"
I added:
bookmark.save(self.stream_url, self.duration, self.position)
to the handle_resource_info() and handle_key_press() functions in the hmevlc module.

I made the following changes to the vlc module:

Added ,soverlay to PARAMS so I could use subtitle files:
PARAMS = '#transcode{vcodec=%(VCODEC)s,vb=%(VBITRATE)d,' + \
'acodec=%(ACODEC)s,ab=%(ABITRATE)d,audio-sync,samplerate=44100,' + \
'fps=29.97,soverlay}:std{access=http,dst=:%(SERVER)d,mux=ps} ' #Added ",soverlay" to transcode options, to show subtitles from seperate subtitle files.
Inserted the second line below, in the vlc.start function; and modified the now third line accordingly:
if client_count == 1:
start_time = bookmark.load(url) #Added by Mel Smith
pid = subprocess.Popen([vlcpath, url, '-I', 'dummy', '-V', 'dummy', start_time, '--sout', PARAMS % globals()]).pid # Added "start_time" parameter to VLC command line options.

goodtrips
12-17-2008, 08:33 PM
I love this app, and I have to imagine that all XBMC-type improvements to HME are going to be forked off of this. So thank you for all your hard work William. I use it almost daily.

That being said, I am amazed at how many types of files I cannot play on my TiVo with this. The expectation being that since VLC can play anything, I should be able to stream anything to the TiVo.

I have a lot of self-encoded iPod/iPhone/AppleTV encoded files that this app refuses to stream (some in .mp4, some in .m4v). In fact, the .m4v files won't even show up in the directory list. On both types of files, I constantly get "error reading stream." Now some work, while most don't. .mpg works fine. Other file types just don't show up.

VLC as an app should be able to transcode anything to TiVo compliant video. My gut tells me there should be some built-in transcoding logic that works roughly this:

1. Display all video file types (.avi,.mp4,.m4v,wmv,etc)
2. Attempt to play selected stream as pass-through
3. If pass through fails (error reading stream), then re-attempt with transcode

I am guessing the logic currently works like this:
1. If file type = mp4 or mpg, then pass-through without transcoding

--side note: the needs_vlc variable doesn't seem to have any effect on my tests.

Live TV streams and tvants stream and transcode just fine, so my gut tells me with a little logic and error checking, just about anything should too. It's also possible that it currently works like this and I am totally missing something...

texaslabrat
12-25-2008, 01:04 PM
VLC as an app should be able to transcode anything to TiVo compliant video. My gut tells me there should be some built-in transcoding logic that works roughly this:

1. Display all video file types (.avi,.mp4,.m4v,wmv,etc)
2. Attempt to play selected stream as pass-through
3. If pass through fails (error reading stream), then re-attempt with transcode

I am guessing the logic currently works like this:
1. If file type = mp4 or mpg, then pass-through without transcoding

--side note: the needs_vlc variable doesn't seem to have any effect on my tests.

Live TV streams and tvants stream and transcode just fine, so my gut tells me with a little logic and error checking, just about anything should too. It's also possible that it currently works like this and I am totally missing something...

That's pretty much correct. If you look at the __init__.py file, you'll see this:


PASSTHROUGH_EXTS = ('.mpg', '.mp4')
TRANSCODE_EXTS = ('.mov', '.wmv', '.asf', '.flv', '.mkv', '.avi', '.m4v')


Pretty self-explanatory...so if you want your .mpg or .mp4 files to run through VLC just erase them from the PASSTHROUGH_EXTS and put them in the TRANSCODE_EXTS. Also, that's where you can add any other extensions that you want the app to display, since it basically does a union of the two EXTS lists to come up with the extensions it will display on the tivo as eligible files for opening.

Also, as an aside, I'll add that I modified the vlc.py file and changed the PARAMS string to this:


PARAMS = '#transcode{vcodec=%(VCODEC)s,vb=%(VBITRATE)d,' + \
'fps=29.97}:std{access=http,dst=:%(SERVER)d,mux=ps}'


Basically, I took out the instructions to VLC to transcode the audio so that the audio track would be passed through natively (though the video portion still gets transcoded). This allows me to encode files with AC3 audio (dvd's, high-def recordings from the tivo, etc) with "pass-thru" settings under handbrake and play back that audio without degradation. Otherwise, VLC's attempt to re-encode the AC3 resulted in the channel ordering being all messed up (the center channel coming out the rear right, etc). Maybe that would be a good config.ini setting to include in future releases...a "passthru_audio = 1" or something?

Anyway, hope that helps someone...

Merry Christmas all :)

-Tex

Allanon
01-06-2009, 02:13 AM
I would like to request a feature, could someone add support for ShoutCast TV? VLC already supports this by opening the playlist in VLC and selecting Manage->Services Discovery->Shoutcast TV Listings. If you click info on the Shoutcast TV menu item you will see this URL:
http://www.shoutcast.com/sbin/newtvlister.phtml?alltv=1
That URL links to XML that contains all the info needed to make a menu and play the video streams.

For Example, here is one of the entries in the XML:
<station name="Mystery Science Theater 3000" id="471002" br="128" rt="PG13" ct="" load="99" genre="Video" lc="99" />
as you can see the station's name is "Mystery Science Theater 3000" and the URL to a playlist would be:
http://www.shoutcast.com/sbin/tunein-tvstation.pls?id=471002
VLC can play that playlist URL or you can parse it to find each video in the playlist. This playlist looks like this:
[playlist]
numberofentries=1
File1=http://91.121.196.82:9290;stream.nsv
Title1=(#1 - 99/100) Mystery Science Theater 3000
Length1=-1
Version=2


I would add this feature but I'm not very good with Python, Thanks.

wmcbrine
01-06-2009, 06:44 AM
Allanon, what would "this feature" be?

If VLC can play it from a URL, then just pass the URL, and set needs_vlc=true. But I know that you already know that, so there must be something I'm missing. :confused:

Allanon
01-06-2009, 08:01 AM
Allanon, what would "this feature" be?

If VLC can play it from a URL, then just pass the URL, and set needs_vlc=true. But I know that you already know that, so there must be something I'm missing. :confused:

ShoutCast TV is a website that keeps track of streaming video stations. These stations are not always streaming so ShoutCast TV keeps track of which station is streaming and what they are streaming. I want the VLC/HME program to check the URL that has a list of all active video streams and list them so I can use the Tivo to choose which I want to watch. I don't want to manually place the URLs in to the config.ini because they may not be valid when I go to watch next time plus new video stations are always popping up.

Anyway, I decided to implement this feature and I have a prototype right now that goes out and reads the XML file and makes a dynamic list of all available video channels. What I still need to implement is the playing of the stream. I should be done with this later today or some time in the next few days, I will post the updated file.

Allanon
01-06-2009, 12:33 PM
Here is an update to the HME/VLC Video Streamer version 2.6. This update will allow you to browse and watch ShoutCast TV Video Streams from the Tivo. It has not been fully tested and does crash once in a while when the computer doesn't read the ShoutCast TV URL correctly. There is no error checking. I have had mixed results with the videos, some work well other don't. It sometimes takes multiple tries before a stream will play. Also note that I did filter out all the channels that had a NC17 rating but other adult channels might slip through so be warned.

To add this new feature just replace the __init__.py file in the hmevlc folder with the one at the bottom of this post. All the other funtionality should be the same except you will now have a ShoutCast TV menu option on the top page.


BTW, page up and down is broken.

wmcbrine
01-07-2009, 11:34 PM
Ah, I see now. :) Cool stuff... good job.

BTW, page up and down is broken.Yeah.

Allanon
01-08-2009, 01:03 PM
It was so easy to add an xml feed that I have added 2 more. The first newly added feed is Archive Classic Movies (http://www.archiveclassicmovies.com/index.php), they have a bunch of old classic public domain videos. And the other feed is TED (http://ted.com), they have a lot of lectures and videos on a whole range of subjects.

All the videos are MP4 so VLC is not needed. Also, I had to limit the number of videos from each feed to 256 due to technical problem in the hme.py file. Adding more files overloads a char variable. I didn't feel like searching for the problem so I just limited the number of videos.

Also, I found a website called Videocasting Station (http://www.videocasting-station.com/index.php), it is filled with xml links to tons of videocast websites. If you see one you would like added to the HME/VLC Video Streamer just post here and I will do my best to add it.

To get the two new feeds plus the previous ShoutCast TV feed just replace the __init__.py file in the hmevlc folder with the one at the bottom of this post.


EDIT: I fixed a problem, the screen went blank when returning from a video in the TED video feed, it has been corrected.

grantsa4
01-08-2009, 08:05 PM
Thanks for all the hard work Allanon. The Sports and Hobby videocast and the Technology videocast would be a great addition.

Thanks

Allanon
01-08-2009, 09:54 PM
Thanks for all the hard work Allanon. The Sports and Hobby videocast and the Technology videocast would be a great addition.

Your requested videocasts are just sections not actual videocasts, if you click on those links you will find over 6 pages of different videocast websites. I can't add them all but select a few and I will add them. Be sure to check out the videocast's website and view a few of the videos before selecting just to make sure it's has the type of video you would want to watch.

wmcbrine
01-09-2009, 08:06 AM
This fixes the messed up page up/down and the unintentional 256-item list limit. It also includes goodtrips' sensible suggestion to automatically try VLC if pass-through fails; however, I'm having trouble getting that to actually work, since VLC is refusing to transcode some files that it has no problem playing.

I'm not quite ready to incorporate Allanon's recent work, but I have attached a slightly updated version here. (The main 2.7 is still in the first post in the thread; this is just his modified __init__.py.)

Edit: Again, the "this" in the first paragraph refers to the full version attached to the first message in this thread, not the attachment to this message. There's no point downloading the latter without the former, which I see by the count that someone has done.

[File no longer needed -- see version 3.0]

Allanon
01-09-2009, 11:40 AM
Version 2.7 doesn't work with the simulator, I get the "Sorry, this program is not compatible with TiVo software/hardware version." message. I'm using Windows XP and version 1.4 of the simulator. I tried with simulator 1.4 experimental but I never can get that to work with any TiVo program. The program does work with my TiVo HD.

wmcbrine
01-09-2009, 01:04 PM
Yeah. There's a bit of code that tests for client software >= 9.4, and aborts if not. I routinely bypass this while I'm working on it, and sometimes forget to turn it back on for distribution. This time I remembered. :)

If you need it to work in the simulator, you can insert a "return" statement as the first statement of handle_device_info() in hmevlc/__init__.py. That's what I do.

wmcbrine
01-12-2009, 05:27 AM
OK, I've implemented config.ini-based, generic iTunes-style RSS support. Just make a section with the name and use "rss=" to specify the URL. You can also add "needs_vlc=True" if it's needed. This feature requires Python 2.5 or 2.6, or the add-on ElementTree package for 2.4.

I've also made the Shoutcast support config.ini-based. I don't know if there are other Shoutcast TV servers out there, but if nothing else, you can use this to disable it, by removing the config.ini entry.

I added a couple more sample feeds to Allanon's. First was Tekzilla. This is actually one of the first things I viewed with my HME video streamer (before it was HME/VLC), and I was keen to start building a Video Podcast app, but I put that aside when Tekzilla appeared on TiVoCast, like, the next day. However, the TiVoCast encoding is crummy. You can see it in HD here, although it seems a little jerky (24 fps).

The other one was GeekBrief.TV. I hear people have been having problems with the TiVoCast. See if this works any better for you.

Much more to come...

Allanon
01-12-2009, 06:53 AM
Nice, I was going to implement RSS in the config but really didn't know how to make it generic since I never worked with RSS feeds before this and each of their structures seemed different. Anyway good to have this feature. Another thing I was going to add is displaying the description of the selected RSS feed menu item when the info button is pressed. Most RSS feeds have a description field for each item . Maybe you can add this?

wmcbrine
01-14-2009, 12:03 PM
This version uses HD for the menus and overlays, when possible. (Mainly to fit more text in.) Which is always, since it only works on S3/HD; except, it won't do it if your aspect ratio isn't set to 16:9.

digger69
01-16-2009, 10:34 AM
Hi wmcbrine, in this post (http://www.tivocommunity.com/tivo-vb/showthread.php?t=414865), moyekj indicated there's a limit on the stream buffer. I assumed this is why, when streaming a full length movie (xvid ~ 2gb) it stops before the end. Is that true or is there something I can do to fix this? It's not a big deal since I can pull it over w/ pytivo and then have no problem, but it's not as effecient.

I didn't see any changes related to this, so I assume audio only stream is still not supported.

Lastly, I wonder what kind of thoughts you have purcolating re: HULU to TiVo - perhaps through PlayOn or the like. Or, am I just dreamin? :)

Thanks for your help.

Chew
01-16-2009, 11:09 AM
I tried this a few weeks ago, but couldn't get it to work for me.

Last night I tried again. Important tip: read through the thread first. ;) I had a newer version of VLC installed, once I rolled back to the last 0.8 version everything's great.

I love the RSS addition. Looking forward to new additions and features. :up:

digger69
01-16-2009, 11:34 AM
Important tip: read through the thread first. ;) I had a newer version of VLC installed, once I rolled back to the last 0.8 version everything's great.

Thanks for the reply Chew. The wmcbrine's start of the thread indicates the 0.8.6 is the preferred build and I've been using 0.8.6.i, so I'll downgrade from i and give it a go.

Chew
01-16-2009, 12:51 PM
I had whatever the most current version of VLC was (0.9.x), rolled back to 0.8.6i and it worked fine.

wmcbrine
01-16-2009, 04:59 PM
VLC 0.8.6i is still 0.8.6. It's 0.9+ that's busted.

wmcbrine
01-19-2009, 09:44 AM
Pass-through (no reencoding) support for files with the extensions ".tivo", ".m4v", ".mpeg", ".vob", and ".m2v", and better handling of RSS feeds with mixed video and non-video items.

digger69
01-19-2009, 10:42 AM
Just tried an audio only stream and worked like a charm. Beauty...

Allanon
01-19-2009, 12:52 PM
Just tried a 720p .m4v video and it played but it seemed to be skipping frames to keep up. It never paused and there was never a break in the sound but the video would show a few frames slowly then skip to keep up. It was very weird, the movie kept up with the sound but at the same time it looked like it the video was in slow motion. Also when I paused the video to let it buffer then played, it did the same thing. The same videos transfered and looked great when using pyTivo.

wmcbrine
01-19-2009, 12:54 PM
Using pyTivo, it's reencoded to MPEG-2 by ffmpeg. Evidently ffmpeg is more tolerant than the TiVo. But that's what I'd expect.

There's nothing I can do about that kind of issue. You could force it to be reencoded, by naming it with a different extension; that's about it. Edit: Or, if you want all .m4v's to be reencoded, change its MIME type in start.py -- I've noticed that at least some sites label it as "video/x-m4v". Changing the type will kill the passthrough. Edit 2: Or, if this is from an RSS feed, you can just mark the feed as "needs_vlc=True" in config.ini.

I'll just add that this is not a general problem with .m4v files.

Dan203
01-19-2009, 06:32 PM
I'm trying this for the first time and having an issue...

I successfully start the script on my PC and it shows up on my TiVo in the Music & photos section. However when I select the app all I get is a black screen, and when I check the command window I see a error that says...

C:\Documents and Settings\Dan>"C:\Program Files\Python\python" C:\hme-vlc\start.py
HME Server for Python 0.17
Skipping: apples - No application class
Skipping: icons - No module named icons
Mon Jan 19 16:24:02 2009 Server Starts
Registering: hmevlc
172.16.1.33:1593 - - [19/Jan/2009 16:24:29] "GET /hmevlc/icon.png HTTP/1.0" 200
-
172.16.1.33:1594 - - [19/Jan/2009 16:24:33] "GET /hmevlc/ HTTP/1.1" 200 -
172.16.1.33:1594 - - [19/Jan/2009 16:24:33] Starting HME: hmevlc
----------------------------------------
Exception happened during processing of request from ('172.16.1.33', 1594)
Traceback (most recent call last):
File "C:\Program Files\Python\lib\SocketServer.py", line 558, in process_request_thread
self.finish_request(request, client_address)
File "C:\Program Files\Python\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Program Files\Python\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Program Files\Python\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Program Files\Python\lib\BaseHTTPServer.py", line 323, in handle_one_request
method()
File "C:\hme-vlc\start.py", line 232, in do_GET
self._page(True)
File "C:\hme-vlc\start.py", line 183, in _page
appinst.mainloop()
File "C:\hme-vlc\hme.py", line 1108, in mainloop
while self.active and self.get_event():
File "C:\hme-vlc\hme.py", line 1189, in get_event
handle()
File "C:\hme-vlc\hmevlc\__init__.py", line 146, in handle_active
self.show_top()
File "C:\hme-vlc\hmevlc\__init__.py", line 149, in show_top
self.root.set_image(self.graphics[0])
File "C:\hme-vlc\hme.py", line 1008, in set_image
self.set_resource(Image(self.app, name, f, data), flags)
File "C:\hme-vlc\hme.py", line 709, in __init__
f = open(name, 'rb')
IOError: [Errno 2] No such file or directory: 'apples/red-hd.png'
----------------------------------------


I checked the directory where the script is and there is in fact a apples folder with a file called red-hd.png in it, so I'm not sure why this would be happening. Any ideas?

Dan

wmcbrine
01-20-2009, 02:14 AM
Change to the hme-vlc directory, then run it..

grantsa4
01-25-2009, 06:31 PM
Hulu has RSS Feeds at : http://www.hulu.com/feed. Does anyone know how to add them to the list?

Great additions to the new version by the way - awesome app!

Allanon
01-25-2009, 06:56 PM
Hulu has RSS Feeds at : http://www.hulu.com/feed. Does anyone know how to add them to the list?

Those Hulu RSS feeds don't include a link to the video file, they just link to the Hulu site where the video is played. The RSS feed needs to link directly to a video file.

There are many RSS feeds that do include links to the video file and here is an example of how to add the Nova RSS feed.

Just open the config.ini file and enter this:
[Nova]
rss=http://feeds.pbs.org/pbs/wgbh/nova-video

grantsa4
01-25-2009, 09:19 PM
Thanks.

Has anyone tried any of the other P2P TV programs, such as TVAnts or TVu?
I know there is a Sopcast link posted that works great.

wmcbrine
01-25-2009, 11:41 PM
New top-level menu for RSS feeds, a few more sample feeds, and the ability to mark a file share as "needs_vlc" (see Changes for details).

Allanon
01-26-2009, 04:42 AM
Has anyone tried any of the other P2P TV programs, such as TVAnts or TVu?
I know there is a Sopcast link posted that works great.

TVu would be:
[TVu]
url=http://127.0.0.1:8901
needs_vlc=True

TVAnts is a little harder because the URL changes so you will need to update the config.ini file each time you want to watch a different video. You will need to right click and select properties on the video while it's playing to find the stream's URL.

grantsa4
01-26-2009, 12:51 PM
Thanks Allanon - will try it out

jayfest
01-26-2009, 04:34 PM
I'm trying to run this on my HD TiVo.

1) I get to the screen and it shows a Live Streams folder. Inside the folder are all the ones which have a URL for them in the config.ini file, but none of the RSS items. How do I get those RSS items like Cranky Geeks?

2) I selected C-Span1 to play, but all I get is a black screen with a few numbers in the corners. On my computer, the VLC.exe Command Line Window shows the following:

[00000395] dummy interface: VLC media player - version 0.9.8a Grishenko - (c) 19
96-2008 the VideoLAN team
[00000395] dummy interface:
Warning: if you can't access the GUI anymore, open a command-line window, go to
the directory where you installed VLC and run "vlc -I qt"

[00000395] dummy interface: using the dummy interface module...
[00000411] main access out: creating httpd
[00000415] mux_ps mux: Open
[00000415] mux_ps mux: Close
[00000451] main access out: creating httpd
[00000454] mux_ps mux: Open
[00000456] access_mms access: selecting stream[0x1] audio (21 kb/s)
[00000456] access_mms access: selecting stream[0x2] video (177 kb/s)
[00000456] access_mms access: connection successful
[00000498] avcodec encoder error: cannot open encoder
[00000448] stream_out_transcode stream out error: cannot find video encoder (mod
ule:any fourcc:mp1v)
[00000448] stream_out_transcode stream out error: cannot create video chain
[00000496] main packetizer error: cannot create packetizer output (WMV3)

Is there something else I should have done to get this to work properly?

herbman
01-26-2009, 04:58 PM
I'm trying to run this on my HD TiVo.

1) I get to the screen and it shows a Live Streams folder. Inside the folder are all the ones which have a URL for them in the config.ini file, but none of the RSS items. How do I get those RSS items like Cranky Geeks?

2) I selected C-Span1 to play, but all I get is a black screen with a few numbers in the corners. On my computer, the VLC.exe Command Line Window shows the following:

[00000395] dummy interface: VLC media player - version 0.9.8a Grishenko - (c) 19
96-2008 the VideoLAN team
[00000395] dummy interface:
Warning: if you can't access the GUI anymore, open a command-line window, go to
the directory where you installed VLC and run "vlc -I qt"

[00000395] dummy interface: using the dummy interface module...
[00000411] main access out: creating httpd
[00000415] mux_ps mux: Open
[00000415] mux_ps mux: Close
[00000451] main access out: creating httpd
[00000454] mux_ps mux: Open
[00000456] access_mms access: selecting stream[0x1] audio (21 kb/s)
[00000456] access_mms access: selecting stream[0x2] video (177 kb/s)
[00000456] access_mms access: connection successful
[00000498] avcodec encoder error: cannot open encoder
[00000448] stream_out_transcode stream out error: cannot find video encoder (mod
ule:any fourcc:mp1v)
[00000448] stream_out_transcode stream out error: cannot create video chain
[00000496] main packetizer error: cannot create packetizer output (WMV3)

Is there something else I should have done to get this to work properly?

You'll need to use the latest 0.8.x release of VLC as the 0.9 releases do not work with HME/VLC.

jayfest
01-27-2009, 12:34 AM
Thanks herbman, that helped me get the streams.

I now notice that I can use pause and play on those, but if I try to hit rewind or to exit the stream using the left arrow, the app freezes and I am forced to hit the TiVo button to get out, which puts me back at TiVo Central.

I'm also still wondering about how to get the RSS items.

wmcbrine
01-27-2009, 12:50 AM
I get to the screen and it shows a Live Streams folder. Inside the folder are all the ones which have a URL for them in the config.ini file, but none of the RSS items. How do I get those RSS items like Cranky Geeks?The RSS Feeds are in the top-level folder labelled "RSS Feeds", not under "Live Streams". If you're not seeing that folder, perhaps you're running an old version of Python that doesn't have the ElementTree XML parser. It became part of the standard library in 2.5, and was available as an add-on for 2.4.

I have no problem rewinding or left-arrowing. Anyone else?

jayfest
01-27-2009, 02:43 PM
I am not seeing the RSS Feeds folder. I installed Python 2.6.1, but I just remembered that when I tried to find something to associate the .py files with, the only version of pythonw.exe that I could find was in some older directory dated 3/29/2006, and it says version 2.4.3. Is there some other executable file I should be associating my .py files with, and where is it?

wmcbrine
01-27-2009, 03:01 PM
Maybe you should uninstall both versions and reinstall 2.6.1? The installer should correctly handle the associations automatically. I don't have a Windows system anymore*, so I don't have much more advice for you. But, ".py" should be associated with python.exe, and ".pyw" with pythonw.exe.

* My old laptop died -- see "Donations" in my sig.

jayfest
01-27-2009, 03:30 PM
Python is not listed by Windows as a program that can be uninstalled by the system. I do see an "uninstal.wse" file in one of the Python directories, but I have no idea how to run it. I hate to just delete directories. Sorry, my non-Windows knowledge is pretty thin.

I looked inside the Python 2.6.1 installer file and I didn't see any .exe files at all. Do they get created by the installation?

jayfest
01-28-2009, 01:32 AM
I've did a reinstall and everything is working properly now. I like it. Thanks.

So now I want to know if anybody knows of any sort of website that has a big list of available Live Streams and RSS Feeds of all types.

wmcbrine
01-28-2009, 11:30 AM
Look for "video podcasts". Here's one: http://videopodcasts.tv/

wmcbrine
01-28-2009, 11:07 PM
Descriptions in the Info window for RSS items; no more idle timeout during paused video; top-level folders for streams and feeds are bypassed for three items or less; similarly, if the only item in the top-level menu is a single file share, its contents are shown instead. See Changes for more details.

mulscully
01-29-2009, 12:28 PM
ok at HULU feeds

http://www.hulu.com/feed

it looks like you can subscribe to a number of different feeds and embed the video into the RSS feed.

From the Hulu feed page:
To include the Hulu embedded videos in the feed, check the "add video" checkbox before adding the feed to your RSS news reader. Note, this may increase load times for reading the RSS feed.

How could we add one of these feeds to the HME/VLC video streamer?

Lou

wmcbrine
01-29-2009, 01:04 PM
The Hulu enclosures aren't video files, they're Flash files. VLC can't play them.

I've read that there are other ways to get at Hulu streams, but it won't be as simple as plugging in an RSS URL, sorry.

mulscully
01-29-2009, 03:14 PM
vlc can transcode flv files.. can't it? I used a downloader to download a hulu file, then used your program to stream it to the tivo...

I just want to avoid the download step because the downloaders that work with Hulu are a pain in the a**.

mulscully
01-29-2009, 03:25 PM
It seems that each show in HULU has its own feed.. for example here is the feed for Johnny Sokko and His Flying Robot.

http://www.hulu.com/feed/show/285/episodes

When I enter it into the config file the episode listing does not come up.. are there specific tags you need in the xml that makes this different that it's not recognized?

If so I can write a web app that reads the hulu rss feeds and converts them to xml that your program understands..

Lou

mulscully
01-29-2009, 03:40 PM
there seem to be some referrs going on here in Hulu.. the url in the xml file

<media : player url="http://www.hulu.com/embed/0lMHFie3EbrGP4bJxvjcLA" width="512" height="296"/>
takes you to a page that redirects you to

http://www.hulu.com/playerembed.swf?referrer=none&eid=0lMHFie3EbrGP4bJxvjcLA

the 0lMHFie3EbrGP4bJxvjcLA part is the same and in a browser all you see is the video, but I can not get a page sourse to see what's going on there..

I see that this would be difficult, but this would be a great addition to the features of your program..

Lou

mulscully
01-29-2009, 05:06 PM
ok, I see how Boxee does it.. I believe they have a flash player that loads and plays the flash file. they can do that 'cause they are not then streaming it to another source.. We would need a flash player that would extract the .flv on the fly then pass it to vlc which could then restream it to the tivo.. Am I seeing that correctly?

it looks likes vlc version .9 and up can do some of this..
(from vlc website)
Starting from VLC revision 18876 (which means 0.9.0-svn after 17/02/2007), you can stream flash with VLC. You also need to build VLC with a fairly recent ffmpeg version (r7593 21/01/2007 or newer).

You can then use the following command line to do HTTP Flash Video streaming:

% ./vlc <input> --sout "#transcode{vcodec=FLV1,acodec=mp3}:std{access=http,dst=0.0.0 .0:8081/stream.flv}"



So would this work in .9 and above..? but .9 does not work right with the HME/LC streamer..

Lou

grantsa4
01-30-2009, 11:55 AM
Hi wmcbrine and all other posters that work on this software. Firstly, this is awesome software and makes my tv-watching a lot more enjoyable, so thank you.

Do you have any future changes in mind where you would like to take the software? Anything that the users can look forward to?

If not, not a big deal, just keep up the good work and keep up this (to me) very innovative software.

wmcbrine
01-30-2009, 08:14 PM
I prefer not to pre-announce anything that isn't already 90% done. :)

I can say that it's now, finally, doing more or less what I planned when I started. Beyond that, you can find a few hints elsewhere in the thread.

If you really want to encourage me, see my sig...

grantsa4
01-31-2009, 10:54 PM
Does anyone else have problems with the sound on Shoutcast streams? I get sound, but it sounds like a recordplayer that is on slow

Allanon
02-01-2009, 12:45 AM
Does anyone else have problems with the sound on Shoutcast streams? I get sound, but it sounds like a recordplayer that is on slow
I get the same with some of the streams.

grantsa4
02-01-2009, 11:43 AM
OK, thanks - just checking that it wasn't just me and I had something setup incorrectly

lordbah
02-02-2009, 05:09 PM
To have a NAS stream video to my TiVo, I should store video on the NAS in a form which will not require transcoding in order to be accepted by the TiVo. Where can I find out what is acceptable to the TiVo (a TivoHD in my case)? Actually where I'm going is what parameters would I need to give to ffmpeg or mencoder? I would be converting (where necessary) web vidcasts and DVDs, on Ubuntu. Is it as simple as saying "-f mpeg2", or are there more stringent restrictions?

Allanon
02-02-2009, 06:33 PM
Where can I find out what is acceptable to the TiVo (a TivoHD in my case)?
Tivostream (http://code.google.com/p/tivostream/) is no longer being developed but it's documentation has all the information you are looking for. Look at the bottom of the web page for ffmpeg encoding information and you can look at the tivostream.html file that is included with the Tivostream download for all video formats supported by the Tivo.

mitchk
02-05-2009, 08:46 PM
Does anyone else have problems with the sound on Shoutcast streams? I get sound, but it sounds like a recordplayer that is on slow


Same here. Also on some RSS streams. Thanks for a great application, though!

wmcbrine
02-05-2009, 10:15 PM
Descriptions for Shoutcast streams and local files (via pyTivo metadata files); better description display; better error handling (retries with VLC in more situations). See Changes for more.

Allanon
02-06-2009, 01:47 AM
It's my understanding that the shoutcast xml file is a list of the station names plus an ID to a play list file which is playable by VLC. If you want to know what is actually playing then you will need to open and read the play list file.

wmcbrine
02-06-2009, 02:27 AM
The Shoutcast XML contains two descriptive fields per station: "name" and "ct". AFAICT, "name" is supposed to be the station name, while "ct" is what's playing now -- I'm guessing it stands for "current track". In practice, the station names are full of junk, and "ct" is more useful, so I've swapped them around. I'm so far not seeing any useful additional description in the playlists -- just a duplication of "name" as "Title1" (it doesn't even include the info from "ct").

Allanon
02-06-2009, 04:37 AM
You are correct, the play list doesn't have a lot of information, I was going by memory when I posted. To get the current information you need to take the stream URL found in the play list and open it. For example if the stream is:
http://94.76.214.15:8028;stream.nsv
then open the following in a web browser:
http://94.76.214.15:8028

This will give you a status page of what is currently playing. A lot of times the information in the XML file is old, but the status page has current information. This is good for the stations that play music videos.

I doubt you are going to want to do all this parsing of files to get the current information but it is there if you want it.

Chew
02-06-2009, 03:03 PM
Descriptions for Shoutcast streams and local files (via pyTivo metadata files); better description display; better error handling (retries with VLC in more situations). See Changes for more.

Thanks for adding metadata files, it strikes one of my "wishlist" items off :up:

Two other wishlist items:

Is there a 'resume' option available (and I just don't know how to use it)?
Are there any plans for a windows installer, to run as a service?

Those are my last two (which could result in me uninstalling pyTivo). :)

mulscully
02-11-2009, 12:13 PM
It's been quiet here... Is everyone busy trying to figure out how to get Hulu.com working... :D (he says hopefully)

Allanon
02-11-2009, 04:38 PM
It's been quiet here... Is everyone busy trying to figure out how to get Hulu.com working... :D (he says hopefully)

To get Hulu working you can probably use the Python code from the XBMC Hulu plugin (http://xbmc.org/forum/showthread.php?t=42041) for an example of how to get the RTMP URL and a program like rtmpdump (http://sourceforge.net/projects/rtmpdump/) to get the FLV file from the supplied RTMP URL. VLC should be able to stream the FLV file.

As you can see I investigated getting Hulu to work but I'm not actively working on it. Maybe someone will take this idea and run with it.

mulscully
02-12-2009, 09:02 AM
I was able to get the url of the flv file from the rss feeds (each show has its own RSS feed) it's just getting vlc to transcode the flv file.. I have no experience with vlc. It also looks like we may need vlc version .9 or above...

Lou

Allanon
02-12-2009, 12:05 PM
I was able to get the url of the flv file from the rss feeds (each show has its own RSS feed) it's just getting vlc to transcode the flv file.. I have no experience with vlc. It also looks like we may need vlc version .9 or above...

Lou
I haven't seen these RSS feeds that you are talking about. The ones I've seen on the Hulu site only have links to the pages that play the embedded video not to the actual FLV file.

wmcbrine
02-12-2009, 01:14 PM
I was able to get the url of the flv file from the rss feeds (each show has its own RSS feed)No, you weren't. You got the URL of an SWF file. Which, no, is not playable by any version of VLC. The bit you quoted about 0.9 was about Flash video, and it was about serving it out, not playing or transcoding from it, which VLC 0.8 can also do. Flash video = FLV (playable); Flash = SWF (not playable).

Now, like I said, there is a way to get Hulu streams; that's just not it. You might want to read this thread (http://pytivo.krkeegan.com/hulu-support-how-it-might-actually-work-t644.html) for more on the subject. Note particularly the bit near the end about how they're starting to encrypt everything, and going after downloaders. Which is why I'm not going to pursue this.

I still have DLNA/UPnP on my mind, though, so you might be able to use Hulu via PlayOn at some point. But, don't hold your breath, don't nag, and don't go buying a PlayOn license in anticipation.

Chew
02-12-2009, 01:43 PM
I still have DLNA/UPnP on my mind, though, so you might be able to use Hulu via PlayOn at some point. But, don't hold your breath, don't nag, and don't go buying a PlayOn license in anticipation.

That would be awesome. :up:

Allanon
02-22-2009, 02:49 AM
I found a website that will create YouTube RSS feeds with links to mp4 files. This is great if you have YouTube channels that you regularly watch.

The site is RSS Handler (http://www.rsshandler.com/converter) and it has forms for creating RSS feeds from a YouTube channel URL or username. But a little hacking of the url will allow you to do playlists or almost any type feed you can get using the YouTube API (http://gdata.youtube.com/).


Here is an example of a RSS feed created using the TiVo channel url:
http://www.rsshandler.com/flvrss.rss?feedurl=http%3A%2F%2Fwww.youtube.com%2Frss%2Fuser %2FTiVo%2Fvideos.rss&format=18
Notice the url has a lot of hex codes in it, you will need to change those to ascii characters in order for HME/VLC Streamer to work. It should look like this:

[YouTube TiVo Channel]
rss=http://www.rsshandler.com/flvrss.rss?feedurl=http://www.youtube.com/rss/user/TiVo/videos.rss&format=18


Here is another example of a RSS feed of CBS's Jerico playlist which features full episodes of Jerico. You can replace the playlist ID with any other YouTube playlist ID but be warned it only display a max of 25 videos.


[Jerico]
rss=http://www.rsshandler.com/favorites.rss?feedurl=http://gdata.youtube.com/feeds/api/playlists/D9B106198C36985E?alt=rss&format=18

The playlist ID is D9B106198C36985E

Here are other CBS playlists you might want:

[Star Trek: Season 1]
rss=http://www.rsshandler.com/favorites.rss?feedurl=http://gdata.youtube.com/feeds/api/playlists/9A1D50153A6698B3?alt=rss&format=18

[Star Trek: Season 2]
rss=http://www.rsshandler.com/favorites.rss?feedurl=http://gdata.youtube.com/feeds/api/playlists/4A44617F09E27E8F?alt=rss&format=18

[Star Trek: Season 3]
rss=http://www.rsshandler.com/favorites.rss?feedurl=http://gdata.youtube.com/feeds/api/playlists/ED53E2533E5C3068?alt=rss&format=18


Also, since RSS Handler doesn't care what URL it gets as long as it has YouTube links I was thinking of using Yahoo Pipes (http://pipes.yahoo.com/pipes/) to combine the RSS feeds so I can get more than 25 videos per playlist.

Allanon
02-22-2009, 03:30 PM
Attached below is an update to HME/VLC Streamer version 3.5. Just unzip and overwrite the listview.py file in the apples folder with the new listview.py file.

This update allows you to press the info button while in the menus to see the title and description of the files, feeds, and streams. You can scroll through the menus while the info screen is displayed and it will be updated with your new selections. You can also press the info button to remove the info screen. I find this makes it a lot easier to choose what I want to watch before playing the video.

BigInJapan
03-15-2009, 06:45 PM
I'm struggling to get the feed for Obama's addresses to work. Plenty of other feeds are working fine. Not sure what's different about this one.

Here's what's in my config:
[Obama Addresses]
rss=http://www.whitehouse.gov/rss/speeches.xml
needs_vlc=True

On the TiVo, I see "Obama Adresses" in the RSS list. When I click through, I just get a blank list. On the PC, nothing reported in the console window.

The same URL worked fine in my desktop podcatcher.

Am I missing something obvious?

wmcbrine
03-15-2009, 07:23 PM
Hmm... the last time I looked at it, the Obama addresses weren't being provided as enclosures. They've fixed that, but now, they're tagged as being of type "audio/mpeg", even though they're actually video. HME/VLC filters entries and displays only those with video enclosures.

BigInJapan
03-15-2009, 10:19 PM
Got it. Thanks for checking into it. Guess I need to find their content manager and ask them for a...

...

... feed I can believe in.

Allanon
03-16-2009, 03:03 AM
BigInJapan, here is a URL for Obama's addresses from YouTube. The RSS feed is created using a custom Yahoo Pipe I wrote to convert YouTube playlists in to RSS feeds that can be used with HME/VLC Streamer.


[Obama Addresses]
rss=http://pipes.yahoo.com/pipes/pipe.run?_id=43dd95b46fd5799ee6eac8d3027a395d&_render=rss&textinput1=263D206A36953C4A


VLC is not required and if you want to convert any other YouTube playlist just replace the YouTube playlist ID located at the end of the above URL.

wmcbrine
03-16-2009, 04:03 AM
BTW, I'd downloaded one of those in February and tried streaming it locally. Without reencoding: didn't work, presumably because it didn't have the MOOV atom at the front, or whatever (the thing that's fixed by qt-faststart -- I may incorporate this into HME/VLC, but it can only work for local files). With reencoding: worked poorly, since the file was HD, and VLC was having a hard time keeping up, at least on my netbook. More recently, I tried it with pyTivo push (which has qt-faststart now). That worked, but the sound was distorted. I noticed that it was 44.1 KHz; I think the TiVo can only handle 48 KHz for AAC audio. So I tried reencoding just the audio, which worked, but then the video was messed up. But I'm not giving up...

BigInJapan
03-16-2009, 07:09 PM
Thanks Allanon. That worked fine. Of course, also made me realize I could just subscribe to whitehouse in a YouTube account and watch it on my TiVo that way. But whatever. Good to have options.

sgtstadanko
03-27-2009, 05:06 PM
has anyone been able to get Apple Trailers to work with this. I havent tested it out yet but it looks like the apple rss feeds only print to pages with the video files not the actual files themselves.

Apple has an xml feed that lists the actual file names though. Going to try it with that and see what magic happens.

really looking forward to tinkering with this as I have been using pyTivo for a while and love it.

Thanks,
Bill

Allanon
03-27-2009, 06:39 PM
The apple RSS feed won't work because it points to the page and not the file. I couldn't find the XML feed that has the filenames so I couldn't tell you if it would work or not.

There is always the hd-trailers.net RSS feed that should work. Except the 480p video will probably be the only video played because I think HME/VLC Streamer only checks for and plays the first video in the selection.

Some additions that I might attempt would be to give the user a choice if there are multiple videos for the selection and maybe if a video is not found then it goes to the link and parses the web page for video files. This would allow a lot more RSS feeds to work.

sgtstadanko
03-27-2009, 09:44 PM
thanks.

here is the link to apple xml feed:

http://www.apple.com/trailers/home/xml/current.xml

This contains descriptions and links to the movies files. I am guessing that hmevlc doesnt loke this format of xml for rss. Is there a particular type of feed it prefers...if so maybe can parse it with xslt or something.

Sicklybutsexy
03-28-2009, 05:25 PM
hey wmcbrine, are there any plans on implementing such things as seeking within a stream and the program remebering where you last watched like in streambaby?

wmcbrine
03-28-2009, 07:37 PM
I refer you to #186 (http://tivocommunity.com/tivo-vb/showthread.php?p=7034632#post7034632).

digger69
03-30-2009, 06:36 PM
Thanks for adding metadata files, it strikes one of my "wishlist" items off :up:

Two other wishlist items:

Is there a 'resume' option available (and I just don't know how to use it)?
Are there any plans for a windows installer, to run as a service?

Those are my last two (which could result in me uninstalling pyTivo). :)

I'd like to run this as a service as well. Any hopes of that? Thanks,
M

Tivogre
03-30-2009, 08:05 PM
All I get to select from is the RSS feeds (menu tree). The individual channels (like CNN feeds) are not listed.

What have I done wrong?

wmcbrine
03-30-2009, 08:23 PM
You don't have VLC set up, or it's not in a place that HME/VLC checks for. If it is installed, point to it in config.ini. (Under [hmevlc] -- vlc=/your/path/here.exe.)

When VLC is not found, HME/VLC only displays the items that aren't marked "needs_vlc".

spellow
04-20-2009, 02:26 PM
ok, I can't figure what I'm doing wrong....I installed python, installed 0.8.6 VLC...I'm not sure what to update in the config file, but I added my IP for my live webcam that I want to stream.

When I click on start.py the dos window comes up, but it never gets past registering.....

HME Server for Python 0.17
Mon Apr 20 14:25:57 2009 Server Starts
Registering: hmevlc

wmcbrine
04-20-2009, 03:04 PM
No, that's what you'd expect to see on a normal start. Now go to the Music, Photos & Showcases menu on your TiVo and see if "HME/VLC" is there.

spellow
04-20-2009, 05:16 PM
I looked, I don't see anything...

wmcbrine
04-20-2009, 06:47 PM
And you understand that it will be under MP&S, and not the NPL, right?

If it's not there, it's probably a network problem, like a firewall on the PC blocking it.

spellow
04-21-2009, 11:25 AM
Yeah, I understand where it shoudl show up on the Tivo...I opend up my firewall, still nothign shows up...I am running vista, does it work on vista...I know it said XP, but I figured I would try it.

wmcbrine
04-21-2009, 12:29 PM
I see no reason it wouldn't work on Vista, but I haven't tested it.

There's not much to go on here. Do other HME apps work for you? Specifically, other HME apps hosted on your own PC? Have you Enabled Home Network Applications (last line on the MP&S menu)? Are your TiVo and your computer on the same subnet (what are their IPs)?

spellow
04-21-2009, 12:51 PM
Yeah, i view photos, MP3's no problem. Tivo desktop 2.7 works with no issues as well...

Here is the first few lines of my config file, maybe I have somethign wrong.

[hmeserver]
port=9043
datapath=
apps=hmevlc

[hmevlc]
vlcport=9044
vbitrate=2048
abitrate=384

[Videos]
dir=f:/TVShows
needs_vlc=True

[Movies]
dir=f:/TVShows

[Liam Bedroom]
rss=http://192.168.0.100

[TED Talks]
rss=http://feeds.feedburner.com/tedtalks_video

[Tekzilla]
rss=http://revision3.com/tekzilla/feed/quicktime-high-definition/

[GeekBrief.TV]
rss=http://geekbrief.podshow.com/feed.xml

wmcbrine
04-21-2009, 01:32 PM
Yeah, i view photos, MP3's no problem. Tivo desktop 2.7 works with no issues as well...Actually, none of those are HME, though it does seem to indicate that your computer is talking to your TiVo. Hmm. I don't know what to suggest, apart from rebooting your TiVo.

Maybe TiVo Desktop is conflicting with Zeroconf.py? That doesn't happen under XP, but like I say, I haven't tested with Vista.

datapath=That line certainly isn't useful, but it shouldn't keep HME/VLC from showing up, either. Given that your video shares are on the F: drive, you might want "datapath=f:\" here.

[Liam Bedroom]
rss=http://192.168.0.100Does your web cam really provide an RSS feed? Perhaps "url" would be more appropriate here. Of course you're not to that point yet.

spellow
04-21-2009, 02:46 PM
ok, so when I put a path for this field:

[hmeserver]
port=9043
datapath=F:\TVShows\movies
apps=hmevlc

it shows up on my tivo, if I remove the path it does not show up.

But even when it does show HME/VLC on my tivo when i select it it never goes past please wait.....

wmcbrine
04-21-2009, 06:38 PM
it shows up on my tivo, if I remove the path it does not show up.Strange.

But even when it does show HME/VLC on my tivo when i select it it never goes past please wait.....And what does it say on the console (DOS Box) when this is happening?

spellow
04-22-2009, 08:22 AM
It never says anything...still says this:

HME Server for Python 0.17
Tue Apr 21 14:59:52 2009 Server Starts
Registering: hmevlc

wmcbrine
04-22-2009, 10:23 AM
So... when it does show up, it's without an icon, right?

It still sounds like a network problem, then.

ilwerath
04-29-2009, 04:26 PM
@ wmcbrine
I just wanted to delurk and say "Thanks!" Great program. I can't believe I just now discovered it. Maybe you should try to get some more publicity. I just happened across this thread by Google...

Also, as a point of data for you, it works great with Python 2.6 for AMD64 on Windows Server 2003 64bit. :)

@ spellow
Two thoughts for you.

First, in the .ini file, I specified all directory paths with backslashes, in the form
d:\path\to\my\files\
Windows doesn't much like front slashes...

Second, do you have UAC enabled in Windows Vista? Are you trying to launch Python 2.6 with Administrator rights? It may need them to function properly. Logically, there is no reason the script should care much what version of Windows you call it from, but it might crash if it or Python doesn't have system rights.

primehalo
04-30-2009, 05:13 PM
The instructions say "Python 2.4 or later (2.5 or later recommended)", but does that include Python 3.0.1, because the Python website says version 3 is incompatible with version 2?

wmcbrine
04-30-2009, 06:05 PM
Basically no Python program wants or will work with Python 3.x, unless explicitly marked as being for 3.x. 3 is the future... 2 is now.

I have developed a 3.x-compatible version of my HME library, but I'd also need an updated Zeroconf.py for it to work. Since that doesn't seem to be forthcoming, I may have to do it myself.

trashjunkid
05-06-2009, 02:27 PM
@spellow:
I have vista too & it seems to work. I did have to install .86i VLC, of course. My cmd window shows "Registering" and nothing else until I actually click on the Music, Photos & Slideshows menu, then it actually connects.
It worked without me specifying the data path- that is, it worked for the feeds. When I changed the config file datapath to C:\ and then made the Videos section \users\name\Videos, leaving the needs_vlc=True line below, my local videos worked great.

@wmcbrine: Thank you for your awesome work here and with pytivo. Together both programs have really transformed our movie/tv/photo/music experience.

Now, my questions. First time poster, longish time lurker.

I liked the latest build of VLC- is it possible to have both versions installed (in windows vista), having hme/vlc server use the .86 and the rest of my system to use the latest build? I really don't know and during the install process it didn't seem possible- and I'd rather not lose the hme/vlc ability.

Now the second question is a bit more mysterious to me. How can I tell which feeds will work in with this app and which will not?

I tried the following feeds and none of them worked:

Washington Post HD Video Podcast]
rss=h t t p://w w w.washingtonpost.com/wp-srv/mmedia/hd_podcast.xml
needs_vlc=True

[Colbert Report Video Clips]
rss=h t t p://f e e d s 2.feedburner.com/ColbertReportiFilm?format=xml
needs_vlc=True

[Hubblecast]
rss=h t t p://w w w.spacetelescope.org/rss/vodcasthd.xml
needs_vlc=True

(I added extra spaces above to get the links to post, because I am a lowly 0 post-count lurker)

I tried at least the first 2 without the needs_vlc=True line, and all three with the line. In any case, only the hubblecast displayed the episode titles. The other two simply didn't work. I can't see why the Washington Post and Hubblecast aren't working, as they apparently link directly to the files. I am sorry if the answer is already present in this thread or the forum- I may very well have overlooked it.

Can anyone offer any suggestions on these points?

Thanks,
trashjunkid

Allanon
05-06-2009, 08:17 PM
I liked the latest build of VLC- is it possible to have both versions installed (in windows vista), having hme/vlc server use the .86 and the rest of my system to use the latest build? I really don't know and during the install process it didn't seem possible- and I'd rather not lose the hme/vlc ability.

If you open the VLC.py file in a text editor and search the text for "vlcpath" you will find this code:

if sys.platform == 'win32':
vlcpath = r'C:\Program Files\VideoLAN\VLC\vlc.exe'


Just rename or move the folder that holds VLC version .86 then change the vlcpath. Then install the newer version of VLC.

How can I tell which feeds will work in with this app and which will not?

When you open the feed in an RSS reader and see the actual link to the video file then that feed will probably work, if there is just a link to another web page then it won't work.

The Washington Post and Hubblecast feeds should work. The Colbert Report feed doesn't have a link to the actual video file so it won't work.

wmcbrine
05-06-2009, 08:26 PM
Hubblecast is working for me (and without needs_vlc), but the videos are coming in reeeeeeeally slowly. It may be that their server is overloaded.

The Colbert Report feed is not in the right format for HME/VLC. It doesn't have video enclosures, only links to web pages with embedded Flash.

The Washington Post feed is crashing HME/VLC. I haven't figured out why yet...

Edit: I had this open while I tested and didn't refresh before I posted. To what Allanon said, I'll just add that you can set the path to VLC in your config.ini:

[hmevlc]
vlc = \where\ev\er

Edit 2: OK, the Washington Post feed contains one enclosure that stupidly has no MIME type defined. That's what's breaking HME/VLC. I'll do a workaround...

wmcbrine
05-06-2009, 09:33 PM
The quickest workaround for the Post: Find the line in hmevlc/__init__.py that says:

if enc is not None and enc.get('type').startswith('video'):

and change it to:

if enc is not None and enc.get('type', '').startswith('video'):

The clips look great, and needs_vlc is not needed. There are some entries for nonexistent (404) videos, though.

dennys48
05-06-2009, 11:21 PM
That does work for the Washington Post but it causes CBN (Christian Broadcasting Network) to stop working. (I wasn't allowed to post the link because I have 0 posts here.

wmcbrine
05-07-2009, 12:39 AM
That does work for the Washington Post but it causes CBN (Christian Broadcasting Network) to stop working.So, an improvement all around, then. :D

dennys48
05-07-2009, 03:13 PM
Funny funny :) It does work sometimes even with the modified init_.py,, but usually fails.

wmcbrine
05-07-2009, 03:49 PM
Seriously, I can't see how that change would break anything that was working before. It has to be a coincidence (and the intermittent nature of the failures seems to back that up).

trashjunkid
05-08-2009, 01:34 PM
Thanks for the help and the workaround.

To clarify, which rss feed file types do not require vlc (mp4, m4v, ?)

How could you tell there was a missing enclosure on the Washington post feed?
(It does look really nice, nicest one I could find on the feeds- anyone have any other really good ones?)

And how can you find/determine will work live feeds? I see some live feeds have two web address entries, some only one. Most end in asx, but the research channel live feed and the Nasa tv live feed do not....

So what works for live feeds and how do I find more?

Again, sorry if this is covered somewhere in this or other threads, I am really new.

Oh, yes, one last question: how does the file transfer via pytivo differ from the file streaming (local files) via the hme/vlc? Is it simply that the file is not officially & permanently transfered when using the hme program? Unlike the netflix streaming, the hme/vlc is transferring and keeping the file, at least as long as I am viewing it, right? With netflix streaming, I have the idea that only a minute or two of the file is present on the tivo at any time, whereas the hme/vlc is showing many minutes transferred for a large file.
(Hope that makes sense)

-Trashjunkid

dennys48
05-09-2009, 07:46 PM
It may have been a fluke. I'll go back to the modified init_.py and see if I jumped to a hasty conclusion.

ilwerath
05-10-2009, 11:59 AM
Any ideas why this rss doesn't seem to work? I had originally thought it was because of the .m4v file, but it seems to play fine if I download the file manually and point HME/VLC at the directory...

[Fast Lane Daily]
rss=h t t p://feeds.fastlanedaily.com/fast_lane_daily/rss
needs_vlc=True

Also, anyone know how to force letterbox padding so HD feeds are in correct aspect ratio on a 4:3 TV? I'm assuming it's just a switch to set in the mess of parameters that get sent to VLC, but my ham-fisted messing with vlc.py didn't yield the results I was hoping for, yet. :P

trashjunkid
05-10-2009, 03:01 PM
h t t p://feeds.fastlanedaily.com/fast_lane_daily/rss

I think that doesn't work because the rss page doesn't directly link to the m4v files- look at the files sizes, they're like a few hundred bytes.

h t t p://video.fastlanedaily.com/video/93505/93505_2009-05-08-141755.m4v?s=6p23p

is 650 bytes, for example, but when I click on it the file downloaded is 66.74 mb.

The feeds that appear to work link to the actual files, not redirects to the files.

-trashjunkid

wmcbrine
05-10-2009, 03:59 PM
To clarify, which rss feed file types do not require vlc (mp4, m4v, ?)You can't go by type. Most of those seem to be compatible, yes (and most feeds seem to work that way). Some aren't. My recommendation is to try the feed without needs_vlc first, and only add it if you need to.

How could you tell there was a missing enclosure on the Washington post feed?(Actually a missing MIME type on one enclosure, not a missing enclosure.) From the error message, confirmed by viewing the source of the feed in Firefox.

And how can you find/determine will work live feeds?I have no system for finding them. For the ones I have, they were either "I wonder if X has a live stream I can access" or else someone directed me to them, or I knew about them before I started this project. Determining whether they'll work is solely by experiment.

Oh, yes, one last question: how does the file transfer via pytivo differ from the file streaming (local files) via the hme/vlc? Is it simply that the file is not officially & permanently transfered when using the hme program?That's one way to look at it. They are somewhat similar. The HME streamed videos apparently have a 1.1 GB buffer area reserved for them on the TiVo. When this buffer is filled, the streaming stops. (Or so I'm told -- I've yet to run into this myself.)

Unlike the netflix streaming, the hme/vlc is transferring and keeping the file, at least as long as I am viewing it, right?Yeah (up to 1.1 GB's worth, anyway). The Netflix streaming works in a completely different way that we don't quite understand yet. HME/VLC works more like the YouTube viewer.

Any ideas why this rss doesn't seem to work? I had originally thought it was because of the .m4v file, but it seems to play fine if I download the file manually and point HME/VLC at the directory...

[Fast Lane Daily]
rss=http://feeds.fastlanedaily.com/fast_lane_daily/rss
When I look at that feed in Firefox, it shows peculiarly short lengths for the enclosures -- e.g., 650 bytes. Then when I click on one, it downloads over 60 megs. I suspect there's some redirection going on, which Firefox is handling transparently, but HME/VLC isn't. I'll look into it further.

Also, anyone know how to force letterbox padding so HD feeds are in correct aspect ratio on a 4:3 TV? I'm assuming it's just a switch to set in the mess of parameters that get sent to VLC, but my ham-fisted messing with vlc.py didn't yield the results I was hoping for, yet. :PI would think this should be handled on the TiVo end, not in HME/VLC. Set your TV Aspect Ratio to 4:3, and select "Panel" via the "Aspect" button (before entering HME/VLC -- you have to do it during LiveTV or an NPL recording). And leave off "needs_vlc" if at all possible; it can mess up the aspect ratio flag, not to mention it crushes the quality out of HD, even if you set the bitrate high, because it wants to reencode in real time.

trashjunkid
05-11-2009, 10:50 PM
This page lists a host of rtsp links for classic (public domain?) materials, sorted by genre.

h t t p://w w w.americafree.tv/VLC/

Here are the cartoon links:
r t s p://video3.americafree.tv/AFTVCartoonsH2641000.sdp
r t s p://video3.americafree.tv/AFTVCartoonsH264500.sdp
r t s p://video3.americafree.tv/AFTVCartoonsH264250.sdp

I am having trouble getting the 1st or 2nd (higher quality) links to stream on my computer using vlc- I don't know if it is my connection or what. (My connection speeds are usually quite decent.)

Regardless, the 3rd link, the lowest quality one, plays audio and video on my pc using vlc. When I include the link in the config file:

[Aftv cartoons low]
url=rtsp://video3.americafree.tv/AFTVCartoonsH264250.sdp
needs_vlc=true

I get audio only. Should I be using some other qualifier than "url=" or some sort special vlc options? Any suggestions on this one?

-Trashjunkid

EDIT:

I see the earlier posts on americafreetv, but I still am having troubles, so if someone else can double check I'd be obliged.

trashjunkid
05-12-2009, 11:37 AM
When I have used vlc to stream in other circumstances it always seemed to require something like
--sout=#transcode{vcodec=...,soverlay} to make this work.


How could this bit of advice be incorperated with the paramenters in the vlc.py file?

:sout=#transcode{scodec=dvbs}

or

:sub-track=0

or what?

Me monkeying around with the parameters in the vlc.py file is like me jabbing around in the dark, so if someone could point me in the right direction on this, I'd appreciate it.

Right now I'm trying to get DVD ISO's mounted to a virtual drive to show the subtitles when streamed via hme-vlc.

I have the config file as so:
[DVD]
dir=E:\
needs_vlc=True

and have tried adding :sub-track=0 to the dir=E:\ line, that doesn't do it. I tried adding both lines, seperately, to the parameters area in the vlc.py file. That doesn't work either.

I'd like to be able to stream/embed the captions from the dvd and from divx files (using srt files).

-Trashjunkid

Allanon
05-12-2009, 03:10 PM
Right now I'm trying to get DVD ISO's mounted to a virtual drive to show the subtitles when streamed via hme-vlc.

The following should allow you to play the DVD.

[DVD]
url=dvdsimple://e:
needs_vlc=True


You might try this for subtitles but since there is a space it might not work.

[DVD]
url=dvdsimple://e: :sub-track=0
needs_vlc=True