TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Main TiVo Forums > TiVo Home Media Features & TiVoToGo
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 12-03-2008, 08:56 AM   #121
leenuxg33k
Registered User
 
Join Date: Dec 2007
Posts: 10
Quote:
Originally Posted by grantsa4 View Post
Yip, still same problem. Any advice on what to check network wise?
Make sure you don't have a firewall that is blocking it.
__________________
TivoHD and Series 1 Tivo.
leenuxg33k is offline   Reply With Quote
Old 12-03-2008, 09:13 AM   #122
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
If I have a firewall setup, do I just need to open those 2 ports?
grantsa4 is offline   Reply With Quote
Old 12-03-2008, 09:23 AM   #123
leenuxg33k
Registered User
 
Join Date: Dec 2007
Posts: 10
Quote:
Originally Posted by grantsa4 View Post
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.
__________________
TivoHD and Series 1 Tivo.
leenuxg33k is offline   Reply With Quote
Old 12-03-2008, 09:26 AM   #124
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
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.
grantsa4 is offline   Reply With Quote
Old 12-03-2008, 11:26 AM   #125
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,763
No. Port forwarding is to allow in traffic from the wider Internet.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 12-03-2008, 11:34 AM   #126
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
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?

Last edited by grantsa4 : 12-03-2008 at 11:41 AM.
grantsa4 is offline   Reply With Quote
Old 12-03-2008, 10:21 PM   #127
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
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.
grantsa4 is offline   Reply With Quote
Old 12-04-2008, 08:53 AM   #128
Laserfan
Registered User
 
Join Date: Apr 2000
Location: USA
Posts: 402
Quote:
Originally Posted by grantsa4 View Post
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...
__________________
TiVo Series3 (v11.0d-01-2-648)
TiVo HD (v11.0d-01-2-648)
Philips HDR312 Standalone (v3.0) RETIRED-RIP
Laserfan is offline   Reply With Quote
Old 12-04-2008, 08:58 AM   #129
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
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 is offline   Reply With Quote
Old 12-05-2008, 09:10 AM   #130
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
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?
grantsa4 is offline   Reply With Quote
Old 12-05-2008, 05:59 PM   #131
Laserfan
Registered User
 
Join Date: Apr 2000
Location: USA
Posts: 402
Quote:
Originally Posted by grantsa4 View Post
Finally got it to work
How?
__________________
TiVo Series3 (v11.0d-01-2-648)
TiVo HD (v11.0d-01-2-648)
Philips HDR312 Standalone (v3.0) RETIRED-RIP
Laserfan is offline   Reply With Quote
Old 12-05-2008, 09:15 PM   #132
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
I made a change to my firewall
grantsa4 is offline   Reply With Quote
Old 12-05-2008, 10:16 PM   #133
Laserfan
Registered User
 
Join Date: Apr 2000
Location: USA
Posts: 402
Quote:
Originally Posted by grantsa4 View Post
I made a change to my firewall
Thanks for reporting!
__________________
TiVo Series3 (v11.0d-01-2-648)
TiVo HD (v11.0d-01-2-648)
Philips HDR312 Standalone (v3.0) RETIRED-RIP
Laserfan is offline   Reply With Quote
Old 12-06-2008, 08:47 AM   #134
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
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?
grantsa4 is offline   Reply With Quote
Old 12-14-2008, 12:20 PM   #135
MelSmith
Registered User
 
Join Date: May 2008
Posts: 11
Question More hacks for reference

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('%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:
  1. 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.
  2. 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.

Attached Files
File Type: zip hme-vlc-2.6hack.zip (50.9 KB, 18 views)

Last edited by MelSmith : 12-24-2008 at 11:16 AM.
MelSmith is offline   Reply With Quote
Old 12-17-2008, 07:33 PM   #136
goodtrips
Registered User
 
Join Date: Jan 2007
Posts: 41
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...
goodtrips is offline   Reply With Quote
Old 12-25-2008, 12:04 PM   #137
texaslabrat
Registered User
 
Join Date: Oct 2007
Location: Austin, TX
Posts: 61
Quote:
Originally Posted by goodtrips View Post

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
texaslabrat is offline   Reply With Quote
Old 01-06-2009, 01:13 AM   #138
Allanon
Registered User
 
Join Date: Nov 2005
Posts: 494
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....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.

Last edited by Allanon : 01-06-2009 at 02:29 AM.
Allanon is offline   Reply With Quote
Old 01-06-2009, 05:44 AM   #139
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,763
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.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 01-06-2009, 07:01 AM   #140
Allanon
Registered User
 
Join Date: Nov 2005
Posts: 494
Quote:
Originally Posted by wmcbrine View Post
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.

Last edited by Allanon : 01-06-2009 at 08:45 AM.
Allanon is offline   Reply With Quote
Old 01-06-2009, 11:33 AM   #141
Allanon
Registered User
 
Join Date: Nov 2005
Posts: 494
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.
Attached Files
File Type: zip __init__.zip (2.5 KB, 14 views)

Last edited by Allanon : 01-06-2009 at 12:15 PM.
Allanon is offline   Reply With Quote
Old 01-07-2009, 10:34 PM   #142
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,763
Ah, I see now. Cool stuff... good job.

Quote:
Originally Posted by Allanon View Post
BTW, page up and down is broken.
Yeah.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 01-08-2009, 12:03 PM   #143
Allanon
Registered User
 
Join Date: Nov 2005
Posts: 494
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.
Attached Files
File Type: zip __init__.zip (2.9 KB, 13 views)

Last edited by Allanon : 01-08-2009 at 02:41 PM. Reason: fix problem with file
Allanon is offline   Reply With Quote
Old 01-08-2009, 07:05 PM   #144
grantsa4
Registered User
 
Join Date: Jun 2007
Posts: 139
Thanks for all the hard work Allanon. The Sports and Hobby videocast and the Technology videocast would be a great addition.

Thanks
grantsa4 is offline   Reply With Quote
Old 01-08-2009, 08:54 PM   #145
Allanon
Registered User
 
Join Date: Nov 2005
Posts: 494
Quote:
Originally Posted by grantsa4 View Post
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.
Allanon is offline   Reply With Quote
Old 01-09-2009, 07:06 AM   #146
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,763
Version 2.7

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

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

Last edited by wmcbrine : 01-12-2009 at 04:15 AM.
wmcbrine is offline   Reply With Quote
Old 01-09-2009, 10:40 AM   #147
Allanon
Registered User
 
Join Date: Nov 2005
Posts: 494
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.
Allanon is offline   Reply With Quote
Old 01-09-2009, 12:04 PM   #148
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,763
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.
__________________

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

Last edited by wmcbrine : 01-09-2009 at 12:23 PM.
wmcbrine is offline   Reply With Quote
Old 01-12-2009, 04:27 AM   #149
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,763
Version 3.0

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

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 01-12-2009, 05:53 AM   #150
Allanon
Registered User
 
Join Date: Nov 2005
Posts: 494
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?

Last edited by Allanon : 01-12-2009 at 05:57 PM.
Allanon is offline   Reply With Quote
Reply
Forum Jump




Thread Tools


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

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

Advertisements

TiVo Community
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2013 Magenium Solutions - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVoŽ is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 07:42 AM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |