# HME/VLC video streamer, v1.0 -- watch NASA TV, etc.



## wmcbrine

Code:


HME/VLC video streamer, v3.6
by William McBrine <[email protected]>
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 wmcbrine.com.]


----------



## wmcbrine

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

No suggestions?

A couple of minor tweaks in this version.


----------



## wmcbrine

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

Seems cool. If I ever get a S3/HD I'll have to remember to check it out.


----------



## wmcbrine

More graceful handling of some errors, and added the Research Channel.


----------



## wmcbrine

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

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

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

Allanon said:


> 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

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

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

Allanon said:


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


I thought the zip file seemed a little small.  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

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

Hmm. Perhaps I should recommend 2.5 in the docs...

How about this?



wmcbrine said:


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


----------



## Allanon

Here is the config I'm testing with:



Code:


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

Allanon said:


> 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

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

Here is a stream for PG24 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.



Code:


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:



Code:


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. They have other streams but they are not in English:



Code:


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)




Code:


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

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

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

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

Nope, that's not it.


----------



## wmcbrine

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


----------



## wmcbrine

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

wmcbrine said:


> 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

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

dankruse said:


> 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:



Code:


[Movies]
dir=e:\home\movies

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

by invoking the program like this:



Code:


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. 

I know this is an area that needs work.

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


----------



## Danimal4326

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

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

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

wmcbrine said:


> 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

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

I only post this one because I'm compulsive.


----------



## PaulS

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

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

wmcbrine said:


> 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

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

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

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

wmcbrine said:


> 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

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

> 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

goodtrips said:


> 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

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

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

Can we use this to read streams from HDhomerun


----------



## Allanon

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

wmcbrine said:


> 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:



Code:


[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

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

Better handling of VLC in nonstandard locations or missing VLC; various minor menu tweaks to make it closer to TiVo's own.


----------



## goodtrips

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

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

If you want to stream SopCast to the Tivo just add the following to the config.ini:



Code:


[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

wmcbrine said:


> I'm thinking about how to do audio streams. Stay tuned. ...


Staying tuned


----------



## Allanon

The same simplification that wmcbrine did in this post 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:


Code:


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


----------



## wmcbrine

Reorganization; more options for config.ini; no longer need to set the datapath in Windows.


----------



## dankruse

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

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

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

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

Ely105 said:


> 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

CuriousMark said:


> 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

wmcbrine said:


> 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

Ely105 said:


> 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

wmcbrine said:


> 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:



Code:


PARAMS = '#transcode{vcodec=&#37;(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

Allanon said:


> There are a few changes to the command line syntax


Where is that documented?


----------



## Allanon

wmcbrine said:


> 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 it seems the syntax you used it still valid.


----------



## Ely105

wmcbrine said:


> 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

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

wmcbrine said:


> 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

wmcbrine said:


> 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

You'll be the first to know.


----------



## PaulS

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

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

Might be a dumb question.... but any way to get subtitles to stream with files [either with vlc transcoding or not?]


----------



## goodtrips

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

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

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

EightPieceBox said:


> 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


That's what it should be.

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


----------



## phdeez

wmcbrine said:


> 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].



wmcbrine said:


> ... 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...



goodtrips said:


> 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

phdeez said:


> 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

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

jmemmott said:


> 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.



wmcbrine said:


> 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

wmcbrine said:


> 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

wmcbrine said:


> 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

EightPieceBox said:


> 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

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

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

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

KevinG said:


> 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

moyekj said:


> 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

KevinG said:


> 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

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

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

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

dwgsp said:


> # not sure what the syntax is for the following line
> vlc=C:\Program Files\VideoLAN\VLC
> #vlc=C:\Program Files\VideoLAN\VLC\vlc.exe


It'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

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

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

VLC 0.8.6 will transcode FLV movies. Whether this is the same as "supporting streaming Flash" is not clear to me.


----------



## dwgsp

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

dwgsp said:


> 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

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

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

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

kurt711 said:


> 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

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

moyekj said:


> 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

leenuxg33k said:


> 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

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

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

MelSmith said:


> 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

moyekj said:


> 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

MelSmith said:


> 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

moyekj said:


> 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

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

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

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

Did you try again? Once could be a fluke. If you get it repeatedly, then it sounds like a network problem.


----------



## grantsa4

Yip, still same problem. Any advice on what to check network wise?


----------



## leenuxg33k

grantsa4 said:


> 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

If I have a firewall setup, do I just need to open those 2 ports?


----------



## leenuxg33k

grantsa4 said:


> 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

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

No. Port forwarding is to allow in traffic from the wider Internet.


----------



## grantsa4

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

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

grantsa4 said:


> 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

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

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

grantsa4 said:


> Finally got it to work


How?


----------



## grantsa4

I made a change to my firewall


----------



## Laserfan

grantsa4 said:


> I made a change to my firewall


Thanks for reporting!


----------



## grantsa4

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

I modified the _up()_ and _down()_ functions in the _listview_ module.


Code:


    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:


Code:


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('&#37;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:


Code:


                    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:


Code:


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:


Code:


    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

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

goodtrips said:


> 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:



Code:


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:



Code:


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

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:


Code:


<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:


Code:


[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

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.


----------



## Allanon

wmcbrine said:


> 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.


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

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

Ah, I see now.  Cool stuff... good job.



Allanon said:


> BTW, page up and down is broken.


Yeah.


----------



## Allanon

It was so easy to add an xml feed that I have added 2 more. The first newly added feed is Archive Classic Movies, they have a bunch of old classic public domain videos. And the other feed is TED, 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, 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

Thanks for all the hard work Allanon. The Sports and Hobby videocast and the Technology videocast would be a great addition.

Thanks


----------



## Allanon

grantsa4 said:


> 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

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

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

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

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

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

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

Hi wmcbrine, in this post, 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

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

Chew said:


> 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

I had whatever the most current version of VLC was (0.9.x), rolled back to 0.8.6i and it worked fine.


----------



## wmcbrine

VLC 0.8.6i _is_ still 0.8.6. It's 0.9+ that's busted.


----------



## wmcbrine

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

Just tried an audio only stream and worked like a charm. Beauty...


----------



## Allanon

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

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

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...



Code:


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

Change to the hme-vlc directory, then run it..


----------



## grantsa4

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

grantsa4 said:


> 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:


Code:


[Nova]
rss=http://feeds.pbs.org/pbs/wgbh/nova-video


----------



## grantsa4

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

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

grantsa4 said:


> 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:


Code:


[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

Thanks Allanon - will try it out


----------



## jayfest

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

jayfest said:


> 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

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

jayfest said:


> 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

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

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

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

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

Look for "video podcasts". Here's one: http://videopodcasts.tv/


----------



## wmcbrine

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

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

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

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

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

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

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 --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

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

I prefer not to pre-announce anything that isn't already 90&#37; 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

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

grantsa4 said:


> 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

OK, thanks - just checking that it wasn't just me and I had something setup incorrectly


----------



## lordbah

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

lordbah said:


> Where can I find out what is acceptable to the TiVo (a TivoHD in my case)?


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

grantsa4 said:


> 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

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

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

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

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

wmcbrine said:


> 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

It's been quiet here... Is everyone busy trying to figure out how to get Hulu.com working...  (he says hopefully)


----------



## Allanon

mulscully said:


> It's been quiet here... Is everyone busy trying to figure out how to get Hulu.com working...  (he says hopefully)


To get Hulu working you can probably use the Python code from the XBMC Hulu plugin for an example of how to get the RTMP URL and a program like 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

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

mulscully said:


> 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

mulscully said:


> 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 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

wmcbrine said:


> 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

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 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.

Here is an example of a RSS feed created using the TiVo channel url:


Code:


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:


Code:


[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.



Code:


[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:


Code:


[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 to combine the RSS feeds so I can get more than 25 videos per playlist.


----------



## Allanon

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

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

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

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

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.



Code:


[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

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

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

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

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

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

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

I refer you to #186.


----------



## digger69

Chew said:


> 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

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

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

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

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

I looked, I don't see anything...


----------



## wmcbrine

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

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

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

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

spellow said:


> 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.100


Does 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

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

spellow said:


> 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

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

So... when it _does_ show up, it's without an icon, right?

It still sounds like a network problem, then.


----------



## ilwerath

@ 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

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

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

@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

> 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:


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

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

The quickest workaround for the Post: Find the line in hmevlc/__init__.py that says:



Code:


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

and change it to:



Code:


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

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

dennys48 said:


> That does work for the Washington Post but it causes CBN (Christian Broadcasting Network) to stop working.


So, an improvement all around, then.


----------



## dennys48

Funny funny  It does work sometimes even with the modified init_.py,, but usually fails.


----------



## wmcbrine

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

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

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

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.


----------



## trashjunkid

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

trashjunkid said:


> 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.



ilwerath said:


> 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. _


I 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

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

jmemmott said:


> 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

> 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.


Code:


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

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


Code:


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


----------



## trashjunkid

Allanon said:


> The following should allow you to play the DVD.
> 
> 
> Code:
> 
> 
> [DVD]
> url=dvdsimple://e:
> needs_vlc=True
> 
> You might try this for subtitles but since there is a space it might not work.
> 
> 
> Code:
> 
> 
> [DVD]
> url=dvdsimple://e: :sub-track=0
> needs_vlc=True


I actually tried both of those at first and it rejected my virtual drive, so I had to use

dir=E:\

in order to get it to work at all (which it did quite nicely).
The 
:sub-track=0
does not work in either instance for me.

-trashjunkid

PS- I'm on windows vista, so the datapath stuff's a bit different than on linux.


----------



## trashjunkid

I think this is the critical bit for the vlc.py file:



Code:


PARAMS = '#transcode{vcodec=%(VCODEC)s,vb=%(VBITRATE)d,' + \
         'acodec=%(ACODEC)s,ab=%(ABITRATE)d,audio-sync,samplerate=44100,' + \
         'fps=29.97}:std{access=http,dst=:%(SERVER)d,mux=ps}'

Here's what I've tried to add (it isn't working):


Code:


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}' + \
         '--sub-track=0'

I've added the ",soverlay" and the final line.
I've tried this also with :sub-track=0

This is all in attempts to get DVD image (VOB files) to play with embedded subtitles. I'd also like to get it to work with srt or other varieties of subtitle track text files.

-Trashjunkid


----------



## madneon

Currently running the lastest seems fine sofar got a question havent found it yet does this software auto update the feeds or do I manually download them and how often does it auto update time wise thanks and sorry if they have already been answered.


----------



## Allanon

madneon said:


> Currently running the lastest seems fine sofar got a question havent found it yet does this software auto update the feeds or do I manually download them and how often does it auto update time wise thanks and sorry if they have already been answered.


The feeds are read from the Internet every time the feed's menu is opened so they are current every time you see the menu. Also, the feeds and the videos within the feeds are not saved to disk, they are streamed off the Internet as you view them.


----------



## madneon

thanks for the reply....


----------



## Astrobirder

Hello,

I'm new to HME/VLC and after downloading and dumping it into a folder in my Applications area I ran into a few problems.

First, even though VLC is installed in the default location on my Mac (/Applications/VLC.app/Contents/MacOS/VLC), I still had to modify the config.ini as below to get any of the "needs_vlc" options to show up on my Tivo HD.



Code:


[hmevlc]
vlcport=9044
vbitrate=2048
abitrate=384
vlc=/Applications/VLC.app/Contents/MacOS/VLC

I'm running the latest VLC (0.9.9a). I have made very few modifications to the default config.ini (just changed the above and the paths to Videos and Movies).

When I choose a "Live Stream", such as NASA TV, I get what you see below. On the screen of the TV, I see "Loading NASA TV" and the white Cylon bar. During that time, I actually hear about 20 seconds worth of audio through my Mac Book's Speakers!, and then I get "Error Connecting to Stream" and the Tivo screen goes back to the list of Live streams.

Any ideas on what I'm doing wrong?

Thanks in advance.



Code:


Last login: Tue May 26 20:31:01 on ttys000
cd '/Applications/HME_VLC/' && '/usr/local/bin/pythonw'  '/Applications/HME_VLC/start.py'  && echo Exit status: $? && exit 1
XXX-XXX$ cd '/Applications/HME_VLC/' && '/usr/local/bin/pythonw'  '/Applications/HME_VLC/start.py'  && echo Exit status: $? && exit 1
HME Server for Python 0.17
Tue May 26 20:31:01 2009 Server Starts
Registering: hmevlc
192.168.1.60:55472 - - [26/May/2009 20:33:41] "GET /hmevlc/icon.png HTTP/1.0" 200 -
192.168.1.60:55473 - - [26/May/2009 20:33:45] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.1.60:55473 - - [26/May/2009 20:33:45] Starting HME: hmevlc
192.168.1.60:55473 - - [26/May/2009 20:33:45] Bad path: /users/pwkelly/Videos
[00000001] main libvlc debug: VLC media player - version 0.9.9a Grishenko - (c) 1996-2009 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure  '--enable-release' '--disable-debug' '--with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk'
[00000001] main libvlc debug: translation test: code is "C"
Warning: missing argument for option --sout
Try specifying options as '--optionname=value' instead of '--optionname value'
Warning: missing argument for option --sout
Try specifying options as '--optionname=value' instead of '--optionname value'
Warning: missing argument for option --sout
Try specifying options as '--optionname=value' instead of '--optionname value'
[00000385] dummy interface: using the dummy interface module...
libdvdnav: Using dvdnav version 4.1.3
libdvdread: Using libdvdcss version 1.2.10 for DVD access
libdvdread: Could not open #transcode{vcodec=mp1v,vb=2048,acodec=a52,ab=384,audio-sync,samplerate=44100,fps=29.97}:std{access=http,dst=:9044,mux=ps} with libdvdcss.
libdvdread: Can't open #transcode{vcodec=mp1v,vb=2048,acodec=a52,ab=384,audio-sync,samplerate=44100,fps=29.97}:std{access=http,dst=:9044,mux=ps} for reading
libdvdnav: vm: failed to open/read the DVD
[00000429] access_directory access error: #transcode{vcodec=mp1v,vb=2048,acodec=a52,ab=384,audio-sync,samplerate=44100,fps=29.97}:std{access=http,dst=:9044,mux=ps}: No such file or directory
[00000429] access_file access error: cannot open file #transcode{vcodec=mp1v,vb=2048,acodec=a52,ab=384,audio-sync,samplerate=44100,fps=29.97}:std{access=http,dst=:9044,mux=ps} (No such file or directory)
[00000425] main input error: open of `#transcode{vcodec=mp1v,vb=2048,acodec=a52,ab=384,audio-sync,samplerate=44100,fps=29.97}:std{access=http,dst=:9044,mux=ps}' failed: could not create access: no suitable access module
[00000436] access_mms access: selecting stream[0x1] audio (34 kb/s)
[00000436] access_mms access: selecting stream[0x2] video (275 kb/s)
[00000436] access_mms access: connection successful
[00000383] signals interface error: Caught Interrupt signal, exiting...
[00000436] access_mms access error: failed to send command


----------



## Allanon

> I'm running the latest VLC (0.9.9a)


VLC version 0.8.6 is recommended, newer versions don't work with HME/VLC Video Streamer.


----------



## Astrobirder

Thanks Allanon!

I forgot to mention that I had tried VLC 0.8.6i before, but after Allanon's suggestion I decided to App-Zapper my VLC 0.9.9a install (I didn't do that before), and reinstall 0.8.6i from scratch and that DID it. NASA TV is streaming now!

And, I need to give props to William McBrine for putting this together. I can't wait to see all the net video that I've been missing.

I've seen a few RSS and URL links in this thread. Has anyone gather a longer list of their favorites--the base config.ini is a good start, but I'd love to start exploring more!


----------



## crossbred900

I just found this program yesterday and have since been trying to get it to work. I am currently using Python 2.6.2 and vlc 0.8.6i on a machine with Windows Vista. I can run start.py go onto the tivo and run hme/vlc and see all the stuff fine, but can't actually watch anything. Only once did I get an rss feed to work, it was tekzilla, and that was before I even had the config pointed to vlc and such. At first I thought SP2 might have caused the problem, because I installed it at the same time I was doing this, but after removing it the problem is the same.

In an attempt to be as thorough as possible here is my config and messages I get:

config.ini


Code:


[hmeserver]
port=9043
datapath=
apps=hmevlc

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

[Videos]
dir=D:\video
needs_vlc=True

[Movies]
dir=D:\Video

[Archive Classic Movies]
rss=http://www.archiveclassicmovies.com/acm.rss

[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

[Stranger Things]
rss=http://feeds.feedburner.com/StrangerThings?format=xml

[DL.TV]
rss=http://feeds.ziffdavis.com/ziffdavis/dltvh264video?format=xml
needs_vlc=True

[Cranky Geeks]
rss=http://feeds.ziffdavis.com/ziffdavis/cgh264video?format=xml
needs_vlc=True

[NASA, This Week at]
rss=http://www.nasa.gov/rss/TWAN_vodcast.rss

[NASA Mission Updates]
rss=http://www.nasa.gov/rss/mission_update_vodcast.rss

[Democracy Now!]
rss=http://www.democracynow.org/podcast-video.xml
needs_vlc=True

[MSNBC: Countdown with Keith Olbermann]
rss=http://podcast.msnbc.com/audio/podcast/MSNBC-COUNTDOWN-NETCAST-M4V.xml
needs_vlc=True

[MSNBC: The Rachel Maddow Show]
rss=http://podcast.msnbc.com/audio/podcast/MSNBC-MADDOW-NETCAST-M4V.xml
needs_vlc=True

[CBS Evening News]
rss=http://feeds.cbsnews.com/podcast_eveningnews_video_1?format=xml

[Shoutcast TV]
shout_list=http://www.shoutcast.com/sbin/newtvlister.phtml
shout_tune=http://www.shoutcast.com/sbin/tunein-tvstation.pls?id=
needs_vlc=True

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

[CNN 1]
url=http://www.cnn.com/video/live/cnnlive_1.asx
needs_vlc=True

[CNN 2]
url=http://www.cnn.com/video/live/cnnlive_2.asx
needs_vlc=True

[CNN 3]
url=http://www.cnn.com/video/live/cnnlive_3.asx
needs_vlc=True

[CNN 4]
url=http://www.cnn.com/video/live/cnnlive_4.asx
needs_vlc=True

[C-SPAN]
url=http://play.rbn.com/play.asx?url=cspan/cspan/wmlive/cspan1v.asf
needs_vlc=True
icon=icons/cspan1.png

[C-SPAN 2]
url=http://play.rbn.com/play.asx?url=cspan/cspan/wmlive/cspan2v.asf
needs_vlc=True
icon=icons/cspan2.png

[C-SPAN 3]
url=http://play.rbn.com/play.asx?url=cspan/cspan/wmlive/cspan3v.asf
needs_vlc=True
icon=icons/cspan3.png

[NASA TV]
url=http://playlist.yahoo.com/makeplaylist.dll?id=1368162
needs_vlc=True
icon=icons/nasatv.png

[ResearchChannel]
url=mms://media-wm.cac.washington.edu/ResearchTV Live (LAN)
needs_vlc=True
icon=icons/research.png

#[PG24]
#url=rtsp://stream.pg24.tv/PG24-High
#needs_vlc=True

#[ReelGood TV]
#url=rtsp://www.reelgood.tv/reelgoodtv
#needs_vlc=True

When trying to stream an rss feed that doesn't need vlc it goes to the black screen that says loading and goes back and forth forever.

When the feed needs vlc (CrankyGeeks 168) I see the following:


Code:


[00000288] dummy interface: VLC media player - version 0.8.6h Janus - (c) 1996-2
008 the VideoLAN team
[00000288] 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"

[00000288] dummy interface: using the dummy interface module...
[00000295] main private: creating httpd
[00000298] mux_ps private: Open
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.

When trying to stream cspan I get:


Code:


[00000288] dummy interface: VLC media player - version 0.8.6h Janus - (c) 1996-2
008 the VideoLAN team
[00000288] 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"

[00000288] dummy interface: using the dummy interface module...
[00000295] main private: creating httpd
[00000298] mux_ps private: Open
[00000298] mux_ps private: Close
[00000308] main private: creating httpd
[00000311] mux_ps private: Open
[00000313] access_mms access: selecting stream[0x1] audio (21 kb/s)
[00000313] access_mms access: selecting stream[0x2] video (177 kb/s)
[00000313] 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.

When trying to play a Geekbrief TV podcast (in .mp4) using vlc I get:


Code:


[00000288] dummy interface: VLC media player - version 0.8.6h Janus - (c) 1996-2
008 the VideoLAN team
[00000288] 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"

[00000288] dummy interface: using the dummy interface module...
[00000295] main private: creating httpd
[00000298] mux_ps private: Open
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.
[00000298] mux_ps private: Close
[00000285] main playlist: nothing to play

Also I noticed that hme/vlc stays on my list even when not being run on my computer. Is there information that is on the Tivo that could be wrong/bad?

Hopefully I gave enough info that one of you guys can help me.


----------



## wmcbrine

crossbred900 said:


> datapath=


This line is not helpful. Either take it out, or add a path there. (Actually, looking at your share paths, I'd make it "datapath=D:\".)



> _Also I noticed that hme/vlc stays on my list even when not being run on my computer._


start.py sends out notice when it's shut down properly. Unfortunately, ^C doesn't work on Windows, and all you can do is terminate start.py without a proper shutdown. So the TiVo remembers the last announcement, and keeps HME/VLC in the list. It will expire eventually, or you can select it, and that should clear it. Anyway, it doesn't indicate a problem.



> _Hopefully I gave enough info that one of you guys can help me._


I dunno... it could be a firewall issue (i.e. you need to allow VLC to bind ports, not just Python), or your TiVo could be in a bad state where it won't stream, which you could clear by rebooting it.


----------



## trashjunkid

crossbred900 said:


> Code:
> 
> 
> [hmeserver]
> port=9043
> datapath=
> apps=hmevlc
> 
> [hmevlc]
> vlcport=9044
> vbitrate=2048
> abitrate=384
> 
> [Videos]
> dir=D:\video
> needs_vlc=True
> 
> [Movies]
> dir=D:\Video
> [/QUOTE]
> 
> I don't know if it matters, but having videos & movies point to the same directory might not be a good idea.
> 
> In my config I have:
> datapath=C:\
> 
> and then videos is set as:
> dir=\Users\name\Videos
> 
> (so I specify the the drive letter in the datapath, and leave out the drive letter in the videos directory listing).
> 
> I am sure you tried many of the feeds, but just in case: many of the listed streams did not work for me. TED talks did, and the Archive Classic Movies did, too.
> 
> Finally, are you able to stream your own local videos (on your hard drive) to your tivo using hme/vlc?
> 
> (Ok, finally, finally: do you have both vlc 8.6h and 8.6i installed? You reference 8.6i in your comments, but your quoted material shows 8.6h).
> 
> -Trashjunkid


----------



## wmcbrine

trashjunkid said:


> I don't know if it matters, but having videos & movies point to the same directory might not be a good idea.


Nah, that's not a problem.



> _I am sure you tried many of the feeds, but just in case: many of the listed streams did not work for me._


Which ones failed?

They all had worked for me at the time I included them; however, some of them are more consistently available than others.



> _(Ok, finally, finally: do you have both vlc 8.6h and 8.6i installed? You reference 8.6i in your comments, but your quoted material shows 8.6h)._


IIRC this is a bug in VLC itself, where they didn't update the version number everywhere.


----------



## crossbred900

I did end up rebooting the tivo, and that didn't help. Then I just gave up for a day and fiddled with pytivo, came back this morning and all the rss feeds and video streams work fine. I don't know if they share some files somewhere, like ffmpeg, or if it was just coincidence. Either way it works and I'm happy. 

On a side note, is it possible for vlc to pad the videos like ffmpeg and pytivo? Or is that beyond its capabilities while streaming?

Thanks


----------



## dwgsp

I have intermittent success getting the network streams to work. But the funny thing is that I try several that fail, then one works, then the ones that previously failed appear to be more likely to work.

Example, during the recent Hubble repair mission I made several attempts to get NASA TV to work. Each time it failed (these attempts were back to back, with little time delay between attempts). Then I tried one that usually works (ResearchChannel), and it worked fine. After that, my next attempt to use NASA TV worked.

I have seen this happen enough times that I now always try Research Network before trying anything else, and my success rate is now much better than before.


----------



## dwgsp

Has anyone tried VLC 1.0, which was release this week, with HME/VLC?

http://www.videolan.org/vlc/

/Don


----------



## Allanon

dwgsp said:


> Has anyone tried VLC 1.0, which was release this week, with HME/VLC?
> 
> http://www.videolan.org/vlc/
> 
> /Don


Doesn't work, has same problem as versions that came after VLC 8.6.


----------



## leenuxg33k

What needs to be changed to get it to work with the newest VLC? I'm sure it was mentioned but I've forgotten and I'm wondering if there is further news.


----------



## Ckought

Anyone know how to fix this error?

C:\Program Files\HME-VLC>start.py
File "C:\Program Files\HME-VLC\start.py", line 224
except socket.error, msg:
^
SyntaxError: invalid syntax

I'm running XP and just installed VLC 0.8.6.i & python 3.1


----------



## Allanon

Ckought said:


> Anyone know how to fix this error?
> 
> C:\Program Files\HME-VLC>start.py
> File "C:\Program Files\HME-VLC\start.py", line 224
> except socket.error, msg:
> ^
> SyntaxError: invalid syntax
> 
> I'm running XP and just installed VLC 0.8.6.i & python 3.1


I would suggest using Python 2.5 as recommended because version 3.0 and above changed a lot of stuff that caused older Python programs to not be compatible.


----------



## Ckought

I uninstalled python 3.1 and installed 2.5 -- it works now.

Thanks.


----------



## wmcbrine

I'd actually suggest 2.6 over 2.5, but yeah -- 3.x won't work.


----------



## MirclMax

Okay, I think I'm doing something silly.. but I'll toss it out here for you folks to offer some assistance. Just did a reinstall of my ubuntu box and I'm setting things back up again. I *did* have this working before.. but I'm using an updated version of the software now.

I can run ./start.py and everything shows up exactly as it should. 
I can even run ./start.py & and have access to the terminal window.. just like I would expect. But if I close that window, HME/VLC ceases to function. 

Using the "&" *should* throw it into the background... right? I even run pyTivo that way. What I wanted to do was put "/path/start.py &" in the "Startup Applications" and have it auto-run.

Can someone explain why using the & isn't working in this case?

-MirclMax


----------



## wmcbrine

You have to redirect the output, too, or it will hang until it's foregrounded. Something like: ./start.py >/dev/null 2>&1 &


----------



## MirclMax

Well that makes perfect sense.. and does seem to work. Odd that I didn't seem to have to do that before.. But thanks!


----------



## ionman1964

Hi I am getting this when I try to access iso with hme/vlc and the iso mounted with deamon tools. Can anyone shed any light on this?

@wmcbrine: kudos on a very useful program, really appreciate it.

[00000555] dummy interface: using the dummy interface module...
[00000562] main private: creating httpd
[00000565] mux_ps private: Open
libdvdread: Using libdvdcss version 1.2.9 for DVD access
libdvdread: Could not open dir=h:\ with libdvdcss.
libdvdread: Could not open dir=h:\ for reading
[00000566] dvdread demuxer error: DVDRead cannot open source: dir=h:\
[00000556] main input error: no suitable access module for 'dvdsimple:dir=h:\'
[00000565] mux_ps private: Close
[00000552] main playlist: nothing to play


----------



## Ckought

Do the CNN live feeds not work, or just not work for me?

I can't get the feeds to work on the TiVo or on the computer (using WMP & VLC).


----------



## spolebitski

Does this work with Hulu?


----------



## Allanon

ionman1964 said:


> Hi I am getting this when I try to access iso with hme/vlc and the iso mounted with deamon tools. Can anyone shed any light on this?
> 
> @wmcbrine: kudos on a very useful program, really appreciate it.
> 
> [00000555] dummy interface: using the dummy interface module...
> [00000562] main private: creating httpd
> [00000565] mux_ps private: Open
> libdvdread: Using libdvdcss version 1.2.9 for DVD access
> libdvdread: Could not open dir=h:\ with libdvdcss.
> libdvdread: Could not open dir=h:\ for reading
> [00000566] dvdread demuxer error: DVDRead cannot open source: dir=h:\
> [00000556] main input error: no suitable access module for 'dvdsimple:dir=h:\'
> [00000565] mux_ps private: Close
> [00000552] main playlist: nothing to play


Can you play the iso with VLC?

Also, what does your entrie in the config.ini file look like? It shoud look something like this if you want to use the h:\ drive:



Code:


[DVD]
url=dvdsimple://h:


----------



## Allanon

Ckought said:


> Do the CNN live feeds not work, or just not work for me?
> 
> I can't get the feeds to work on the TiVo or on the computer (using WMP & VLC).


Those CNN streams are dead, CNN now uses a Flash player for their live feeds and VLC can't access them so they wont work with HME/VLC Video Streamer.


----------



## Allanon

spolebitski said:


> Does this work with Hulu?


At this time there isn't a program with a nice interface that allows you to browse Hulu and play their videos. But there is a hack which allows you to stream the computer's desktop to the Tivo thus allowing you to play Hulu videos on the Tivo but it isn't an ideal situation. Checkout my reply to this post:

http://www.tivocommunity.com/tivo-vb/showthread.php?t=429831


----------



## wmcbrine

ionman1964 said:


> libdvdread: Could not open dir=h:\ with libdvdcss.


Try it without the "\"?


----------



## ionman1964

Alright everybody thank-you wmcbrine and Allanon for responding both of your suggestions did not work but they led me in the right direction or basically got me into another round of tinkering. Hehe. The other thing was another post way back when that said to use movie.iso as format. So here is the deal if anyone is interested:
[DVD]
url=dvdsimple:h:\movie.iso
needs_vlc=True
where h: is a virtual drive mounted with Deamon Tools. Of course you do have to take that step of mounting it in the first place but that is a small price to pay. Thanks again for a great program and all of the forum posts about it.


----------



## ionman1964

Also one other thing: I am going to watch Bourne Ultimatum all the way through. I heard that it will die about half way through I'll post result.


----------



## ionman1964

Ok as I expected it died about halfway through Bourne Ultimatum. Sigh. I know there was a post before about this. It died about 1 hour and 5 minutes into the movie. Unfortuately that is right before that great fight scene. LOL. I'll keep searching for when this subject was addressed but if someone want to tell me the post number I will be eternally greatful. thanx again.


----------



## moyekj

ionman1964 said:


> Ok as I expected it died about halfway through Bourne Ultimatum. Sigh. I know there was a post before about this. It died about 1 hour and 5 minutes into the movie. Unfortuately that is right before that great fight scene. LOL. I'll keep searching for when this subject was addressed but if someone want to tell me the post number I will be eternally greatful. thanx again.


 There's a ~1.1GB buffer limit for streaming to Tivos via HME so anything over that cannot be streamed without interruption. streambaby works around the issue by restarting the stream once the buffer limit is reached, but you can't use iso files with streambaby - you need to play mpeg or vob files directly.


----------



## ionman1964

@moyekj Thanx for the information I knew it was addressed before I just could not find it. And yes I am using the Streambaby program you worked on as well.
Works great! Kudos to you for Streambaby and everyone else that works on it. Hell you can put me down as a beta tester. I only have one system but nothing that has been put out there so far with regard to HME/VLC or Streambaby has broken my system. So thanks again.


----------



## PaJo

I have hme-vlc running and like it but for movies stream baby seems to work better. hme-vlc some times produced choppy video on the system I have it running on at this time.

Pytivo and vobcopy is my favorite for movies.

vobcopy -l for one large file 
it will copy from a dvd or 
vobcopy -l -i /direct/path to video and 
it will make one large .vob file that plays well on the hdtivo. 
You can also name it with -t

vobcoy -l -i /fulldisk/movie -t mymovie

will produce one large file mymovie1.vob , which tivo has no 
problems playing.

vobcopy is pretty fast, and once copied pytivo will send it to your tivo. There is no transcoding so it plays like a normal tivo recording.

on edit: http://vobcopy.org/projects/c/c.shtml


----------



## grantsa4

Anyone know how to use Veetle (similar to SopCast) using HME-VLC?
Anyone know the settings to use in the config.ini file?


----------



## NeroGuy

Do I have to set somthing else??

HME Server for Python 0.17
Tue Aug 11 15:47:57 2009 Server Starts
Registering: hmevlc
192.168.2.54:38041 - - [11/Aug/2009 15:48:17] "GET /hmevlc/icon.png HTTP/1.0" 20
0 -
192.168.2.54:38042 - - [11/Aug/2009 15:48:24] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.2.54:38042 - - [11/Aug/2009 15:48:24] Starting HME: hmevlc
192.168.2.54:38042 - - [11/Aug/2009 15:48:24] Bad path: /home/wmcbrine/Videos
192.168.2.54:38045 - - [11/Aug/2009 15:48:56] code 403, message Forbidden
192.168.2.54:38045 - - [11/Aug/2009 15:48:56] "GET /V%3A%5C30_Rock%5CSeason_1%5C
Disc_1%5C01-Pilot.mp4 HTTP/1.1" 403 -
192.168.2.4:1096 - - [11/Aug/2009 15:48:58] code 403, message Forbidden
192.168.2.4:1096 - - [11/Aug/2009 15:48:58] "GET /V%3A%5C30_Rock%5CSeason_1%5CDi
sc_1%5C01-Pilot.mp4 HTTP/1.1" 403 -
192.168.2.4:1097 - - [11/Aug/2009 15:48:58] code 403, message Forbidden
192.168.2.4:1097 - - [11/Aug/2009 15:48:58] "GET /V%3A%5C30_Rock%5CSeason_1%5CDi
sc_1%5C01-Pilot.mp4 HTTP/1.0" 403 -
192.168.2.4:1098 - - [11/Aug/2009 15:48:58] code 403, message Forbidden
192.168.2.4:1098 - - [11/Aug/2009 15:48:58] "GET /V%3A%5C30_Rock%5CSeason_1%5CDi
sc_1%5C01-Pilot.mp4 HTTP/1.0" 403 -
----------------------------------------
Exception happened during processing of request from ('192.168.2.4', 1098)
Traceback (most recent call last):
File "C:\Python26\lib\SocketServer.py", line 558, in process_request_thread
self.finish_request(request, client_address)
File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python26\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
method()
File "C:\Data\Tivo\Hme-vlc-3.5\start.py", line 232, in do_GET
self._page(True)
File "C:\Data\Tivo\Hme-vlc-3.5\start.py", line 197, in _page
self.send_error(403)
File "C:\Python26\lib\BaseHTTPServer.py", line 357, in send_error
self.send_response(code, message)
File "C:\Python26\lib\BaseHTTPServer.py", line 385, in send_response
self.send_header('Date', self.date_time_string())
File "C:\Python26\lib\BaseHTTPServer.py", line 390, in send_header
self.wfile.write("%s: %s\r\n" % (keyword, value))
File "C:\Python26\lib\socket.py", line 297, in write
self.flush()
File "C:\Python26\lib\socket.py", line 284, in flush
self._sock.sendall(buffer)
error: [Errno 10054] An existing connection was forcibly closed by the remote ho
st
----------------------------------------
192.168.2.4:1099 - - [11/Aug/2009 15:48:58] code 403, message Forbidden
192.168.2.4:1099 - - [11/Aug/2009 15:48:58] "GET /V:\30_Rock\Season_1\Disc_1\01-
Pilot.mp4 HTTP/1.1" 403 -
192.168.2.4:1100 - - [11/Aug/2009 15:48:58] code 403, message Forbidden
192.168.2.4:1100 - - [11/Aug/2009 15:48:58] "GET /V:\30_Rock\Season_1\Disc_1\01-
Pilot.mp4 HTTP/1.0" 403 -
----------------------------------------
Exception happened during processing of request from ('192.168.2.4', 1100)
Traceback (most recent call last):
File "C:\Python26\lib\SocketServer.py", line 558, in process_request_thread
self.finish_request(request, client_address)
File "C:\Python26\lib\SocketServer.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python26\lib\SocketServer.py", line 615, in __init__
self.handle()
File "C:\Python26\lib\BaseHTTPServer.py", line 329, in handle
self.handle_one_request()
File "C:\Python26\lib\BaseHTTPServer.py", line 323, in handle_one_request
method()
File "C:\Data\Tivo\Hme-vlc-3.5\start.py", line 232, in do_GET
self._page(True)
File "C:\Data\Tivo\Hme-vlc-3.5\start.py", line 197, in _page
self.send_error(403)
File "C:\Python26\lib\BaseHTTPServer.py", line 362, in send_error
self.wfile.write(content)
File "C:\Python26\lib\socket.py", line 297, in write
self.flush()
File "C:\Python26\lib\socket.py", line 284, in flush
self._sock.sendall(buffer)
error: [Errno 10054] An existing connection was forcibly closed by the remote ho
st
----------------------------------------
192.168.2.4:1101 - - [11/Aug/2009 15:48:58] code 403, message Forbidden
192.168.2.4:1101 - - [11/Aug/2009 15:48:58] "GET /V:\30_Rock\Season_1\Disc_1\01-
Pilot.mp4 HTTP/1.0" 403 -


----------



## NeroGuy

Got it to play by editing the ini file to:
[Videos]
;dir=/home/wmcbrine/Videos
dir=V:/
needs_vlc=True

But sound is not playing correct.

[00000298] dummy interface: VLC media player - version 0.8.6d Janus - (c) 1996-2
007 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
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.


----------



## NeroGuy

Also note that all of my mp4 files play with no problem with Windows VLC player, sound is out of computer to stereo.


----------



## Allanon

NeroGuy, do videos from the RSS feeds play with sound?


----------



## NeroGuy

Allanon said:


> NeroGuy, do videos from the RSS feeds play with sound?


Yes, RSS feeds play ok.


----------



## Allanon

Don't know if it would help but you might try different combinations of audio and video codecs in the hmevlc/vlc.py file. These codecs are what the video and audio get converted to by VLC before being sent to the Tivo.

Try changing the video codec from:


Code:


VCODEC = 'mp1v'

To one of the following:


Code:


VCODEC = 'mp2v'

or

VCODEC = 'mp4v'

or

VCODEC = 'h264'

And you might try changing the audio codec from:


Code:


ACODEC = 'a52'

To one of the following:


Code:


ACODEC = 'mpga'

or

ACODEC = 'mp2a'

or

ACODEC = 'mp3'

or

ACODEC = 'mp4a'


----------



## wmcbrine

I don't think the TiVo will accept MP3 audio on a video track. But I suppose "mpga" might be worth trying. (Not to mention, "sound is not playing correct" is a pretty vague complaint. What exactly does that mean?)

Changing the video codec is more likely to hurt than to help.


----------



## Allanon

In the Streambaby thread he posted:


> I tried using HME/VLC, the vidoes all play but the sound is chopped up and can't make out the voices.


I assume it's the same audio problem some of the Shoutcast TV streams experience.


----------



## NeroGuy

Is it possible to post the Nero mp4 somewhere for you guys to test..
The file size is 96,421 kb


----------



## madneon

I have noticed that if you have too many rss links up on the pc hosting HME and you bounce from rss feed to rss feed your TiVo will reboot has anyone else had this problem ?


----------



## Ronio

First, let me says thanks. The HME/VLC loaded up on my first try 

I'm receiving the following errors when selecting any of the CNN links.
[00000462] mux_ps mux: Open
[00000464] main access error: cannot resolve cnn-cnnlive-2-primary.wm.llnwd.net port 80 : Name or service not known
[00000464] access_http access error: cannot connect to cnn-cnnlive-2-primary.wm.llnwd.net:80
[00000464] main access error: cannot resolve cnn-cnnlive-2-primary.wm.llnwd.net port 80 : Name or service not known
[00000464] access_mms access error: cannot connect to cnn-cnnlive-2-primary.wm.llnwd.net:80
[00000454] main input error: open of `http://cnn-cnnlive-2-primary.wm.llnwd.net/cnn_cnnlive_2_primary' failed: could not create access

I receive the following when I select NasaTV
[00000462] mux_ps mux: Open
[00000464] access_mms access: selecting stream[0x1] audio (32 kb/s)
[00000464] access_mms access: selecting stream[0x2] video (267 kb/s)
[00000464] access_mms access: connection successful
[00000506] avcodec encoder error: cannot open encoder
[00000456] stream_out_transcode stream out error: cannot find video encoder (module:any fourcc:mp1v)
[00000456] stream_out_transcode stream out error: cannot create video chain
[00000504] main packetizer error: cannot create packetizer output (WMV3)

Thanks in Advance for any pointers.

My Setup
Ubuntu 9.04
Python 2.6.2
VLC 0.9.9a


----------



## wmcbrine

CNN is dead, apparently. Those links will be removed from the default config.ini with the next release.

As noted above, you have to use VLC 0.8.6i or earlier; they broke MPEG encoding in newer versions. And yes, I know VLC 0.8.6i is not available in Ubuntu 9.04.


----------



## ThomD

Just wanted to say thank you for all the work. I'm able to use HME & VLC to turn an RTSP feed from a video camera into an HTTP stream that Tivo can display.


----------



## wmcbrine

Can any Australians or New Zealanders report on what happens with 11.3?


----------



## philhu

This got me intrigued, so I installed it. Pretty cool! 

Anyone update the config.ini for newer content? Quite a few of the items on the list come back with 0 second items, which I assumed means the stream is missing (My assumption). 

A good example is most of the old movies, etc. They must be dead links, cause they act just like the cnn links do. It sows a link of 0 seconds and nothing after that. 

Anyone update the list? Or have any cool ones to add?


----------



## DanielJackson

Hi,

Cool application! So of course I would like to extend things just a bit.

I have auxilary speakers connected to my surround unit located in the kitchen. I'm trying to find a way to wirelessly stream audio from my laptop to the Tivo for playback on the auxilary speakers.

Using VLC I can stream capture the sound card and stream the data to an mp3 file. Tivo Desktop can of course stream MP3 files to the AVR. So... the question is "how to stream the sound card to the AVR"? This way I can listen to podcasts, etc using the AVR when working in the kitchen area. Does HME/VLC support an MP3 stream? What port should the stream be directed to if possible? 

Thanks!


----------



## wmcbrine

What's an AVR?

You could try just specifying the source using the "url=" option in config.ini. Port number wouldn't enter into it; neither would MP3. The source would just be the URL you'd give to VLC. I don't know what that is in your case, but for example:

[TV Capture Card]
url=dshow://
needs_vlc=True

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

Alternatively, you could provide a playlist with a URL (http only) to TiVo Desktop. In this case, you'd also have to arrange for the sound card to stream to MP3, perhaps via VLC. But HME/VLC wouldn't be involved.


----------



## pdd2

wmcbrine said:


> Can any Australians or New Zealanders report on what happens with 11.3?


It fails and returns 'Error Readin Stream' on the Tivo screen.

The command prompt window reads the following when trying to stream NASA TV


Code:


[00000298] dummy interface: VLC media player - version 0.8.6h Janus -
008 the VideoLAN team
[00000298] dummy interface:
Warning: if you can't access the GUI anymore, open a command-line wind
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
[00000319] mux_ps private: Close
[00000370] main private: creating httpd
[00000373] mux_ps private: Open
[00000375] access_mms access: selecting stream[0x1] audio (32 kb/s)
[00000375] access_mms access: selecting stream[0x2] video (267 kb/s)
[00000375] access_mms access: connection successful

This was working prior to the release of Tivo software 11.3 which also happened to break streambaby.

A fix would be great as I prefer to watch Nasa TV through the Tivo.

If you need any more information please let me know


----------



## wmcbrine

Thanks, I just wanted to confirm that it had the same problem as Streambaby (yes), and see if I could get any more insight about it (no). I don't think there's anything I can do to fix it, sorry.


----------



## pdd2

wmcbrine said:


> Thanks, I just wanted to confirm that it had the same problem as Streambaby (yes), and see if I could get any more insight about it (no). I don't think there's anything I can do to fix it, sorry.


I do have a modded Tivo so have access to all the logs if you want me to get into the guts of it?

Also if it helps PyTivo still works?

tvlog contains this which is probably of no use too


Code:


TiVoHD/var/log $ tail -4000 tvlog | grep HME                                                                                                        
Nov 20 19:55:15 (none) TvPvrPromoHelper[18667]: IsValidNoRetry:1159: HME url was found in KHS table
Nov 20 19:55:23 (none) HME[392]: TvHmeHostActivity::EnterScreen() 
Nov 20 19:55:23 (none) HME[392]: Creating url to application: ht_tp://192.168.0.210:9043/hmevlc/
Nov 20 19:55:23 (none) HME[392]: HmeReceiver restarted
Nov 20 19:55:23 (none) HME[392]: Version match: receiver 0.47, application 0.44 
Nov 20 19:59:16 (none) HME[392]: TvHmeStreamResource Close w/ error (0xffff)

Ignore the ht_tp://192.168.0.210:9043/hmevlc/ part I am just blocked from adding links due to limited posts to these forums

The kernel throws this


Code:


TiVoHD/var/log $ tail -10 kernel                                                                                                                    
Nov 20 20:09:18 (none) kernel: assert: TmkLogDebugAssertionFailure: this->Count() == 0 
Nov 20 20:09:18 (none) kernel: assert: TmkListenersGeneric::~TmkListenersGeneric(), line 68 (TmkListeners.C) 
Nov 20 20:09:18 (none) kernel: assert: Someone forgot to unlisten. 
Nov 20 20:09:18 (none) kernel: assert: Backtrace: 0x04a8aa00 0x04a367d4 0x0054a9e0 0x04a29218 0x00cfad18 0x04a29218 0x00450a60 0x00448f40 0x00d0f780 0x00448678 0x00ceeb64 0x04a2d96c 0x04a2d59c 0x04a2ce00 0x04a2bd74 0x04a2e59c


----------



## jkates

I was able to find the hme-vlc-2.6 (hacked by BelSmith) version in the thread, but since I normally just read I can't find the current wmcbrine version nor a link to it in SVN or GIT.

With wmcbrine I see this at the bottom of his posts, and thus I can't see where he is linking to etc.

"
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
"

Thanks -Jason​


----------



## wmcbrine

The current version is in the first message of this thread. I haven't updated it in a while, partly due to a lack of progress on the VLC front.


----------



## snash22

philhu said:


> Anyone update the list? Or have any cool ones to add?


I'd like to find a good way to search using google hacks for streams that would be available.

I'm pretty new to this tool and google hacking but maybe i'll find something worthwhile.


----------



## jkates

wmcbrine said:


> The current version is in the first message of this thread. I haven't updated it in a while, partly due to a lack of progress on the VLC front.


Thanks for the help, I appreciate the pointer, as I don't know how I missed it.

I would also thank you for your great Tivo software!

Thanks Again -Jason​


----------



## cburbs

I have two questions:
1) How would I share out say F:\Movies? This then has subfolders in it like Action, Drama, Animation.

2) I have a wireless bridge setup and this doesn't seem to allow HME/VLC to show up under "Music, Photos, & Showcases". It will work fine if I wire it in directly to my switch upstairs but I am trying to use the wireless bridge I have downstairs. This is a Linksys running DDWRT on it. Netflix runs on it fine.


----------



## wmcbrine

1.


Code:


[Movies]
dir=F:\Movies

2. WiFi seems to be a problem for the TiVo's Zeroconf system. It usually works, but sometimes items go mysteriously disappearing. I dunno why. I don't think there's anything I can do about it, sorry.


----------



## cburbs

wmcbrine said:


> 1.
> 
> 
> Code:
> 
> 
> [Movies]
> dir=F:\Movies
> 
> 2. WiFi seems to be a problem for the TiVo's Zeroconf system. It usually works, but sometimes items go mysteriously disappearing. I dunno why. I don't think there's anything I can do about it, sorry.


Directory works now I will have to see if I can do something with the wireless bridge stuff.


----------



## Andrewp75

Can I play a file on my laptop in VLC and it will show up once I open the HME on the Tivo?


----------



## Andrewp75

Also, what arer the advantages of this program over Pytivo?


----------



## cbomba

I downloaded v3.5 and unzipped it. I changed the config.ini file to include my share. When I go to run the start.py file I get the following.



Code:


[email protected]:/usr/local/lib/HME-VLC> ./start.py
HME Server for Python 0.17
Sun Jan 24 11:39:51 2010 Server Starts
Traceback (most recent call last):
  File "./start.py", line 368, in <module>
    bd = Broadcast((host, port), apptitles)
  File "./start.py", line 240, in __init__
    self.rz = Zeroconf.Zeroconf()
  File "/usr/local/lib/HME-VLC/Zeroconf.py", line 1241, in __init__
    self.intf = socket.gethostbyname(socket.gethostname())
socket.gaierror: (-2, 'Name or service not known')
[email protected]:/usr/local/lib/HME-VLC>


----------



## wmcbrine

Weird. I googled "socket.gaierror" and found some possible explanations and fixes:

http://coding.derkeiler.com/Archive/Python/comp.lang.python/2007-08/msg03198.html
http://xmailforum.homelinux.net/index.php?showtopic=2342
http://moinmo.in/MoinMoinBugs/Socket.Gaierror

I've recently seen a patch for Zeroconf.py that claims to make it IPv6-compatible, so we could try that if that's your issue.


----------



## cbomba

I fixed it. I went into /etc/HOSTNAME and changed my hostname. I then restarted my computer. Then I did:



Code:


sudo hostname -F /etc/HOSTNAME

That allowed me to start up HME-VLC.

Thanks for the help.


----------



## dant98

Andrewp75 said:


> Also, what arer the advantages of this program over Pytivo?


Streaming. PyTiVo downloads the content to the TiVo hard drive. This means you have to have the file on your system, then pull it to TiVo to watch. Also, I don't think PyTiVo supports DVDs (well, I think you can pull individual VOD files, but PyTiVo doesn't know how to send it as a single file). Likewise, you'd have to rip a bluray disk before playing it.

Using the HME/VLC streamer, you can stream files to TiVo rather than saving them. Also, you can attach to other live video streams (RSS feeds, news broadcasts, etc.)


----------



## cburbs

Can this run as a service in windows?


----------



## cburbs

Ok I was back to trying this and I get the following -

Loading - error reading stream.

My file is a DVD rip - VOB files merged and then changed to MPG. Is this not supported?

HME Server for Python 0.17
Tue Feb 09 10:29:58 2010 Server Starts
Registering: hmevlc
192.168.X.X:33947 - - [09/Feb/2010 10:30:02] "GET /hmevlc/icon.png HTTP/1.0"
200 -
192.168.X.X:33990 - - [09/Feb/2010 10:30:33] "GET /hmevlc/icon.png HTTP/1.0"
200 -
192.168.X.X:33991 - - [09/Feb/2010 10:30:39] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.X.X:33991 - - [09/Feb/2010 10:30:39] Starting HME: hmevlc
192.168.X.X:33992 - - [09/Feb/2010 10:30:51] code 404, message Not Found
192.168.X.X:33992 - - [09/Feb/2010 10:30:51] "GET /%5C%5Cmsi-pc%5CD%5Cmovies
%5CAction%5CBAD%20BOYS%5CBadBoys.mpg HTTP/1.1" 404 -
192.168.X.X33993 - - [09/Feb/2010 10:31:01] code 404, message Not Found
192.168.X.X:33993 - - [09/Feb/2010 10:31:01] "GET /%5C%5Cmsi-pc%5CD%5Cmovies
%5CAction%5CBAD%20BOYS%202%5CBad%20Boys%20II.mpg HTTP/1.1" 404 -


----------



## wmcbrine

cburbs said:


> Can this run as a service in windows?


I don't see why not, but I can't advise you on that.



> _My file is a DVD rip - VOB files merged and then changed to MPG. Is this not supported?_


Sure, it's supported. That's not the problem here.



> _192.168.X.X:33992 - - [09/Feb/2010 10:30:51] "GET /%5C%5Cmsi-pc%5CD%5Cmovies
> %5CAction%5CBAD%20BOYS%5CBadBoys.mpg HTTP/1.1" 404 -_


Based on this, it looks like your share is on a network path. If that's the case, I'd suggest mounting that as a drive, and using that as the path in config.ini instead. But really, it makes more sense to run HME/VLC on the machine where the video files are, so you're not sending them over the network twice each time.


----------



## cburbs

I get the same message with a movie on a local drive from the PC running HME. Oh yeah I am also trying to run this on win7 64 bit.

[Movies]
dir=f:\movies


----------



## wmcbrine

Oh, I forgot... you have to set the datapath in config.ini, if you want to use a different drive than C: (and you can only use one drive at a time), _unless_ you set the share to needs_vlc=True, which forces everything to be reencoded. I believe this was discussed earlier in the thread, though admittedly it's not in the README.txt -- except in the version history, which you should read even if this is the first version you've used, because I tend to put stuff there as I go along, and not integrate it into the main body of the documentation as I should. Sorry.


----------



## cburbs

Oh yeah I forgot about that as well. 

I went to test something and my 4 year old was in the room so I selected a kids movie and it played for like 30 minutes and then stopped. Not sure what happened so I will have to look at it again tomorrow.


----------



## cburbs

It did it again today. It is like it buffered to 25 minutes and then once the movie gets to that point nothing...it just stops at that frame.


----------



## Allanon

cburbs said:


> It did it again today. It is like it buffered to 25 minutes and then once the movie gets to that point nothing...it just stops at that frame.


Is the movie larger than 1.1 GB? That is the limit of the streaming video buffer.


----------



## cburbs

Yes so does this work like streambaby where it needs to rebuffer and then it will continue playing?


----------



## Allanon

It doesn't have built in rebuffering like Streambaby, it just stops and there is no easy way to restart from the stopped position.


----------



## cburbs

Where is there mention of size limitation....I must have missed that part until you mentioned it in the previous post.


----------



## Allanon

cburbs said:


> Where is there mention of size limitation....I must have missed that part until you mentioned it in the previous post.


Tivo set the size limitation, all these streaming programs such as HME/VLC Video Streamer and Streambaby were reverse engineered from the YouTube streaming feature and that feature only allows a max of 1.1GB to be streamed. Streambaby gets around the limitation by replaying the stream from the spot it stopped, HME/VLC Video Streamer doesn't have that feature.


----------



## cburbs

So is this used more for watching say TV shows?


----------



## Allanon

cburbs said:


> So is this used more for watching say TV shows?


HME/VLC Video Streamer started as a live stream viewer so once the 1.1GB limit was reached you could just restart the stream and continue watching. Then RSS feeds were added and most of those videos are internet friendly and are less than 1.1GB. Watching videos from the hard drive and DVDs was probably just an after thought and easy to implement. I would recommend using Streambaby if you are going to stream videos from the hard drive.


----------



## BrennanU

I was playing around with HME/VLC and was wondering if there is any way to use this to stream your computers video out. (ie your desktop) I stumbled on the screen:// protocol/ command. Is there any way to get this working. When I tried it, it spit out an error. 

Brennan


----------



## Allanon

BrennanU said:


> I was playing around with HME/VLC and was wondering if there is any way to use this to stream your computers video out. (ie your desktop) I stumbled on the screen:// protocol/ command. Is there any way to get this working. When I tried it, it spit out an error.
> 
> Brennan


I tried getting screen:// to work but was unable but I was able to use a screen capture program and have HME/VLC stream it to the TiVo. I explain it in this thread: http://www.tivocommunity.com/tivo-vb/showthread.php?t=429831

Also, I've recently found success using a WinTV video capture card to stream the desktop to the TiVo. I hook the S-Video from my computer's graphics card to the WinTV capture card then use the dshow:// command with HME/VLC to stream the video to the TiVo.


----------



## papafreebird

Allanon said:


> 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 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.
> 
> Here is an example of a RSS feed created using the TiVo channel url:
> 
> 
> Code:
> 
> 
> http://www.rsshandler.com/flvrss.rss?feedurl=http&#37;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:
> 
> 
> Code:
> 
> 
> [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.
> 
> 
> 
> Code:
> 
> 
> [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:
> 
> 
> Code:
> 
> 
> [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 to combine the RSS feeds so I can get more than 25 videos per playlist.


Did this quit working? Whenever I try to watch a youtube channel with this I get error reading stream. Other rss streams like tekzilla work fine.

edit-
I even copy/pasted those star trek rss just so I could make sure that I didn't mess something up. Still didn't work.


----------



## Allanon

papafreebird said:


> Did this quit working? Whenever I try to watch a youtube channel with this I get error reading stream. Other rss streams like tekzilla work fine.
> 
> edit-
> I even copy/pasted those star trek rss just so I could make sure that I didn't mess something up. Still didn't work.


I believe YouTube now blocks most of the TV Shows from being downloaded. Also I haven't used rsshandler.com for a while so their format might have changed.


----------



## papafreebird

Hmm. Okay. Too bad because the built in youtube service in music and showcases is slow and clunky and just doesn't work to well. 

Not a huge issue though. Thanks for taking the time to answer.


----------



## orangeboy

Just installed this app, and I have come across a non-fatal error that pops up from time to time:



Code:


Traceback (most recent call last):
  File "D:\Program Files\HME VLC\Zeroconf.py", line 862, in run
    self.readers[socket].handle_read()
  File "D:\Program Files\HME VLC\Zeroconf.py", line 907, in handle_read
    msg = DNSIncoming(data)
  File "D:\Program Files\HME VLC\Zeroconf.py", line 470, in __init__
    self.readOthers()
  File "D:\Program Files\HME VLC\Zeroconf.py", line 534, in readOthers
    domain = self.readName()
  File "D:\Program Files\HME VLC\Zeroconf.py", line 592, in readName
    result = ''.join((result, self.readUTF(off, len) + '.'))
  File "D:\Program Files\HME VLC\Zeroconf.py", line 575, in readUTF
    result = self.data[offset:offset+len].decode('utf-8')
  File "C:\Python26\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data

I'm ignoring it.

Windows XP SP3
Python 2.6
VLC 1.0.5
HME/VLC 3.5


----------



## wmcbrine

Yeah, that's fixed in newer versions of Zeroconf.py, but I haven't updated HME/VLC since then. You can pull a copy of Zeroconf.py from pyTivo or HME for Python if you like.


----------



## orangeboy

wmcbrine said:


> Yeah, that's fixed in newer versions of Zeroconf.py, but I haven't updated HME/VLC since then. You can pull a copy of Zeroconf.py from pyTivo or HME for Python if you like.


Done. Thanks!


----------



## MiltonDorkenhoff

I just installed the v3.5 of HME/VLC. Some things work, some don't. RSS shows such as Archived television works fine. But for shows that require VLC, I only get audio, no video - NASA TV, CNN, C-SPAN, etc all have this issue. When I select one of these for viewing, I see this in the command prompt window that pops up (the one VLC is running in):

[0x309d33c] dummy interface: VLC media player - version 1.0.3 Goldeneye - (c) 19
96-2009 the VideoLAN team
[0x309d33c] 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"

[0x309d33c] dummy interface: using the dummy interface module...
[0x310dfec] main access out: creating httpd
[0x3111e4c] mux_ps mux: Open
[0x3111e4c] mux_ps mux: Close
[0x310df1c] main access out: creating httpd
[0x3111e4c] mux_ps mux: Open
[0x310ee4c] access_mms access: selecting stream[0x1] audio (34 kb/s)
[0x310ee4c] access_mms access: selecting stream[0x2] video (274 kb/s)
[0x310ee4c] access_mms access: connection successful
low delay forcing is only available for mpeg2
[0x314c46c] avcodec encoder error: cannot open encoder
[0x314c46c] main encoder error: Streaming / Transcoding failed
[0x314c46c] main encoder error: VLC could not open the encoder.
[0x3076d5c] stream_out_transcode stream out error: cannot find video encoder (mo
dule:any fourcc:mp1v)
[0x3076d5c] stream_out_transcode stream out error: cannot create video chain
[0x30db7bc] main packetizer error: cannot create packetizer output (WMV3)

Any thoughts as to what might be going on? My computer is running Windows 7, 64-bit. VLC is version 1.0.3 and works fine - I can play MPEG2 videos that are stored locally, and, in fact, if I plug in the NASATV URL, VLC can play that (through a RDP session no less!)

Edit: I upgraded to 1.0.5, nothing.. Then I searched and found some wmcbrine posts on the videolan forum from 2008 with this problem. Is there a solution other than "install 0.86"??

Thanks


----------



## wmcbrine

I'm surprised it works that well. They broke VLC pretty thoroughly (for my purposes) in 0.9, which is why I recommend 0.8.6i. (See much discussion above.)

You could try changing HME/VLC's codec from mp1v to mp2v. (That's what it's complaining about -- that it can't encode it to MPEG-1.) I wouldn't expect much, but having it work even audio-only is better than I'd seen with 0.9 or later, so maybe there's hope.


----------



## MiltonDorkenhoff

wmcbrine said:


> I'm surprised it works that well. They broke VLC pretty thoroughly (for my purposes) in 0.9, which is why I recommend 0.8.6i. (See much discussion above.)
> 
> You could try changing HME/VLC's codec from mp1v to mp2v. (That's what it's complaining about -- that it can't encode it to MPEG-1.) I wouldn't expect much, but having it work even audio-only is better than I'd seen with 0.9 or later, so maybe there's hope.


Thanks. I downloaded/unzipped 0.8.6 and then changed config.ini to use it. The only problem I ran into was figuring out what needed to change. The README talked about a "DEFAULT" section, and a "DEFAULTS" section. It wasn't until I read hmevlc\vlc.py that I realized it was the [hmevlc] section that I was supposed to be changing 

Thanks


----------



## Allanon

I downloaded the latest version of VLC and got it working. After doing some research, it turns out that later versions of VLC have a FPS bug, it doesn't like 29.97 so if you change the FPS to 30 then it will work.

I changed the FPS from 29.97 to 30 in this code located in the VLC.py file:


Code:


PARAMS = '#transcode{vcodec=&#37;(VCODEC)s,vb=%(VBITRATE)d,' + \
         'acodec=%(ACODEC)s,ab=%(ABITRATE)d,audio-sync,samplerate=44100,' + \
         'fps=30}:std{access=http,dst=:%(SERVER)d,mux=ps}'

Edit:
But it's still not perfect, it works with the CSPAN and NASA TV streams but I couldn't get Cranky Geeks to play and Shoutcast's sound doesn't play in most videos. I would like to get this working because this version just added the WebM video format. Plus this new versions allows playback of YouTube Videos just by adding the YouTube URL, This makes RSS feeds that link to YouTube urls playable also. I've tried that feature and it works.


----------



## wmcbrine

Thanks to Allanon's report above, I'm finally motivated to resume work on HME/VLC. This new version will work with either the old (0.8.6 or earlier) or latest (1.0.6 or later) versions of VLC -- probably not for those in between, and I've only tested 1.0.6 on Ubuntu 10.04. Now does MPEG-2 (MPEG-1 still won't work with 1.x) at twice the bit rate by default, and includes various minor fixes. Sadly we've lost a lot of the live feeds. Hosted at GitHub now, so you don't have to register to download it.


----------



## Allanon

Just downloaded the source from GitHub and it's missing the start.py, hme.py, and Zeroconf.py files.


----------



## wmcbrine

Not missing; they're part of HME for Python. Download from the "Downloads" link rather than "Download Source" if you want the complete package.

I guess I'll have to make a proper page for this to make it clear.


----------



## jkates

Thanks for the new version! I haven't been able to use the old version due to the VLC requirements. I setup the new version which took 2 minutes and it seems to work really well so far! 

Thanks -Jason


----------



## swissguy

> 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".


Many thanks for this program. I have used it to stream live UK TV successfully.

I managed to get the new version working, but the aspect ratios seem to be wrong.

I'm no expert but do I need to make the changes listed above manually or is it done already in the latest version? If so, how do you make the changes?

The other issue I have is the live stream pausing and sometimes stopping after a few minutes (sometimes it works longer). I need to go out of the stream and then re-enter Can vlc settings be changed to improve this ? This happened with the previous version too (using 0.86 vlc version).


----------



## wmcbrine

swissguy said:


> I have used it to stream live UK TV successfully.


URL?



> _I'm no expert but do I need to make the changes listed above manually_


No, that was the main point of the new version. 



> _The other issue I have is the live stream pausing and sometimes stopping after a few minutes (sometimes it works longer). I need to go out of the stream and then re-enter Can vlc settings be changed to improve this ?_


I don't think so. But one point: I don't think this is what you're talking about, but, don't give up on a stream too early. HME/VLC plays the "end of program" sound whenever play catches up with the buffer, but often buffering will continue, which you can see by the advancing of the second number, and the contracting of the progress bar. Stream playback pauses when you hit the end of the buffer, but you can resume it just by pressing Play again once more is buffered. (It won't resume automatically.) You probably realize this already, but anyway.


----------



## swissguy

wmcbrine said:


> URL?


I'm reluctant to post them here, as they get shut down with some regularity, but google "vlc uk tv playlist"



> No, that was the main point of the new version.


Thanks.



> I don't think so. But one point: I don't think this is what you're talking about, but, don't give up on a stream too early. HME/VLC plays the "end of program" sound whenever play catches up with the buffer, but often buffering will continue, which you can see by the advancing of the second number, and the contracting of the progress bar. Stream playback pauses when you hit the end of the buffer, but you can resume it just by pressing Play again once more is buffered. (It won't resume automatically.) You probably realize this already, but anyway.


Yes, I have noticed that, the clock on the screen normally displays 5.06/5.11 or something, if it the first no. catches up the the second then it pauses. I can restart with play sometimes a no. of times, but eventually the bar goes a pink color and I have to leave and start the stream again.

Thanks for your help.


----------



## wmcbrine

The pink color means fast forward. (Blue for rewind.) It's not an indicator of the end of the stream.

You will eventually fill up the TiVo's maximum buffer size (1.1 GB, IIRC) if you watch for a long time, and have to restart the stream then. Streambaby has a way around that (partly -- it still pauses at that point, as I understand it), which I'll have to try to work out. You'd have to be watching for quite a long time to see this (I have yet to run into the end of the buffer myself), although only half as long as with previous versions, since I doubled the bit rate.


----------



## swissguy

wmcbrine said:


> The pink color means fast forward. (Blue for rewind.) It's not an indicator of the end of the stream.


I see.



> You will eventually fill up the TiVo's maximum buffer size (1.1 GB, IIRC) if you watch for a long time, and have to restart the stream then. Streambaby has a way around that (partly -- it still pauses at that point, as I understand it), which I'll have to try to work out. You'd have to be watching for quite a long time to see this (I have yet to run into the end of the buffer myself), although only half as long as with previous versions, since I doubled the bit rate.


Yes, I am aware of that. The problem occurs often after a few seconds or minutes. The 2nd number stops advancing and the stream is lost.


----------



## mikeylikesit40

I have a network camera that I'd like to add as a feed.

It has an IP 192.168.x.x, it has a built in web server... so multiple urls to choose from to view image ex: 192.168.x.x/cgi-bin/video.jpg or 192.168.x.x/snapshot.vslx or 192.168.1.1:5003 (for udp streaming).

So... can this be done? I've tried just adding those urls to 
[teststream]
url = {one of the above urls}

any ideas?


----------



## wmcbrine

It might be easier to test them in VLC on your desktop first. If they work there, they _may_ (should) work on the TiVo. But if they don't, they won't.


----------



## m_ghuloum

Guys,

some channels can be streamed properly on the PC but when I try to do the same on HME/VLC I get a gray screen. For example: http://altelfaza.com/asx/funoontv.asx has such behavior.

Any thoughts?


----------



## Ehlo

Used to work, now it doesn't. Here is the config:
Turned off firewalls, AV, etc. Not sure what I am doing wrong, any help would be GREAT!!!!

[hmeserver]
port=9043
datapath=/
apps=hmevlc

[hmevlc]
#[Online Media Steaming]
vlcport=9044
vbitrate=2048
abitrate=384

[Calvary of Aurora] 
url=dove.streambird.com/sb700216_1

This works if I open it in VLC, however it does not once I use HME/VLC video streamer. It used to, now it does not. Any thoughts? BTW- I did have the URL with HTTP tags, but the posting wanted me to remove them.


----------



## Allanon

Ehlo, the url you provided didn't work in VLC without the "http://" so I added it to the url. The TiVo tried playing the stream without opening VLC but when it did there was no audio or video. So you will need to add "needs_vlc =True" to the config.ini file. For example the following worked:



Code:


[Calvary of Aurora] 
url=http://dove.streambird.com/sb700216_1
needs_vlc=True


----------



## m_jonis

I just tried to watch the Tron Legacy trailer in the HD Trailers RSS feed

Actually none of the trailers played

All I see on the console is:

Start HME: hmevlc
Error 1 can't create rsrc. unsupported stream type /movies/universal/sanctum/scanctum-tlr1_h480p.mov
Error 3 resource 2172 not found (type type[-1])
Error 1 can't create rsrc. unsupported stream type /movies/movies/disney/tron-clip1_h480p.mov
Error 3 resource 2172 not found (type type[-1])

OTHER RSS feeds worked fine.

any ideas?


----------



## arrarrgee

Could you pls confirm if this HME could be modified to play TVU player channels....


----------



## wmcbrine

I don't know what that is. More info, please.

Edit: Googling it, I'd say, probably not. I don't see much in the way of technical info, but I do see the claim "effective DRM", which would pretty much leave us out, if true.

Unless you know of it working in VLC?


----------



## Allanon

arrarrgee said:


> Could you pls confirm if this HME could be modified to play TVU player channels....


I haven't tried in a while but this worked before:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=7021244&highlight=tvu#post7021244


----------



## wmcbrine

Heh, I knew I should've reviewed the thread before I answered that.


----------



## arrarrgee

HME/VLC option shows up on my Tivo...but when i try to acces it i get a http 10054 error...probably something o do with the firewall that i am running...could you pls tell me whats the purpose of vlc coz i dont think i am referring to it anywhere in my config file...pls find the same below....(not sure what to write next to datapath/..help pls)

[hmeserver]
port=9043
datapath=/
apps=hmevlc

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

[Videos]
dir=d:/Movies

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

[Archive Classic Movies]
rss=http://www.archiveclassicmovies.com/acm.rss

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

[Tekzilla]
rss=http://revision3.com/tekzilla/feed/MP4-hd30

[HD Nation]
rss=http://revision3.com/hdnation/feed/MP4-hd30

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

[Stranger Things]
rss=http://feeds.feedburner.com/StrangerThings?format=xml

[Cranky Geeks]
rss=http://feeds.feedburner.com/ziffdavis/cgmpeg4video
needs_vlc=True

[NASA, This Week at]
rss=http://www.nasa.gov/rss/TWAN_vodcast.rss

[NASA Mission Updates]
rss=http://www.nasa.gov/rss/mission_update_vodcast.rss

[NASA Edge]
rss=http://www.nasa.gov/rss/NASAEdge_vodcast.rss

[Democracy Now!]
rss=http://www.democracynow.org/podcast-video.xml
needs_vlc=True

[MSNBC: Countdown with Keith Olbermann]
rss=http://podcast.msnbc.com/audio/podcast/MSNBC-COUNTDOWN-NETCAST-M4V.xml
needs_vlc=True

[MSNBC: The Rachel Maddow Show]
rss=http://podcast.msnbc.com/audio/podcast/MSNBC-MADDOW-NETCAST-M4V.xml
needs_vlc=True

[CBS Evening News]
rss=http://feeds.cbsnews.com/podcast_eveningnews_video_1?format=xml

[HD Trailers]
rss=http://www.hd-trailers.net/blog/feed/
#needs_vlc=True

[Washington Post HD Video Podcast] 
rss=http://www.washingtonpost.com/wp-srv/mmedia/hd_podcast.xml

[Hubblecast (HD)]
rss=http://www.spacetelescope.org/rss/vodcasthd.xml

#[Shoutcast TV]
#shout_list=http://www.shoutcast.com/sbin/newtvlister.phtml
#shout_tune=http://www.shoutcast.com/sbin/tunein-tvstation.pls?id=
#needs_vlc=True

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

[NASA TV]
url=http://playlist.yahoo.com/makeplaylist.dll?id=1368162
needs_vlc=True
icon=icons/nasatv.png

[ResearchChannel]
url=mms://media-wm.cac.washington.edu/ResearchTV Live (LAN)
needs_vlc=True
icon=icons/research.png

#[PG24]
#url=rtsp://stream.pg24.tv/PG24-High
#needs_vlc=True

#[ReelGood TV]
#url=rtsp://www.reelgood.tv/reelgoodtv
#needs_vlc=True



wmcbrine said:


> It'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.


----------



## Allanon

arrarrgee said:


> HME/VLC option shows up on my Tivo...but when i try to acces it i get a http 10054 error...


If you get that error when accessing TVU then make sure the TVU player on your computer is playing video before trying to access the TVU stream on the TiVo. Also each time you change a channel in the TVU player you will need to exit the TVU stream on the TiVo and then reselect it once the channel has been changed.



> could you pls tell me whats the purpose of vlc coz i dont think i am referring to it anywhere in my config file...


VLC is used to read a video stream or file and convert it in to a format that TiVo can use. If you have VLC installed in the default folder then you shouldn't have to set the path in the config.ini file.


----------



## arrarrgee

I get the error when i try to access HME/VLC option on Tivo..I cant see the different channels under it (havent gotten that far yet..it doesnt let me)..I think it mostly has to do with the mcafee firewall that I am running...will disable it and see if the result is any different



Allanon said:


> If you get that error when accessing TVU then make sure the TVU player on your computer is playing video before trying to access the TVU stream on the TiVo. Also each time you change a channel in the TVU player you will need to exit the TVU stream on the TiVo and then reselect it once the channel has been changed.
> 
> VLC is used to read a video stream or file and convert it in to a format that TiVo can use. If you have VLC installed in the default folder then you shouldn't have to set the path in the config.ini file.


----------



## Allanon

Someone posted a question asking if there was a way to watch Ustream.tv or Justin.tv on the Tivo and I thought about it and came up with this solution:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=8304579#post8304579


----------



## Allanon

An easy way to watch Hulu on the TiVo is to use Stream Transport to download the Hulu video and use HME/VLC Video Streamer to watch the .FLV video file as it downloads.


----------



## schochy

where do i find start.py for this hmevlc software


----------



## Allanon

schochy said:


> where do i find start.py for this hmevlc software


Download hme-vlc-3.6.zip and extract it to a folder. Open that folder and you will see the start.py file. To run the software you will need to install Python 2.6 and VLC.


----------



## schochy

Thanks Allanon is there a support area for this server software?(hme-vlc)


----------



## Allanon

schochy said:


> Thanks Allanon is there a support area for this server software?(hme-vlc)


The software is hosted at GitHub but this thread is the support area, just post your questions here and wmcbrine the developer or other users such as myself will try to answer your questions. You can also search this thread for answers since a lot of support questions have already been asked and answered.


----------



## schochy

New to this stuff but using a tivo hd , tivo premiere , linux servers, Need help with a error message on tivo hd screen (htttp error 0x50005) I can post my configs and logs if needed.

using hme-vlc-3.6 also same thing happens using stream baby


----------



## Allanon

schochy said:


> New to this stuff but using a tivo hd , tivo premiere , linux servers, Need help with a error message on tivo hd screen (htttp error 0x50005) I can post my configs and logs if needed.
> 
> using hme-vlc-3.6 also same thing happens using stream baby


Grantsa4 had the same error and fixed it by modifying his firewall. Try turning your firewall off just to see if that solves the problem.


----------



## schochy

Thanks that fixed the problem to get streambaby up but hme-vlc still has problems and it looks like paths not setup correctly 'apples/something.png' file does not exist! Oh well not worried cause I got the use of the other app. Thanks again!


----------



## arrarrgee

schochy said:


> New to this stuff but using a tivo hd , tivo premiere , linux servers, Need help with a error message on tivo hd screen (htttp error 0x50005) I can post my configs and logs if needed.
> 
> using hme-vlc-3.6 also same thing happens using stream baby


I got the same error too...its got to do with mcafee firewall ( I use mcafee)..I fixed it by modifying my firewall settings .,..but i am unable to access any of the channels (I am able to see them on Tivo though)..I get a "Error Reading Stream" error...could someone help me pls...i so badly want to access the TVU Player channel...

Edit: Did a reinstall of my VLC...now it works like a charm...awesome app..thx guys


----------



## arrarrgee

wmcbrine said:


> 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...


hey wmcbrine..awesome app....i donot see your signature.could you pls add it..i would like to chip in for your broken laptop.....keep up the good work


----------



## orangeboy

This looks like a good site for content:

http://www.streamick.com/index.php

However, I haven't been able to figure out the stream source locations to plug into VLC. Anyone have a clue?


----------



## Allanon

orangeboy said:


> This looks like a good site for content:
> 
> http://www.streamick.com/index.php
> 
> However, I haven't been able to figure out the stream source locations to plug into VLC. Anyone have a clue?


They link to a lot of different places so there is a different source location for each stream. You can use StreamTransport to easily get the urls. It can also be used to record the stream and while it's recording you can just play the file.


----------



## orangeboy

Allanon said:


> They link to a lot of different places so there is a different source location for each stream. You can use StreamTransport to easily get the urls. It can also be used to record the stream and while it's recording you can just play the file.


I'm not having much luck with StreamTransport. Nothing shows up in the window below the internal browser, and it lacks flash for quite a few streams - Youtube/Hulu/Streamick. I get this message when browsing Youtube:

"Your browser is no longer supported.
Please upgrade to a modern browser."

The one stream that I did get to play, the app really did nothing, other than just play the video. I see a total of 9 buttons. Does that sound right? No configuration?


----------



## Allanon

orangeboy said:


> I'm not having much luck with StreamTransport. Nothing shows up in the window below the internal browser, and it lacks flash for quite a few streams - Youtube/Hulu/Streamick. I get this message when browsing Youtube:
> 
> "Your browser is no longer supported.
> Please upgrade to a modern browser."
> 
> The one stream that I did get to play, the app really did nothing, other than just play the video. I see a total of 9 buttons. Does that sound right? No configuration?


I think it uses Internet Explorer as the browser so you might have to update to a newer version.

Use StreamTransport as a browser and go to the page that has the video you want to watch. After the video starts you should see it's url and other information at the bottom. Select the url and click the download button. Then click on the show tasks button and select the file you want to watch and then locate. This will show you the location of the video being recorded then use HME/VLC Video Streamer to play the file or even Streambaby if it is a compatible format.


----------



## orangeboy

Allanon said:


> I think it uses Internet Explorer as the browser so you might have to update to a newer version.
> 
> Use StreamTransport as a browser and go to the page that has the video you want to watch. After the video starts you should see it's url and other information at the bottom. Select the url and click the download button. Then click on the show tasks button and select the file you want to watch and then locate. This will show you the location of the video being recorded then use HME/VLC Video Streamer to play the file or even Streambaby if it is a compatible format.


Makes sense. When I use IE, the pages look the same as in StreamTransport. Hulu also says this: "Internet Explorer 6.0 is no longer a supported browser. Please click here for our system requirements." Getting IE7 now.

Thanks!


----------



## tomm1079

I just found this program. I was using stream baby and it just stopped working for some reason. So i came across this and it works great. What are the differences between this and stream baby? Do people prefer one over other?


----------



## nrnoble

Looks pretty cool. Got it installed. Found HME app on my S3, it shows the RSS and Video folders. I can see the contents in each one, but it only streams videos from the RSS feeds. Every video in video folder returns the follow message "Error reading from steam".

This is in a Vista computer. The pystreaming console window is reporting a Http 403 error when ever it tries to read a streaming file. The files are standard MPEG2 files (ripped movies) that play perfectly when uploaded to the S3.



Code:


C:\Tivo Stuff\Steaming Server>start.py
HME Server for Python 0.18
Wed Mar 16 01:34:57 2011 Server Starts
Registering: hmevlc
192.168.1.104:1469 - - [16/Mar/2011 01:35:19] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.1.104:1469 - - [16/Mar/2011 01:35:19] Starting HME: hmevlc
192.168.1.104:1470 - - [16/Mar/2011 01:35:31] code 403, message Forbidden
192.168.1.104:1470 - - [16/Mar/2011 01:35:31] "GET /i%3A%5Cmovies%5CClip.mpg HTTP/1.1" 403 -
192.168.1.104:1469 - - [16/Mar/2011 01:40:34] Ending HME: hmevlc

Ideas?


----------



## wmcbrine

Probably you need to set your datapath to... drive "i", is it? From the README:



> It should no longer be necessary to set the datapath under Windows, unless your videos are on a different drive from HME/VLC.


Aside from that note, this is really only documented in this thread. Sorry.



Code:


[hmeserver]
datapath=i:\


----------



## AsSiMiLaTeD

Clearly I'm missing something, hoping someone here can help me out.

In the instructions it indicates to run start.py, but I don't see any such file. Am I reading that too literally, or what am I missing?

I have python and VLC install, not sure what step i left out.

Thanks


----------



## orangeboy

AsSiMiLaTeD said:


> I have python and VLC install, not sure what step i left out.


Perhaps the application?


----------



## AsSiMiLaTeD

I have all those files downloaded to my PC, but don't know which file to launch to get it working. The instructions reference a start.py, but I'm not seeing that file there anywhere, plenty of other .py files, but not a start.py


----------



## orangeboy

AsSiMiLaTeD said:


> I have all those files downloaded to my PC, but don't know which file to launch to get it working. The instructions reference a start.py, but I'm not seeing that file there anywhere, plenty of other .py files, but not a start.py


Yep, I just re-downloaded the zip file, and start.py is missing, as well as other files(?):



Code:


Thu 03/24
18:58:17=>diff "E:\Development\Dev\HME VLC\wmcbrine-hmevlc-cae226d" "E:\Development\Dev\HME VLC\Prod"
Common subdirectories: E:\Development\Dev\HME VLC\wmcbrine-hmevlc-cae226d/apples and E:\Development\Dev\HME VLC\Prod/apples
Only in E:\Development\Dev\HME VLC\Prod: hme.py
Common subdirectories: E:\Development\Dev\HME VLC\wmcbrine-hmevlc-cae226d/hmevlc and E:\Development\Dev\HME VLC\Prod/hmevlc
Common subdirectories: E:\Development\Dev\HME VLC\wmcbrine-hmevlc-cae226d/icons and E:\Development\Dev\HME VLC\Prod/icons
diff E:\Development\Dev\HME VLC\wmcbrine-hmevlc-cae226d/README.txt E:\Development\Dev\HME VLC\Prod/README.txt
220c220
Only in E:\Development\Dev\HME VLC\Prod: start.py
Only in E:\Development\Dev\HME VLC\Prod: Zeroconf.py


----------



## AsSiMiLaTeD

So is this project dead, or just some broken links somewhere?


----------



## wmcbrine

No, it's not dead, and there are no broken links or missing files. You're just downloading the wrong file.



















And you know, this was already covered just a few posts further back in the thread.


----------



## nrnoble

For whatever psychological reasons, right or wrong, it appears to be very common\typical mistake that people make when selecting the download.


----------



## AsSiMiLaTeD

My apologies, did not see this mentioned before. I'd rad a few pages in the thread and didn't see anyone mention it, and didn't see anything about it in the instructions so assumed I was doing something wrong or that maybe it had been discontinued.

It runs fine on my machine now that I've got all the files. Now I just need to read through this thread in its entirety and see if I can get my other answer there, mainly 'how do I set up a feed from CNN'. Searching for that is what brought me to this thread in the first place, just need to figure out how to get that to work and I'm good.


----------



## orangeboy

I'm having trouble playing audio for this stream:
rtsp://169.229.131.16:554//bibs/s2004/group1/cs162/20040121.rm

VLC GUI plays the audio fine, but HME/VLC is silent. Any ideas?

config.ini:


Code:


[hmeserver]
port=9043
datapath=/
apps=hmevlc

[hmevlc]
vlcport=9044

[Berkeley CS 162 Lecture 01]
url=rtsp://169.229.131.16:554//bibs/s2004/group1/cs162/20040121.rm
needs_vlc=True

[Berkeley CS 162 Lecture 02]
url=rtsp://169.229.131.16:554//bibs/s2004/group1/cs162/20040126.rm
needs_vlc=True

[Berkeley CS 162 Lecture 03]
url=rtsp://169.229.131.16:554//bibs/s2004/group1/cs162/20040128.rm
needs_vlc=True

[Berkeley CS 162 Lecture 04]
url=rtsp://169.229.131.16:554//bibs/s2004/group1/cs162/20040202.rm
needs_vlc=True

Edit: There is no audio in the stream for the first 4 minutes, 34 seconds when using the VLC GUI. I believe this is by design, allowing time for the students and instructor to get settled in.


----------



## Allanon

Here is the output form VLC when I tried the URL:


Code:


[00e2a924] dummy interface: VLC media player - 1.1.5 The Luggage
[00e2a924] dummy interface: Copyright c 1996-2010 the VideoLAN team
[00e2a924] 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"

[00e2a924] dummy interface: using the dummy interface module...
[00e24d64] main access out: creating httpd
[00e1a26c] mux_ps mux: Open
[00e1b324] live555 demux: real codec detected, using real-RTSP instead
[00e1b324] live555 demux: real codec detected, using real-RTSP instead
[00e1b324] live555 demux error: Nothing to play for rtsp://169.229.131.16:554//bibs/s2004/group1/cs162/20040121.rm
[00e2a42c] main stream out error: Failed to create audio filter
[00e2a42c] stream_out_transcode stream out error: Failed to find conversion filter for resampling
[00e2a42c] stream_out_transcode stream out error: cannot create audio chain
[00e0f1ac] main decoder error: cannot create packetizer output (sipr)
unknown bit3 set
unknown bit3 set
unknown bit3 set
unknown bit3 set
unknown bit3 set
unknown bit3 set
unknown bit3 set
unknown bit3 set
unknown bit3 set
unknown bit3 set

Looks like it doesn't like the audio filter, whatever that means.


----------



## orangeboy

Allanon said:


> Here is the output form VLC when I tried the URL:
> 
> 
> Code:
> 
> 
> [00e2a924] dummy interface: VLC media player - 1.1.5 The Luggage
> [00e2a924] dummy interface: Copyright c 1996-2010 the VideoLAN team
> [00e2a924] 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"
> 
> [00e2a924] dummy interface: using the dummy interface module...
> [00e24d64] main access out: creating httpd
> [00e1a26c] mux_ps mux: Open
> [00e1b324] live555 demux: real codec detected, using real-RTSP instead
> [00e1b324] live555 demux: real codec detected, using real-RTSP instead
> [00e1b324] live555 demux error: Nothing to play for rtsp://169.229.131.16:554//bibs/s2004/group1/cs162/20040121.rm
> [00e2a42c] main stream out error: Failed to create audio filter
> [00e2a42c] stream_out_transcode stream out error: Failed to find conversion filter for resampling
> [00e2a42c] stream_out_transcode stream out error: cannot create audio chain
> [00e0f1ac] main decoder error: cannot create packetizer output (sipr)
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> unknown bit3 set
> 
> Looks like it doesn't like the audio filter, whatever that means.


Right, but only in the non-gui mode. That's what has me confused. VLC can find the filter/codec/whatever when the gui is used, but not when in "batch/dummy/CLI" mode?


----------



## Allanon

orangeboy said:


> Right, but only in the non-gui mode. That's what has me confused. VLC can find the filter/codec/whatever when the gui is used, but not when in "batch/dummy/CLI" mode?


It must be a filter used for the conversion, when you play in VLC it's not converting the audio to a Tivo compatible format.


----------



## orangeboy

I've given up on those streams. I altered vlc.py to hardcode in the same samplerate as the source (16000), and found no joy. I eliminated all audio parameters except for codec specification, and had a shade of success with not getting any error messages, but I also had no audio. Meh. The content of those lectures in the streams wasn't what I thought it would be, so I'm not too bummed about not being able to view them on my TV.


----------



## arrarrgee

Hi Could someone help me install pytivo app pls...I tried adding the vidmgr to the pyhme framework of wmcbrine...(HME/VLC folder) i am posting my config file below with the changes I have made..pls help

[hmeserver]
port=9043
datapath=C:\hme-vlc-3.6
apps=vidmgr
apps=hmevlc

[tivos]
tivo1.name=Family Room
tivo1.tsn=313-22221-9044-1111

[pytivos]
pytivo1.config=C:\hme-vlc-3.6\start.conf
pytivo1.ip=192.168.1.201
pytivo1.port=9032
pytivo1.sep=/

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

[Videos]
dir=e:/Movies
dir=E:/iphone
dir=E:/pics


----------



## arrarrgee

could someone help me find instructions for installing pytivo pls


----------



## orangeboy

arrarrgee said:


> Hi Could someone help me install pytivo app pls...I tried adding the vidmgr to the pyhme framework of wmcbrine...(HME/VLC folder) i am posting my config file below with the changes I have made..pls help


Take the dashes out of the TSN, or replace the TSN with the TiVo Name:
tivo1.tsn=3132222190441111
or
tivo1.tsn=Family Room


----------



## J.R.

I added a scheduled task on Windows 7 to run HME/VLC hidden on start up. Getting the following errors:

HME Server for Python 0.18
Skipping: apples - No application class
Skipping: icons - No module named icons
Thu May 05 01:22:09 2011 Server Starts
Registering: hmevlc
192.168.0.142:47056 - - [05/May/2011 01:22:10] "GET /hmevlc/icon.png HTTP/1.0" 2
00 -
192.168.0.142:47057 - - [05/May/2011 01:22:14] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.0.142:47057 - - [05/May/2011 01:22:14] Starting HME: hmevlc
----------------------------------------
Exception happened during processing of request from ('192.168.0.142', 47057)
Traceback (most recent call last):
File "C:\Program Files\Python\lib\SocketServer.py", line 558, in process_reque
st_thread
self.finish_request(request, client_address)
File "C:\Program Files\Python\lib\SocketServer.py", line 320, in finish_reques
t
self.RequestHandlerClass(request, client_address, self)
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\start.py", line 139
, in __init__
client_address, server)
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 "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\start.py", line 230
, in do_GET
self._page(True)
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\start.py", line 184
, in _page
appinst.mainloop()
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\hme.py", line 1120,
in mainloop
while self.active and self.get_event():
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\hme.py", line 1201,
in get_event
handle()
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\hmevlc\__init__.py"
, line 184, in handle_active
self.push_menu(TITLE, items, RED)
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\hmevlc\__init__.py"
, line 289, in push_menu
self.set_background(color)
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\hmevlc\__init__.py"
, line 192, in set_background
self.root.set_image(self.graphics[color])
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\hme.py", line 1021,
in set_image
self.set_resource(Image(self.app, name, f, data), flags)
File "D:\Downloads\TiVo\HME VLC Video Streamer\hme-vlc-3.6\hme.py", line 716,
in __init__
f = open(name, 'rb')
IOError: [Errno 2] No such file or directory: 'apples/red-hd.png'
----------------------------------------


----------



## wmcbrine

Make sure you change to the HME/VLC directory before starting it.


----------



## J.R.

Thanks! I added the HME/VLC directory (C:\Program Files\hme-vlc-3.6) to the "start in" option in scheduled task.


----------



## srhodian

Hi Guys,

I've installed HME/VLC and set it up as a scheduled task in Windows 7 but when I try to access any of the RSS feeds or my local videos I get an 'error reading from stream' on The Tivo.

Looking at the HME logging, it does not appear to be doing anything, please see below:



> HME Server for Python 0.18
> Fri May 13 19:18:30 2011 Server Starts
> Registering: hmevlc
> 192.168.0.101:32848 - - [13/May/2011 19:19:00] "GET /hmevlc/icon.png HTTP/1.0" 200 -
> 192.168.0.101:32849 - - [13/May/2011 19:19:04] "GET /hmevlc/ HTTP/1.1" 200 -
> 192.168.0.101:32849 - - [13/May/2011 19:19:04] Starting HME: hmevlc
> 192.168.0.101:32849 - - [13/May/2011 19:19:41] Ending HME: hmevlc


config.ini looks like the following:



> [hmeserver]
> port=9043
> datapath=f:\
> apps=hmevlc
> 
> [hmevlc]
> vlcport=9044
> vbitrate=2048
> abitrate=384
> 
> [Series]
> dir=f:\media\series
> 
> [Movies]
> dir=f:\media\movies
> 
> [Archive Classic Movies]
> rss=h**p://...
> 
> <snip>
> ... other RSS feed info
> </snip>
> 
> [ResearchChannel]
> url=mm*://...
> needs_vlc=True
> icon=icons/research.png


Any help that you can provide would be greatly appreciated.


----------



## srhodian

I added the "vlc=" line into the hmevlc section and got a little further...

Now I get the following:


> HME Server for Python 0.18
> Fri May 13 21:09:49 2011 Server Starts
> Registering: hmevlc
> 192.168.0.101:32905 - - [13/May/2011 21:10:15] "GET /hmevlc/icon.png HTTP/1.0" 2
> 00 -
> 192.168.0.101:32906 - - [13/May/2011 21:10:19] "GET /hmevlc/ HTTP/1.1" 200 -
> 192.168.0.101:32906 - - [13/May/2011 21:10:19] Starting HME: hmevlc
> 192.168.0.101:32906 - - [13/May/2011 21:10:34] Ending HME: hmevlc
> 192.168.0.101:32922 - - [13/May/2011 21:10:35] "GET /hmevlc/icon.png HTTP/1.0" 2
> 00 -
> 192.168.0.101:32924 - - [13/May/2011 21:10:37] "GET /hmevlc/ HTTP/1.1" 200 -
> 192.168.0.101:32924 - - [13/May/2011 21:10:37] Starting HME: hmevlc
> 192.168.0.2:57556 - - [13/May/2011 21:10:53] "GET /media%5Cmovies%5CXXXXXX%20XXXXXX%5COneDDL.com-japhson-XXXXXXX-720p.mp4 HTTP/1.1" 200 -
> 192.168.0.101:32924 - - [13/May/2011 21:11:00] Ending HME: hmevlc
> ----------------------------------------
> Exception happened during processing of request from ('192.168.0.101', 32924)
> Traceback (most recent call last):
> File "c:\python26\lib\SocketServer.py", line 560, in process_request_thread
> self.finish_request(request, client_address)
> File "c:\python26\lib\SocketServer.py", line 322, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "start.py", line 139, in __init__
> client_address, server)
> File "c:\python26\lib\SocketServer.py", line 618, in __init__
> self.finish()
> File "c:\python26\lib\SocketServer.py", line 661, in finish
> self.wfile.flush()
> File "c:\python26\lib\socket.py", line 297, in flush
> self._sock.sendall(buffer(data, write_offset, buffer_size))
> error: [Errno 10053] An established connection was aborted by the software in yo
> ur host machine
> ----------------------------------------
> 192.168.0.2:57556 - - [13/May/2011 21:11:01] socket.error 10054 - An existing co
> nnection was forcibly closed by the remote host
> ----------------------------------------
> Exception happened during processing of request from ('192.168.0.2', 57556)
> Traceback (most recent call last):
> File "c:\python26\lib\SocketServer.py", line 560, in process_request_thread
> self.finish_request(request, client_address)
> File "c:\python26\lib\SocketServer.py", line 322, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "start.py", line 139, in __init__
> client_address, server)
> File "c:\python26\lib\SocketServer.py", line 618, in __init__
> self.finish()
> File "c:\python26\lib\SocketServer.py", line 661, in finish
> self.wfile.flush()
> File "c:\python26\lib\socket.py", line 297, in flush
> self._sock.sendall(buffer(data, write_offset, buffer_size))
> error: [Errno 10054] An existing connection was forcibly closed by the remote host
> ----------------------------------------


Thanks again....


----------



## J.R.

srhodian said:


> I added the "vlc=" line into the hmevlc section and got a little further...
> 
> Now I get the following:
> 
> Thanks again....


Add start.py folder location in scheduled task > actions tab > start in option > C:\startpy\folder\location


----------



## srhodian

J.R. said:


> Add start.py folder location in scheduled task > actions tab > start in option > C:\startpy\folder\location


Thanks J.R.,

Already done....


----------



## wmcbrine

Yeah, that's not the issue here. What those errors say is that the TiVo doesn't like your file. You might try rebooting it... I dunno; it should automatically retry it with transcoding, but that doesn't seem to be happening. Is your VLC actually working?

You might also try running qtfaststart on the file to make it streamable, assuming that it isn't now.

You should still be able to access some files and most of the RSS feeds even without a working VLC, though.


----------



## srhodian

wmcbrine said:


> Yeah, that's not the issue here. What those errors say is that the TiVo doesn't like your file. You might try rebooting it... I dunno; it should automatically retry it with transcoding, but that doesn't seem to be happening. Is your VLC actually working?
> 
> You might also try running qtfaststart on the file to make it streamable, assuming that it isn't now.
> 
> You should still be able to access some files and most of the RSS feeds even without a working VLC, though.


Rebooted the TiVo and still no good.... Can't even get to the RSS feeds.

VLC is installed and working, how do I check to see if it is working with hmevlc?

The files are streamable, they were created using MP4box (converting MKV to MP4) and I can view them if I initiate a push from PyTiVo (no transcoding occurs).

Also tries disabling my firewall, just in case!


----------



## wmcbrine

pyTivo incorporates qtfaststart, but HME/VLC doesn't, yet. (I've got to add that in one of these days.) My guess is that the files are of the type that need qtfaststart processing.

When you say "can't even get to the RSS feeds"... what exactly are you seeing?


----------



## TheWGP

Hmm, I was linked here by a question someone posted elsewhere, but I'm actually trying to deal with the same issue right now - is there a way to use this to play .avi or .mkv with .srt subtitles on the Tivo? I actually don't care if it's streaming or copying, I'm just trying to figure out a way to get video + subs on the TV screen!

I realize I can reencode to burn the softsubs in as hardsubs, but I'm willing to go to some length to avoid this for family-friendly reasons.


----------



## orangeboy

TheWGP said:


> Hmm, I was linked here by a question someone posted elsewhere, but I'm actually trying to deal with the same issue right now - is there a way to use this to play .avi or .mkv with .srt subtitles on the Tivo? I actually don't care if it's streaming or copying, I'm just trying to figure out a way to get video + subs on the TV screen!
> 
> I realize I can reencode to burn the softsubs in as hardsubs, but I'm willing to go to some length to avoid this for family-friendly reasons.


Use Streambaby:



> http://code.google.com/p/streambaby/wiki/ChangeLog:
> 
> Added coded from moyekj for support SRT files for closed captioning/subtitles.
> If movie name is movie.mpg, subtitles should be in movie.srt
> Added new config options cc.mintime, and cc.minchartime
> both are in milliseconds and control the minimum time a CC is displayed on the screen (unless it needs to be erased to display another one)
> 
> added new INI cc.fontsize to configure fontsize for CC. default=20
> Aspect button currently turns CC on/off. It is ON by default if a SRT file exists.


----------



## MrJedi

I want to being to use this to watch NASA TV HD. Is there a non-flash HD feed out there or would I need to use this method: http://www.tivocommunity.com/tivo-vb/showthread.php?p=8304579#post8304579


----------



## wmcbrine

That's a good question. I get the NASA HD feed on my Roku, which I don't think uses Flash, but I don't know a URL for it.


----------



## TheWGP

EDIT:

I managed to get PyTivoX working using the BETA version of it, which solved the issues I was having with 1.3. 

wmcbrine, apologies for the threadjack - your solution does look interesting but it's not quite what I need now.


----------



## rajiv

wmcbrine said:


> That's a good question. I get the NASA HD feed on my Roku, which I don't think uses Flash, but I don't know a URL for it.


nasa tv hd 720p stream at http://liveips.nasa.gov.edgesuite.net/msfc/Wifi.m3u8


----------



## adamt56

rajiv said:


> nasa tv hd 720p stream at http://liveips.nasa.gov.edgesuite.net/msfc/Wifi.m3u8


Great! Any idea on how to get it to work?


----------



## djl25

What a great program! It's working fine for me on Windows Vista Premium, but I'm having trouble with this stream:
http://mtvnmobile2.rd.llnwd.net/44620/mtvnorigin/gsp.comedystor/com/dailyshow/TDS/season_16/episode_098/ds_weekly_072511_768x432_1720.mp4
This is video from The Daily Show, optimized for iPad. The stream plays fine with vlc 1.1.11 (it crashes vlc 0.8.4, but that version just doesn't work well with Vista, period.) When loading the same stream in hme-vlc I get:


Code:


[01d881cc] dummy interface: using the dummy interface module...
[01d61564] main access out: creating httpd
[01d64004] mux_ps mux: Open
[01d8712c] main stream out error: Failed to create audio filter
[01d8712c] stream_out_transcode stream out error: Failed to find conversion filt
er for resampling
[01d8712c] stream_out_transcode stream out error: cannot create audio chain
[043925e4] main decoder error: cannot create packetizer output (mp4a)

Again, this works fine if I just paste the url into VLC. Any suggestions on getting it to play on the Tivo?


----------



## wmcbrine

That stream file is directly compatible with a TiVo (at least the Premiere). No need to involve VLC, and you shouldn't. Just don't put "needs_vlc=True" in the config.ini entry for it.


----------



## djl25

Thanks so much for the quick reply. In fact, I don't have needs_vlc=True in that entry, but it seems to invoke vlc automatically. This is on a Tivo HD.
I noticed that you differentiated between the stream and the file; is this the problem? As I mentioned, vlc will play the stream without problem.



wmcbrine said:


> That stream file is directly compatible with a TiVo (at least the Premiere). No need to involve VLC, and you shouldn't. Just don't put "needs_vlc=True" in the config.ini entry for it.


----------



## wmcbrine

djl25 said:


> In fact, I don't have needs_vlc=True in that entry, but it seems to invoke vlc automatically. This is on a Tivo HD.


VLC is invoked when the direct stream is rejected by the TiVo. It may be that this file is incompatible with an HD, even though it works with a Premiere.



> _I noticed that you differentiated between the stream and the file; is this the problem?_


No. I was just observing that it is in fact a file, and not really a "live stream". That doesn't make any difference to HME/VLC, but it does mean that you could download the file and use other means to transfer it to the TiVo.


----------



## djl25

I was just looking for a way to automate the Daily Show clips, and even went so far as to write a scraper that created an RSS feed from the mobile web site. hme-vlc would have been a great way to finish it off since it picks up the feed perfectly. Unfortunately, it can't play the file...



wmcbrine said:


> VLC is invoked when the direct stream is rejected by the TiVo. It may be that this file is incompatible with an HD, even though it works with a Premiere.
> 
> No. I was just observing that it is in fact a file, and not really a "live stream". That doesn't make any difference to HME/VLC, but it does mean that you could download the file and use other means to transfer it to the TiVo.


----------



## wmcbrine

I can reproduce this if I force needs_vlc=True. (I don't have an HD. I tried it with an S3, which still didn't invoke VLC, but the sound was messed up.) It seems to be just more VLC brokenness, not much I can do, sorry.


----------



## Allanon

I've been experimenting with Mencoder, it takes video streams and files as input and converts them to mpeg files. I set it up so when Mencoder outputs to a temp file that temp file is also streamed to the Tivo. I've had success but still need to work on Mencoder's settings. There are other programs that do the same type of conversions and I was thinking of changing the needs_vlc parameter to one that allows the user to specify which transcoder should be used. So if one stream doesn't work with VLC then the user can try other methods such as Mencoder.


----------



## djl25

That's a great idea. I was thinking of something similar, perhaps overriding the hme-vlc transcoding defaults for stubborn streams in config.ini.



Allanon said:


> I've been experimenting with Mencoder, it takes video streams and files as input and converts them to mpeg files. I set it up so when Mencoder outputs to a temp file that temp file is also streamed to the Tivo. I've had success but still need to work on Mencoder's settings. There are other programs that do the same type of conversions and I was thinking of changing the needs_vlc parameter to one that allows the user to specify which transcoder should be used. So if one stream doesn't work with VLC then the user can try other methods such as Mencoder.


----------



## richkeith

I've installed python and downloaded the zip file from github, but there is no start.py file included in the zip file. And when I launch any of the other files it only opens up the source code files in python. Where is the start.py file and how to I have python execute it rather than open the source code.


----------



## wmcbrine

richkeith said:


> I've installed python and downloaded the zip file from github, but there is no start.py file included in the zip file.


http://www.tivocommunity.com/tivo-vb/showthread.php?p=8446417#post8446417

The screen looks a little different now, but the advice still applies.


----------



## richkeith

That worked but now when i click on start.py it just opens the file in the python editor. How do I get python to actually run the file? Sorry I'm brand new to python.


----------



## richkeith

Nevermind. figured it out. MAC was opening it with IDLE and not Python Launcher


----------



## Sam Ray

wmcbrine said:


> No, it's not dead, and there are no broken links or missing files. You're just downloading the wrong file.
> 
> {images clipped}
> 
> And you know, this was already covered just a few posts further back in the thread.


I went to github.com from the first post of this thread. There are very many files in the download page with very little indication of what to download. It is very frustrating when download pages make us guess. Sourceforge does that a lot. I did the best I could to decide which one to download. I cannot be specific at the moment about what I downloaded since github.com is not working for me at the moment.

The thing is that the readme.txt file was in the files downloaded. It says to "Run start.py". It only lists Tivo, Pyton and VLC as requirements.

There are many unrelated posts in this thread. It would sure help to *at least* give an indication that we must read through *all the* messages, even all the irrelevant ones, to get the instructions. Or better yet, put the instructions at the beginning of the thread. Or better than that, put a better description in github of what file to use. If github does not provide that ability then that is unfortunate; as I say, it is frustratingly common for free software to be confusing like this. It would be understandable if it took time to do, but it does not.

Thank you in advance for the software. I assume it will work if I install it correctly. I only have an hour to do that before the coverage of the Curiosity landing begins. I can watch it using my PC but it will be nice if others in the family can watch it on the TV through the Tivo.


----------



## lrhorer

I certainly had no problems finding it, but here is the link:

https://github.com/wmcbrine/hmevlc/downloads


----------



## Sam Ray

lrhorer said:


> I certainly had no problems finding it, but here is the link:
> 
> https://github.com/wmcbrine/hmevlc/downloads


I will try that.

github is working again for me, so I can tell you what I did. I went to the page from the first message in this thread. Then I clicked on the button near the top that says "ZIP". That downloaded a zip file. I don't see what else I should have done. You said it was easy to find, but I think I did what most people would do.


----------



## lrhorer

Then you need to merge it into HME for Python. You do have HME for Python loaded and running?


----------



## Sam Ray

Now it works for me. Thank you.

Note that I did look at the first and last pages of this thread before I tried to install. Hopefully now people looking at the last page will see useful instructions, at least until this page is no longer the last page.

Unfortunately I misunderstood the description. I was hoping to be able to see NASA TV live but apparently I misunderstood.


----------



## wmcbrine

Not here for whiners.

No, you didn't misunderstand. It's supposed to let you watch NASA TV (among other things). But I can't get that to work right now, either. It's been a while since I tried it.

Edit: And here's why it doesn't work:



NASA said:


> Note to viewers: On July 31, 2012, NASA.gov discontinued streaming NASA Television in the QuickTime and Windows Media proprietary formats. The change helped us to simplify our webcasting infrastructure. The site will continue to stream NASA Television and NASA Newsaudio in Flash and HTML 5 for iOS devices.


From http://www.nasa.gov/multimedia/nasatv/index.html

Oh well.


----------



## Allanon

Easiest way to stream NASA TV to the TiVo is to record NASA TV using Stream Transport and while recording use HME/VLC Video Streamer, Stream Baby, or pyTiVo to stream that recording to the TiVo. You don't have to wait for the recording to stop before transferring it to the TiVo.


----------



## jwagner010

I have hmevlc running however none of the URL's in the config.ini file show up. The RSS feeds and Video directories do. Any thoughts?


----------



## wmcbrine

jwagner010 said:


> I have hmevlc running however none of the URL's in the config.ini file show up. The RSS feeds and Video directories do. Any thoughts?


Are you saying the streams won't play, or they don't even appear in the menu? If it's the latter, I'd assume that HME/VLC can't find a working copy of VLC.

If it's the former... yeah, most of the example streams are dead now.


----------



## jwagner010

Appears to be the later as when I remove the needs VLC True line from config they now appear on the menu (but obviously stream doesnt play witout VLC now). I have VLC installed and it works when I use it from the command line but HME/VLC seems to have problems locating VLC. Any thoughts?

Running on Linux


----------



## wmcbrine

[hmevlc]
vlc=/your/path/here/vlc


----------



## jwagner010

Thanks I was able to get HMEVLC to see VLC with your advise above. When I run a URL requiring VLC (NB I can play the URL in my web browser), HMEVLC throws the following errors:



Code:


./start.py
HME Server for Python 0.20
Sun Dec  9 15:33:47 2012 Server Starts
Registering: hmevlc
Registering: test
192.168.0.4:56322 - - [09/Dec/2012 15:34:07] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.0.4:56322 - - [09/Dec/2012 15:34:07] Starting HME: hmevlc
VLC media player 0.9.9a Grishenko
[00000001] main libvlc debug: VLC media player - version 0.9.9a Grishenko - (c) 1996-2009 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure  '--build=i386-pc-linux-gnu' '--host=i686-linux-gnu' '--target=i686-linux-gnu' '--prefix=/opt' '--enable-v4l' '--disable-v4l2' '--enable-bonjour' '--enable-x264' '--enable-dvbpsi' '--enable-a52' '--enable-dvdnav' '--with-dvdnav-config-path=/home/slug/optware/syno-i686/staging/opt/bin' '--enable-faad' '--enable-flac' '--disable-gnutls' '--enable-mpc' '--enable-ncurses' '--enable-ogg' '--enable-png' '--disable-remoteosd' '--enable-shout' '--enable-speex' '--enable-vorbis' '--disable-alsa' '--disable-dca' '--disable-glx' '--disable-gnomevfs' '--disable-libcdio' '--disable-libcddb' '--disable-screen' '--disable-sdl' '--disable-wxwidgets' '--disable-skins2' '--disable-x11' '--disable-nls' '--disable-static' 'build_alias=i386-pc-linux-gnu' 'host_alias=i686-linux-gnu' 'target_alias=i686-linux-gnu' 'CC=/home/slug/optware/syno-i686/toolchain/gcc-4.2.1-glibc-2.3.6/i686-linux-gnu/bin/i686-linux-gnu-gcc' 'LDFLAGS= -L/home/slug/optware/syno-i686/staging/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/home/slug/optware/syno-i686/staging/opt/lib ' 'CPPFLAGS=-O2   -O2 -pipe -I/home/slug/optware/syno-i686/staging/opt/include -I/home/slug/optware/syno-i686/staging/opt/include/ncurses' 'CPP=/home/slug/optware/syno-i686/toolchain/gcc-4.2.1-glibc-2.3.6/i686-linux-gnu/bin/i686-linux-gnu-gcc -E' 'CXX=/home/slug/optware/syno-i686/toolchain/gcc-4.2.1-glibc-2.3.6/i686-linux-gnu/bin/i686-linux-gnu-g++' 'PKG_CONFIG_PATH=/home/slug/optware/syno-i686/staging/opt/lib/pkgconfig'
[00000001] main libvlc debug: translation test: code is "C"
[00000310] dummy interface: using the dummy interface module...
[00000316] main access out error: no sout access module matched "http"
[00000315] stream_out_standard stream out error: no suitable sout access module for `http/ps://:9028'
[00000313] stream_out_transcode stream out error: cannot create chain
[00000312] main stream output error: stream chain failed for `transcode{vcodec=mp2v,vb=2048,acodec=a52,ab=384,audio-sync,samplerate=48000,fps=30}:std{access=http,dst=:9028,mux=ps}'
[00000311] main input error: cannot start stream output instance, aborting

Any ideas?


----------



## jwagner010

I figured out my error above and vlc is now transcoding my stream and things are working fine..... when I start HMEVLC through a terminal window. I then wrote a start up script that would start HMEVLC on my NAS at boot time so that I don't need a terminal window open on my PC. HMEVLC starts fine under this method except anything requiring vlc no longer works again. Below is my start up script. Any thoughts appreciated.



Code:


#!/bin/sh
#
# Startup script for HMEVLC.. put in /usr/local/etc/rc.d

HMEFORPYTHON=/usr/local/hmeforpython/start.py

case "$1" in

start)
	if [ -x "$HMEFORPYTHON" ] ; then
		sleep 60
		echo "Starting HME for Python..."
		cd usr/local/hmeforpython
		/opt/bin/python /usr/local/hmeforpython/start.py > /dev/null 2>&1 &
	fi
	;;

stop)
	echo "Stopping HME for Python......."
	kill -9 `ps |grep hmeforpython/start.py | awk -F" " '{print $1}'` > /dev/null 2>&1
	;;

*)
	echo "usage: $0 { start | stop }" >&2
	exit 1
	;;

esac


----------



## lrhorer

jwagner010 said:


> I figured out my error above and vlc is now transcoding my stream and things are working fine..... when I start HMEVLC through a terminal window. I then wrote a start up script that would start HMEVLC on my NAS at boot time so that I don't need a terminal window open on my PC. HMEVLC starts fine under this method except anything requiring vlc no longer works again. Below is my start up script. Any thoughts appreciated.
> 
> 
> 
> Code:
> 
> 
> #!/bin/sh
> #
> # Startup script for HMEVLC.. put in /usr/local/etc/rc.d
> 
> HMEFORPYTHON=/usr/local/hmeforpython/start.py
> 
> case "$1" in
> 
> start)
> if [ -x "$HMEFORPYTHON" ] ; then
> sleep 60
> echo "Starting HME for Python..."
> cd usr/local/hmeforpython
> /opt/bin/python /usr/local/hmeforpython/start.py > /dev/null 2>&1 &
> fi
> ;;
> 
> stop)
> echo "Stopping HME for Python......."
> kill -9 `ps |grep hmeforpython/start.py | awk -F" " '{print $1}'` > /dev/null 2>&1
> ;;
> 
> *)
> echo "usage: $0 { start | stop }" >&2
> exit 1
> ;;
> 
> esac


I suggest not re-directing to /dev/null. Instead, I would not employ a redirection in the init script, at all. What I do is call a startup script from the init script. That way the init script should never hang the system. Then in the startup script, I redirect the output to a log file, rather than /dev/null using nohup. I'm not familiar enough with Red Hat derivatives to know for sure, but in the Debian System V init every init script is supposed to terminate. Even if it is not the case on your system, it is a good idea to make sure the init scripts do terminate. For more specific info, may I suggest you see this thread. You'll see some of the init and startup scripts I created there.

The other issue could be vlc. I know it does not like running as root, which probably is the case with your script. Redirecting to a log file will help determine if this is the case. You might need to implement a sudo in the calling script.


----------



## jwagner010

Yes appears to have the issue of vlc running as root. I am not familiar with sudo any examples of how this would look in the script?



lrhorer said:


> I suggest not re-directing to /dev/null. Instead, I would not employ a redirection in the init script, at all. What I do is call a startup script from the init script. That way the init script should never hang the system. Then in the startup script, I redirect the output to a log file, rather than /dev/null using nohup. I'm not familiar enough with Red Hat derivatives to know for sure, but in the Debian System V init every init script is supposed to terminate. Even if it is not the case on your system, it is a good idea to make sure the init scripts do terminate. For more specific info, may I suggest you see this thread. You'll see some of the init and startup scripts I created there.
> 
> The other issue could be vlc. I know it does not like running as root, which probably is the case with your script. Redirecting to a log file will help determine if this is the case. Yoou might need to implement a sudo in the calling script.


----------



## lrhorer

sudo -u <user> <command>

You could run the startup script with sudo from the init script, but if it were me, I think I would do something like

nohup sudo -u <user> /opt/bin/python /usr/local/hmeforpython/start.py

from within the startup script.


----------



## jwagner010

Thanks I will try it this weekend. I heard sudo will only temporarily (15 minutes) keep a session/process alive under the alternate user profile and then terminate the session/process. Does the nohup prevent this from occurring?


----------



## lrhorer

Well, I can't speak for every version of sudo or login, but a non-interactive shell should not time out. You might try `su -c <command> <user>`, instead of sudo. I can't speak authoritatively for your system, but nohup really should not make a difference either way. Nohup disinherits a process from its ordinary parent and causes init to adopt it. Thus, you can see here:



Code:


RAID-Server:/usr/share/sensors# /etc/init.d/pyTivo restart
Restarting pyTivo Multimedia Server: pyTivo.
RAID-Server:/usr/share/sensors# ps -ef | grep pyT
root     29042     1  3 20:39 pts/4    00:00:00 /usr/bin/python2.6 /usr/share/pyTivo/pyTivo.py
RAID-Server:/usr/share/sensors# echo $$
3960

The pyTivo process is owned by PID 1, not the current shell (PID 3960 in this case). It should also cause the process to ignore a HUP (-1) signal. I believe it will still respond to all other signals in whatever fashion it has been designed to do. The Term signal (-15) should work normally, and the Kill signal (-9) cannot be blocked, so it should definitely work normally. (This is why the nohup command should not prevent sudo or login from killing an inactive shell.)

Edit:

Come to think if it, since this is going to be run from an init script, the daemon startup utility in your system should have an option to run as another user. In Debian derivatives, the start-stop-daemon utility simply uses the -c <user> option to accomplish this. The equivalent utility may be startproc -u <user> or something similar on your system. You still should use nohup, re-directing the output (both stdout and stderr) to either /dev/null or a log file, and terminate the line with "&" in order to spawn the utility in the background.


----------



## lrhorer

Oh, BTW, kill -9 is generally a rather nasty thing to do, and should be reserved for times when a process is well and truly hung. A much better practice for stopping well behaved processes in general is to use the TERM signal (-15), rather than the KILL signal (-9). It produces an orderly shutdown of the process and its children.


----------



## jwagner010

Thanks lrhorer, I could not get sudo to work from a rc.d script, it would work from the command line but not the script, so after pulling out my remaining hair I tried su and that got HMEVLC up and running using a rc.d script but vlc is now erroring out when starting a stream that requires vlc when I start HMEvlc through the script with su (ps if I start hmevlc at the command line using su things work fine with streams requiring vlc ??). I will look at my stdout and stderr file over the weekend to see if it provides any hints for what is going on. Appreciate the tip on kill -15.


----------



## lrhorer

Is there a startproc or start-stop-daemon binary on the system? If not, check out some of the other init scripts that start daemons and see how they daemonize the utilities.


----------



## jwagner010

Okay did some testing this morning before coming into work. My STDOUT and STDERR log is below. I start HMEVLC using the script with su as discussed above. The first time I try and stream a video requiring vlc to transcode I get the output below (see Try 1) in my STDOUT/STDERR log. From a HMEVLC perspective on the Tivo it just hangs. I then get out of HMEVLC on the Tivo, go back into HMEVLC and try and stream the same video and it comes back and says error trying to read the stream (as opposed to hanging) and get the following output below (see Try 2) in my STDOUT/STDERR log.

Also please note I use dbus-launch in vlc.py as this is running on a NAS. Finally if I start HMEVLC from the command line versus my init script using su things work fine. Not sure if any one has any further ideas?



Code:


Try 1-----------------------------------------------------------------------------------------------------------------------

192.168.0.4:53966 - - [21/Dec/2012 06:16:30] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.0.4:53966 - - [21/Dec/2012 06:16:30] Starting HME: hmevlc
Traceback (most recent call last):
  File "/opt/lib/python2.6/SocketServer.py", line 560, in process_request_thread
    self.finish_request(request, client_address)
  File "/opt/lib/python2.6/SocketServer.py", line 322, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/hmeforpython/start.py", line 141, in __init__
    client_address, server)
  File "/opt/lib/python2.6/SocketServer.py", line 617, in __init__
    self.handle()
  File "/opt/lib/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/opt/lib/python2.6/BaseHTTPServer.py", line 323, in handle_one_request
    method()
  File "/usr/local/hmeforpython/start.py", line 232, in do_GET
    self._page(True)
  File "/usr/local/hmeforpython/start.py", line 186, in _page
    appinst.mainloop()
  File "/usr/local/hmeforpython/hme.py", line 1139, in mainloop
    while self.active and self.get_event():
  File "/usr/local/hmeforpython/hme.py", line 1236, in get_event
    handle(resource, status, info)
  File "/usr/local/hmeforpython/hmevlc/hmevid.py", line 220, in handle_resource_info
    self.retry_or_quit()
  File "/usr/local/hmeforpython/hmevlc/hmevid.py", line 206, in retry_or_quit
    self.start_vlc()
  File "/usr/local/hmeforpython/hmevlc/hmevid.py", line 80, in start_vlc
    vlc.start(self.item['url'])
  File "/usr/local/hmeforpython/hmevlc/vlc.py", line 77, in start
    pid = subprocess.Popen(['dbus-launch', vlcpath, url, '-I', 'dummy', '-V', 'dummy', '--sout', PARAMS % globals()]).pid
  File "/opt/lib/python2.6/subprocess.py", line 623, in __init__
    errread, errwrite)
  File "/opt/lib/python2.6/subprocess.py", line 1141, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory


Try 2-----------------------------------------------------------------------------------------------------------------------

192.168.0.4:38917 - - [21/Dec/2012 06:28:52] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.0.4:38917 - - [21/Dec/2012 06:28:52] Starting HME: hmevlc
192.168.0.4:38917 - - [21/Dec/2012 06:29:27] Ending HME: hmevlc

PS. Is it normal that the port changed between try 1 and try 2?


----------



## wmcbrine

jwagner010 said:


> File "/opt/lib/python2.6/subprocess.py", line 1141, in _execute_child
> raise child_exception
> OSError: [Errno 2] No such file or directory


Well, that seems pretty clear-cut. It's not finding your VLC. Again.



> _PS. Is it normal that the port changed between try 1 and try 2?_


Yes.


----------



## jwagner010

Ok appears my problem was not using full path for dbus, ie /opt/bin/dbus-launch in the python code.


----------



## jwagner010

I finally got things (mostly) working and now use HMEVLC to view a couple of Foscam Cameras I have in the house as a baby monitor. I thought I would document my installation mods to make this work on a Synology NAS in case others have a similar issue (as well to document it in case I have to repeat the install one day!!):

*1. Install VLC on the Synology NAS*: The easiest way to do this is to bootstrap ipkg onto the Synology machine and then install vlc (see Synology wiki and forums for help with this).

*2. Install python using ipkg or one of the Synology packages.*

*3. Install the HMEVLC python modules per the instructions at:* https://github.com/wmcbrine/hmevlc

*4. Add a line to config.ini under [hmevlc] telling HMEVLC to use cvlc versus vlc as this is a headless NAS:* vlc=/opt/bin/cvlc

*5. Set up scripts to automatically start HMEVLC:*
Add the following script to /usr/local/etc/rc.d


Code:


#!/bin/sh
#
# Startup script for HME for Python

HMEFORPYTHON=/usr/local/hmeforpython/start.py

case "$1" in

start)
	if [ -x "$HMEFORPYTHON" ] ; then
		sleep 30
		echo "Starting HME for Python..."
		su admin -c sh -c '/usr/bin/nohup /usr/local/hmeforpython/hmeforpython_start.sh > /usr/local/hmeforpython/scrpt_log 2>&1 &'
	fi
	;;

stop)
	echo "Stopping HME for Python......."
	kill -9 `ps |grep hmeforpython/start.py | awk -F" " '{print $1}'` > /dev/null 2>&1
	;;

*)
	echo "usage: $0 { start | stop }" >&2
	exit 1
	;;

esac

The script above uses su to run under user admin as vlc will not work under root. Then add the following script at /usr/local/hmeforpython which is where I keep my hmevlc python files and scripts:


Code:


cd /usr/local/hmeforpython
/opt/bin/python /usr/local/hmeforpython/start.py > /usr/local/hmeforpython/hmevlc_log 2>&1 &


*6. Change vlc.py [both start () and stop()] so that it launches vlc using dbus and it terminates the vlc pid versus the dbus pid:*


Code:


def start(url):
    """ Increment the client count, and start VLC if this is the first
        client.

    """
    global client_count, pid
    client_count += 1
    if client_count == 1:
	pid = subprocess.Popen(['/opt/bin/dbus-launch', vlcpath, url, '-I', 'dummy', '-V', 'dummy', '--sout', PARAMS % globals(), 
':sout-mux-caching=150000', '--sout-keep']).pid
        # Give VLC a little time to start up before the request.
	time.sleep(2)

def stop():
    """ Decrement the client count, and stop VLC if this was the last
        client.

    """
    global client_count, pid
    if client_count:
        client_count -= 1
        if not client_count:
            if sys.platform == 'win32':
                import ctypes
                handle = ctypes.windll.kernel32.OpenProcess(1, False, pid)
                ctypes.windll.kernel32.TerminateProcess(handle, -1)
                ctypes.windll.kernel32.CloseHandle(handle)
            else:
                import os
                import signal
                os.kill(pid, signal.SIGINT)
                vlcpidps = subprocess.Popen(['ps', '-w'], stdout=subprocess.PIPE)
		out, err = vlcpidps.communicate()
		for line in out.splitlines():
  			if 'vlc' in line:
				vlcpid = int(line.split(None, 1)[0])
				os.kill(vlcpid, signal.SIGKILL)


I am sure my stop () vlc code is probably heavy handed but it works and I am not a python programmer so best I can do, as I said it works. I also mentioned at the start of the post that it mostly works. *My remaining issue is that the stream will freeze after a few minutes, I suspect this is a vlc issue as my log shows vlc working and providing a stream and my NAS only maxes out at 16% CPU use but it is frozen when watching on the Tivo, see log below*:



Code:


[00000001] main libvlc debug: translation test: code is "C"
[00000361] dummy interface: using the dummy interface module...
[00000377] main access out: creating httpd
[00000381] mux_ps mux: Open


I am running vlc 0.9.9a-2 which I know is an old version but that is what is installed when using the Synology ipkg Package Management system unfortunately. * If someone can confirm this is definitely a vlc issue I might spend the time trying to compile a later version of vlc but right now I only need to watch the cameras for a minute at a time so will only try and compile a new version of vlc if I am sure it will fix the remaining issue.*

Thanks for the help and support on getting this far.


----------



## jwagner010

Looking for some guidance on editing the HMEVLC python code to enable me to use HMEVLC to stream output from a number of new IP video cameras I now have attached to my home network to my Tivo using HMEVLC. I have the URL to add to the config.ini file along the lines of: http://ipaddress: port/url-stream/cameraName that provides me access to the camera stream and I have added it to the HMEVLC config file.

My problem is my cameras require a separate http url / get command to authenticate myself to the camera before the previous URL will work, along the lines of: http://ipaddress:port/url-authitcation/cameraName&usr=USERID&pwd=PASSWORD .

How can I edit the Python code to do the authentication call before it calls for the stream. Ultimately I would like to add a line to the config.ini file along the lines of 'authneeded=http://ipaddress:port/url-authitcation/cameraName&usr=USERID&pwd=PASSWORD' for each stream needing authentication and then change the Python code to issue the authentication get/http command if required per the config.ini file.

Any thoughts on where to start? I am a complete Python novice so go easy on me.


----------



## grantsa4

Does anyone have a list of the rss feeds they use?


----------



## wr0ngway

Anyone know if this will stream to a tivo mini? I already have pytivo+vidmgr setup to push video to a Roamio, from which I can view it on the mini, but it would be nice to skip that step.


----------



## moyekj

No. HME "streaming" in general doesn't work for a Mini since it's actually copying instead of streaming and the Mini doesn't have video buffer for it.


----------



## wr0ngway

Ok, thanks, I take it no one has reverse engineered the Tivo mini streaming protocol yet? It really surprises me that tivo just doesn't open up those protocols to give people more reasons to use and keep using Tivos as the gateway to the TV


----------



## lrhorer

wr0ngway said:


> Ok, thanks, I take it no one has reverse engineered the Tivo mini streaming protocol yet? It really surprises me that tivo just doesn't open up those protocols to give people more reasons to use and keep using Tivos as the gateway to the TV


If they did that, they would lose their CableLabs certaification, which would effectively put them out of business. If that stream is not secure, then there is nothing preventing a developer from decrypting it and saving it to disk. DRM rules the world.


----------



## wmcbrine

It would be possible for TiVo to provide the specs without giving up the DRM, such that an unencrypted server could be implemented, for example. But I'm not holding my breath.


----------



## BiloxiGeek

Trying to set this up to feed an IP camera stream. The camera works from vlc using "rtsp://<ip address>/0". I tried setting that in the config.ini but I get a traceback on the console where I started the app, and the TiVo tells me "The requested application is currently unavailable. (V301)"

Traceback:


Code:


[[email protected] vid-stream]# ./start.py 
HME Server for Python 0.18
Fri Mar 28 14:44:42 2014 Server Starts
Registering: hmevlc
192.168.1.203 - - [28/Mar/2014 14:44:47] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.1.203 - - [28/Mar/2014 14:44:47] Starting HME: hmevlc
----------------------------------------
Exception happened during processing of request from ('192.168.1.203', 34934)
Traceback (most recent call last):
  File "/usr/lib64/python2.7/SocketServer.py", line 593, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "./start.py", line 139, in __init__
    client_address, server)
  File "/usr/lib64/python2.7/SocketServer.py", line 649, in __init__
    self.handle()
  File "/usr/lib64/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib64/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
    method()
  File "./start.py", line 230, in do_GET
    self._page(True)
  File "./start.py", line 184, in _page
    appinst.mainloop()
  File "/export/data/vid-stream/hme.py", line 1120, in mainloop
    while self.active and self.get_event():
  File "/export/data/vid-stream/hme.py", line 1173, in get_event
    handle(keynum, rawcode)
  File "/export/data/vid-stream/apples/listview.py", line 205, in handle_key_press
    self.app.set_focus(self.app)
  File "/export/data/vid-stream/hme.py", line 1292, in set_focus
    getattr(focus, 'handle_focus')(True)
  File "/export/data/vid-stream/hmevlc/__init__.py", line 313, in handle_focus
    s['func'](s)
  File "/export/data/vid-stream/hmevlc/__init__.py", line 266, in new_menu_rss
    feed = urllib.urlopen(rss_item['rss'])
  File "/usr/lib64/python2.7/urllib.py", line 87, in urlopen
    return opener.open(url)
  File "/usr/lib64/python2.7/urllib.py", line 208, in open
    return getattr(self, name)(url)
  File "/usr/lib64/python2.7/urllib.py", line 352, in open_http
    'got a bad status line', None)
IOError: ('http protocol error', 0, 'got a bad status line', None)
----------------------------------------

Is there a way to get the rtsp stream to show up on the TiVo? My TiVo is an HD, TSN758.

I tried running the HME/VLC app as root on a Fedora 20 system. I tried running as a normal user but it wouldn't start up, I do know vlc does not like to run as root in Fedora 20 so maybe there's an issue there.

I cleaned out all the feeds in config.ini for testing and added just one that I thought might work for my camera:


Code:


[Front Cam]
rss=http://192.168.1.231:554/0
needs_vlc=True

I did try using "rss=rtsp://192.168.1.231/0" in the config.ini, got a similar traceback, the last bit said "Unknow url type: 'rtsp'".


----------



## wmcbrine

BiloxiGeek said:


> Trying to set this up to feed an IP camera stream. The camera works from vlc using "rtsp://<ip address>/0".
> 
> 
> Code:
> 
> 
> [Front Cam]
> rss=http://192.168.1.231:554/0
> needs_vlc=True


You're not setting up an RSS feed, so use "url" instead of "rss".



Code:


[Front Cam]
url=rstp://192.168.1.231/0
needs_vlc=True


----------



## BiloxiGeek

Awesome, I didn't pay attention the examples you put in the config file. I do get one error/warning that looks like it might need some tweaking:



Code:


Registering: hmevlc
192.168.1.200 - - [28/Mar/2014 15:11:50] "GET /hmevlc/ HTTP/1.1" 200 -
192.168.1.200 - - [28/Mar/2014 15:11:50] Starting HME: hmevlc
VLC media player 2.1.4 Rincewind (revision 2.1.4-0-g2a072be)
[0x7de248] dummy interface: using the dummy interface module...
[0x7fcdf04c8ab8] mux_ps mux: Open
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size exceeds the client's buffer size (100000).  95943 bytes of trailing data will be dropped!
[h264 @ 0x7fcdec011b80] Invalid level prefix
[h264 @ 0x7fcdec011b80] error while decoding MB 75 35
[h264 @ 0x7fcdec011b80] concealing 3934 DC, 3934 AC, 3934 MV errors in I frame
192.168.1.200 - - [28/Mar/2014 15:13:19] Ending HME: hmevlc
[0x7fcdf04c8ab8] mux_ps mux: Close

The buffer size bit, is that on the TiVo side or the Linux side of things? My camera runs 1920x1080 at 10 fps. It's a Grandstream GXV-3672-FHD.


----------



## wmcbrine

BiloxiGeek said:


> The buffer size bit, is that on the TiVo side or the Linux side of things?


It's an error message from VLC, which is talking directly to your camera. Apparently there's something VLC doesn't like about the camera's stream. I doubt that either of us can fix that.


----------



## BiloxiGeek

wmcbrine said:


> It's an error message from VLC, which is talking directly to your camera. Apparently there's something VLC doesn't like about the camera's stream. I doubt that either of us can fix that.


Ok, is there some documentation for all the options in config.ini? I didn't see any so far.

I did change the name that appears on the TiVo menu, could that be set from the config.ini?


----------



## wmcbrine

BiloxiGeek said:


> I did change the name that appears on the TiVo menu, could that be set from the config.ini?


No.


----------



## dantruong

Follow me, I have 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?
Xem thêm >> Đăng ký mạng internet fpt Sơn La
*Đăng ký lap internet fpt tan phu khuyến mãi tháng 2/2017*

FPT Telecom Tân Phú trực thuộc trung tâm giao dịch Fpt Tân Phú 2A Vườn Lài chi nhánh FPT HCM quản lý bao gồm. Hiện nay, trên địa bàn lap internet fpt tan binh lắp mạng fpt tân bình - đăng ký internet fpt tân bình, tp Hồ Chí Minh chi tiết >>> lắp mạng fpt tân bình - đăng ký internet fpt tân bình, tp Hồ Chí Minh ở Tân Phú đã được quang hóa hết toàn bộ, do đó khi khách hàng đăng ký Internet Fpt sẽ
được cung cấp đường truyền cáp quang lap internet fpt quan 3 lắp mạng fpt quận 3 - đăng ký internet fpt quận 3, tp hồ chí minh tốc độ cao có thể lên đến 80Mbps.
Cáp quang FPT.Quận Tân Phú đang có chương trình khuyến mãi lap internet fpt quan 3 hấp dẫn dành cho khách hàng đăng ký dịch vụ. Miễn phí.lắp đặt internet Fpt, miễn phí modem Wifi 4 cổng dành cho khách hàng lap internet fpt phu nhuan trả trước 12 tháng cước. Giảm cước liên tục 24








tháng.
Năm 2003, quận Tân Phú lap internet fpt go vap lắp mạng fpt gò vấp - đăng ký lắp đặt internet fpt gò vấp, hồ chí minh cũng đã được hình thành cách đây hơn 50 năm, khi đó Tân Phú là một xã của quận Tân Bình xưa.
FPT Quận Tân Phú giáp ranh các quận: Đông giáp FPT Quận Tân Bình, ranh giới là đường Trường Chinh và Âu Cơ. Tây
giáp FPT Quận Bình Tân, ngăn cách bởi đường Bình Long và kinh 19 tháng 5. Nam giáp FPT Quận 6, FPT Quận 11. Bắc
giáp dich vu lap internet fpt thu duc cho khach hang.

Một số thông tin mạng xã hội liên quan đến mạng fpt Tân Bình.
http://heaveniphone.com/threads/235...au-y-tuong-iphone-7-giet-nguoi-chac-chot.html
Lắp Đặt Camera Sơn Tây - MikroTik
Lắp Đặt Camera Phú Nhuận, TP Hồ Chí Minh Giá Rẻ • mozillaZine Forums
Lắp Mạng Internet FPT Phú Xuyên - Hà Nội
Đăng Ký lắp Đặt Camera Tân Bình, Tp Hồ Chí Minh • mozillaZine Forums
Du Lịch | | HighExistence
http://heaveniphone.com/threads/260...-iphone-6s-dung-chip-samsung-pin-yeu-hon.html
Lắp Mạng Internet FPT Phúc Thọ, Tp hà nội
Kinh Nghiệm Du Lịch Thái Lan Tự Túc Mới Nhất Cho Du Khách. | Facebook
Beckham David (phamtien79) on Pinterest


----------



## wmcbrine

It's been a while since I messed with it, but AFAIK it should work now. (?) Those incompatibilities (due to regressions in VLC) were a long time ago. But anyway, the incompatible versions of VLC will forever remain incompatible, because they broke the fundamental capabilities required for HME/VLC to work.

I'll try to get around to providing an update sometime in the not too distant future, after testing. Meanwhile, try the latest source from git if the last release doesn't work.

My biggest reason for lack of motivation on this project is that streams everywhere have been shut down in favor of inaccessible Flash-based players.


----------



## BiloxiGeek

Just noticed that when I stream one of my surveillance cams the image on the TiVo is cropped a bit. The camera puts out a 1920x1088 image, and I'm missing a bit around the whole thing. Is there anything I can do about that?


----------



## wmcbrine

Turn off the overscan on your TV?


----------



## davidblackledge

wmcbrine said:


> My biggest reason for lack of motivation on this project is that streams everywhere have been shut down in favor of inaccessible Flash-based players.


Ok, here's some motivation, maybe.

I don't know that much about HME/VLC, but I think it's the right target for my idea.

Here's my thought:
Enter Webz is limited to video streaming that the built-in Video Player can handle. I believe HME/VLC can handle most any video stream (apparently including the rtsp stuff that EWz doesn't even try to handle in any way).

If I provide users who have installed HME/VLC the ability to identify where it is installed on their local network, I should be able to launch HME/VLC from EWz by using that local URL (since the TiVo, on the same network, does the actual launching).

If HME/VLC is updated to accept the same arguments as the Video Player, and immediately starts playing that transcoding video stream, suddenly EWz supports all video it can come across thanks to a more capable video playing app.

_I hope to provide a simple proxy program to similarly handle https media URLs and for automatic conversion and possibly resizing of image content. Instead of my public server doing the heavy lifting and data transfer, the user's home computer does that part once EWz is configured to point media URLs at it._

... or do you think it would be better to try to get Streambaby as the video player somehow and leave HME/VLC alone (I don't think it's set up to handle URL content yet, though).


----------



## Allanon

I would suggest adding Livestreamer to HME/VLC. This program makes it so you don't have to worry about finding the video URL from the web page. It can accept normal web page URLs from YouTube, Twitch.tv, Dailymotion, Livestream, plus many more sites then pipes the video to VLC. It can be configured to have VLC stream the transcoded video to a port on the local network just like HME/VLC does. It's a command-line tool so it's easy to execute and control from your program. I use this command-line to watch videos using HME/VLC:



Code:


livestreamer.exe URL best -p "'C:\Program Files (x86)\VideoLAN\VLC\vlc.exe' --sout=#transcode{vcodec=mp2v,vb=2048,acodec=a52,ab=384,audio-sync,samplerate=48000,fps=30}:std{access=http,dst=:9044,mux=ps}"

Plus there is a pass-through option that will pass the video URL to VLC and let it handle it. So you can play any video VLC accepts.


----------



## az1097

Does the HME/VLC support srt files?


----------



## wmcbrine

Nope. That's something I'd like to do if I ever revive this program.


----------



## az1097

wmcbrine said:


> Nope. That's something I'd like to do if I ever revive this program.


I've used Streambaby which supports srt files, but unfortunately recently it just would not work, it shows in the Tivo Apps but when selected, "One Moment" is displayed until Tivo shows error "v301". Any suggestions in order to fix this issue? Thanks.


----------



## wmcbrine

az1097 said:


> I've used Streambaby which supports srt files, but unfortunately recently it just would not work, it shows in the Tivo Apps but when selected, "One Moment" is displayed until Tivo shows error "v301". Any suggestions in order to fix this issue? Thanks.


Streambaby thread is over here --> http://www.tivocommunity.com/tivo-vb/showthread.php?t=416858


----------

