View Full Version : [plugin] BTV Recorded Shows (Jan 10 Update)
SSDNAdmin
11-29-2004, 02:16 PM
Author: Brett (http://forums.snapstream.com/vb/private.php?do=newpm&u=2768)
Short Description: Implemented 'Video folders' into a BM plugin!
Version Number: 0.3.5.0
Status: Stable
Last Updated: 11/28/04
Homepage:
Installation Instructions:Double-click on VideoFolders.bmplugin
http://www.snapstream.com/ssdn/submissions/brett/recordedshows_detailView.JPG
http://www.snapstream.com/ssdn/submissions/brett/recordedshows_episodeView.jpg
http://www.snapstream.com/ssdn/submissions/brett/recordedshows_seriesview.jpg
Release Notes:
FEATURES:
You can view playback details (although dates need to be parsed correctly)
You can delete shows (WARNING: NO PROMPT!)
When shows are viewed, they are marked 'watched' within BTV
Implemented MY FAVORITE Horizontal Scrolling!
---->In episode list view, scroll left/right changes series
---->In episode details, scroll left/right changes episode
---->In movie details, scroll left/right changes movies
TO BE DONE:
Need to parse dates correctly, plus fix (MM/DD) to be actual month/day
Need to implement prompt for delete
Need to customize hud to display episode details
Need to create method for handling BTV passwords
KNOWN BUGS:
Will NOT playback shows on clients using BTV Link + Beyond Media.
Will NOT WORK if you are using a different PORT
Will NOT WORK if you are using a password (this will be fixed by me)
NEW: BeyondTV MUST BE loaded before BeyondMedia. (this will be fixed by me)
(MM/DD) is displayed instead of Month/Day I just need to parse dates.
Will not playback shows currently recording (I may try to fix this)
Open source, have fun, good luck.
LATEST FIXES:
Added Video Hud. Need to customize it though.
Works with SmartChapters now.
License: Free
Requirements: Beyond Media v1.0 + Beyond TV v3.5
Title: Recorded Shows
PLEASE NOTE: I AM ACTIVELY DEVELOPING OTHER PLUGINS NOW, IF YOUR INTERESTED IN MODIFYING THIS MODULE, I WILL BE GLAD TO HELP YOU GET STARTED. IT IS JUST AN EXAMPLE TO DEMOSTRATE WHAT IS POSSIBLE WITH BOTH THE BTV API AND BEYONDMEDIA SDK! HOWEVER, FEEDBACK IS ALWAYS WELCOME!
Download VideoFolders.bmplugin (http://www.snapstream.com/ssdn/submissions/Brett/VideoFolders.bmplugin)
Download VideoFolders.zip (http://www.snapstream.com/ssdn/submissions/Brett/VideoFolders.zip)
Edgarmoon
12-01-2004, 01:00 PM
Great plugin, only drawback is Btv has to be completely loaded before you start BM in order for this plugin to load. That makes it impossible to have BM automatically load when windows starts. If you could have it load and refresh, then we can setup BM and BTV both to load on windows start.
If there was a program guide companion as well, BM could effectively become the viewing front end of BTV.
Brett
12-01-2004, 01:26 PM
Great plugin, only drawback is Btv has to be completely loaded before you start BM in order for this plugin to load. That makes it impossible to have BM automatically load when windows starts.GOOD BUG! I did not notice this! I can throw in some "try/catch" statements after finals (next week) that fixes this, should be pretty easy.
If there was a program guide companion as well, BM could effectively become the viewing front end of BTV.Well, actually... ;). Nevermind, I ain't saying anything on that yet. However, I do have the basics done for a "guide search" module. I will likely post a finished one over the holiday break. That should help a bit.
-Brett
Edgarmoon
12-01-2004, 05:30 PM
You're awesome Brett. Now if I culd just talk you into inserting an animated gif image into the weather module we can assign satelite or dopplerimages to...
Brett
12-01-2004, 07:31 PM
You're awesome Brett. Now if I culd just talk you into inserting an animated gif image into the weather module we can assign satelite or dopplerimages to...Well, actually... I do have the source code to the weather module, hmm.... :) Nah, I'll let them handle it.
-Brett
Edgarmoon
12-01-2004, 08:12 PM
Now you're just teasing me! For now I've loaded the internet shortcut to the animated gif in the shorcut directory, it works but it's not as elegant as it could be.
Getting back to the recorded show plugin, two other quirks.
Sometimes, when Btv is in fullscreen mode (or exclusive fullscreen mode) and I launch BM, clicking the recorded show shortcut locks BM. If I force close it, exit the BTV viewscape and reopen, then it works again.
Another thing I noticed is that I cannot watch a show that is in the process of being recorded.
Oh, and while I got your ear, half the time the (is it Hud?) video play timebar does not show up while watching videos. But if I toggle windowed then fullscreen while the video is playing, it comes back. If I do it again, gone again.
Brett
12-01-2004, 08:29 PM
Sometimes, when Btv is in fullscreen mode (or exclusive fullscreen mode) and I launch BM, clicking the recorded show shortcut locks BM. If I force close it, exit the BTV viewscape and reopen, then it works again.Hmm... never seen that one, does it crash in the log?
Another thing I noticed is that I cannot watch a show that is in the process of being recorded.Wow! Your observant. I knew about this one, but had forgotten. Yeah, I seem to recall it being an issue with my trying to modify the 'watch' tag on show in progress. I can look into fixing this over holiday break (maybe even adding a recording icon?).
Oh, and while I got your ear, half the time the (is it Hud?) video play timebar does not show up while watching videos. But if I toggle windowed then fullscreen while the video is playing, it comes back. If I do it again, gone again.The HUD was a VERY LAST minute change, and not mine. :) I had to beg and plead and AFTER RC3, days before going gold, I got it. Basically its just launches the Beyond Video module with a file. So any bug while its playing back would actually be an issue with SnapStreams module. I was gonna eventually expand it to show episode details, but...
Now you're just teasing me! For now I've loaded the internet shortcut to the animated gif in the shorcut directory, it works but it's not as elegant as it could be.
You think I am teasing yah? Ha, try my position. Its much more of a tease. They tell me stuff, cool stuff, then I have to keep quiet about it.
-Brett
Edgarmoon
12-02-2004, 06:31 AM
Ok, here are the sections I could find in the log file that may help:
I couldn't find anything relating to the crashes last night, and could not reproduce it this morning. Did it twice last night.
This is the log error for trying to play a video being recorded:
12/01/2004 08:41:13 VIDEOFOLDERMODULE: Attempting to play F:\bt\Moonstruck-2004-12-01-0.mpg
12/01/2004 08:41:13 Updating Media File
12/01/2004 08:41:13 Updating: F:\bt\Moonstruck-2004-12-01-0.mpg
12/01/2004 08:41:14 Update Failed: F:\bt\Moonstruck-2004-12-01-0.mpg
12/01/2004 08:41:14 at System.Web.Services.Protocols.SoapHttpClientProtoc ol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.Invoke(String methodName, Object[] parameters)
at SnapStream.Plugins.VideoFolderModule.BTVServer.BTV Library.EditMedia(String fullName, PVSPropertyBag bag)
at SnapStream.Plugins.VideoFolderModule.VideoFolder.u pdateMedia(episodeItem myEpisode)
12/01/2004 08:41:14 Done Updating
12/01/2004 08:41:14 Error: Unable to render file F:\bt\Moonstruck-2004-12-01-0.mpg
12/01/2004 08:41:14 Error: VideoPlayer::OpenFile() failed (Error: Unable to render file F:\bt\Moonstruck-2004-12-01-0.mpg)
But while we're at it, here is a clean log from this morning. I get three errors, one for callerid, one for firefly, and one for an unrecognized xml in menu. and then it recognizes Btv twice. start up time is really slow and I get delays when jumping forward in video player that I didn't have before. I'll try a defrag.
12/02/2004 07:02:13 *****Beyond Media Started (Version: 1.0.0 Build: 570) *****
12/02/2004 07:02:19 BMMainForm.InitializeDeviceObjects initializing texture caches.
12/02/2004 07:02:20 Loading the Hotbar defaults
12/02/2004 07:02:20 BMMainForm.InitializeDeviceObjects initializing font manager.
12/02/2004 07:02:20 [Serialization] Unable to create an instance of SnapStream.Plugins.CallerIDModule.CallerID at (25, 8) while processing Plugins.xml: COM object with CLSID {0BDD36E8-CF71-4D30-8049-D3659405EDD0} is either not valid or not registered.
12/02/2004 07:02:20 [Serialization] Unable to create an instance of SnapStream.Plugins.CallerIDModule.CallerIdEnumerat or at (34, 8) while processing Plugins.xml: COM object with CLSID {0BDD36E8-CF71-4D30-8049-D3659405EDD0} is either not valid or not registered.
12/02/2004 07:02:20 Unable to create overlay of type:
12/02/2004 07:02:24 ************************************
Thursday, December 02, 2004 7:02:24 AM
System.IO.FileNotFoundException: Could not find file "C:\Documents and Settings\All Users\Application Data\SnapStream\Firefly\Firefly.xml".
File name: "C:\Documents and Settings\All Users\Application Data\SnapStream\Firefly\Firefly.xml"
at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
at System.Xml.XmlTextReader.CreateScanner()
at System.Xml.XmlTextReader.Init()
at System.Xml.XmlTextReader.Read()
at System.Xml.XmlValidatingReader.ReadWithCollectText Token()
at System.Xml.XmlValidatingReader.Read()
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at System.Xml.XmlDocument.Load(String filename)
at SnapStream.Firefly.Settings.Config.LoadDataFromXML ()
12/02/2004 07:02:25 VIDEOFOLDERMODULE: Found version of BeyondTV
12/02/2004 07:02:25 VIDEOFOLDERMODULE: Connecting using BTV Server Key
12/02/2004 07:02:37 VIDEOFOLDERMODULE: SUCCESS: Connected to Licensee Manager
12/02/2004 07:02:37 Populating List
12/02/2004 07:02:38 POPULATING DONE
12/02/2004 07:02:38 [Serialization] Unable to load xml for object while processing "Menus.xml": This is an unexpected token. The expected token is 'TAGEND'. Line 203, position 58.
12/02/2004 07:02:38 Loading the SingletonHotbar defaults
12/02/2004 07:02:38 Initializing the main frame skin
12/02/2004 07:02:48 Checking for the latest version of Beyond Media.
12/02/2004 07:02:48 Version check complete. You have the latest version of Beyond Media.
12/02/2004 07:02:52 VIDEOFOLDERMODULE: Found version of BeyondTV
12/02/2004 07:02:52 VIDEOFOLDERMODULE: Connecting using BTV Server Key
12/02/2004 07:02:52 VIDEOFOLDERMODULE: SUCCESS: Connected to Licensee Manager
12/02/2004 07:02:53 CHECKING FOR UPDATE...
12/02/2004 07:02:53 Last updated: 127464434490255936
12/02/2004 07:02:53 Current: 127464434490255936
12/02/2004 07:03:03 [Serialization] Unable to set property 'Menu' of type System.String on type SnapStream.ViewScape.Widgets.TextList while processing SettingsScreen.xml: Value cannot be null.
Let me know if there si anything I can fix or not.
Brett
12-02-2004, 08:18 AM
Hmm...
12/01/2004 08:41:14 Error: Unable to render file F:\bt\Moonstruck-2004-12-01-0.mpg
Was Moonstruck currently being recorded? Can you play it back now?
The other errors are not related to my plugin, although from what I can tell do not cause "actual" problems. I get the FireFly issue on my test PC which doesn't have a FireFly remote. I get the caller ID issue on my test PC which also doesn't have a modem.
-Brett
Edgarmoon
12-02-2004, 09:10 AM
Yes, that was the video being recorded and I could not play.
I was able to fix my slow startup by removing menu.xml changes and using the shortcuts folder. That and a defrag now has BM opening in 10 seconds. Now if I could just sort out the music database, give me a few days.
Brett
01-09-2005, 11:03 PM
This plugin has been updated by Deuce911 (http://forums.snapstream.com/vb/private.php?do=newpm&u=7887)
It fixes the date and time issues in the show details and also puts the day of week info in the plugin.
Awesome job!
-Brett
nanook105
01-13-2005, 04:32 PM
I am have a couple of issues with the data in this plugin.
All of the movies that I recorded pre 3.5 do not have any titles in the recorded shows list (or the details). They show up as Movie Name.mpg in BTV, which isn't all that great either.
If I select a show that does have details, and then select one without details, the details from the previous show are shown.
mickwall
01-14-2005, 02:04 PM
How can this be made to work with Link also?
This maybe the plugin to add DVD burning to!
Mick
optikhog
01-20-2005, 02:14 AM
Yah, if you could get this guy working with BTV Link as well, I'd be a convert for sure!
nanook105
01-20-2005, 06:40 AM
This maybe the plugin to add DVD burning to!
Mick
I think that they need to be separate. The DVD plugin is where you look for all movies. This plugin can just display TV/disposable shows (since it uses the BTV folder structure). Maybe I'm just a neat freak.
Brett
01-20-2005, 08:09 AM
How can this be made to work with Link also?I want this to work with Link just as much all of you folks (even though I have no Link machines). The issue is that the filename returned from the API is a local filename ie: c:\shows\my show.mpg. I am not familar enough with networking to get this working some other way. I guess if you were to share the computer, and somehow defined the location ie: \\tvbox\ it might be possible as long as the local path were shared the same name... ie:
\\tvbox\c\shows\my show.mpg for c:\shows\my show.mpg?
Would this be of interest to folks? Ofcourse, doing it would also take away time from my other plugin. Then again, it would actually benefit the other plugin eventually anyway.
-Brett
mickwall
01-20-2005, 08:14 AM
I want this to work with Link just as much all of you folks (even though I have no Link machines). The issue is that the filename returned from the API is a local filename ie: c:\shows\my show.mpg. I am not familar enough with networking to get this working some other way. I guess if you were to share the computer, and somehow defined the location ie: \\tvbox\ it might be possible as long as the local path were shared the same name... ie:
\\tvbox\c\shows\my show.mpg for c:\shows\my show.mpg?
Would this be of interest to folks? Ofcourse, doing it would also take away time from my other plugin. Then again, it would actually benefit the other plugin eventually anyway.
-Brett
I guess Link must already know the server name, so something like
\\servername\c$\shows\my show.mpg might do it.
c$ is a private share set up by windows - it will be read only but that should be OK,
The will be one of these for each drive c$ d$ e$ etc.
Thoughts anyone!
Mick
Brett
01-20-2005, 08:32 AM
c$ is a private share set up by windows - it will be read only but that should be OK,Hmm... if its read only, I would not be able to mark the shows "watched".
-Brett
mickwall
01-20-2005, 08:34 AM
Hmm... if its read only, I would not be able to mark the shows "watched".
-Brett
Is there not a BTV API to do that?, Link does it so it must be possible?
Mick
nanook105
01-20-2005, 08:36 AM
Would this be of interest to folks? Ofcourse, doing it would also take away time from my other plugin. Then again, it would actually benefit the other plugin eventually anyway.
-Brett
Yes. I have link running on a couple of PCs that are connected to TVs, and adding BM and these plugins to the mix would be great. Any idea why I am not getting any names for the shows on the Pre 3.5 movies ?
emg178
01-20-2005, 09:13 AM
Ouch, I downloaded the file videofolders.bmplugin (link in the first post), installed it, and restarted BM, but BM would not load.
I restarted the machine, let BTV load, waited 5 mins, tried loading BM, and it hung again.
After another restart, I deleted the plugin folder and everything loaded fine.
B/t/w, I'm using windows 2000 and BTV 3.5.1. Is there any way to get a log file to help diag. this?
On another note: For those that want to autoload BTV and BM on startup, there are utilities that can load programs on startup after a delay. You can pick the order and the delay of programs on startup. To find a few, search google for: startup programs delay windows. At least two will show up.
Brett
01-20-2005, 09:18 AM
BTV has to be started before BM. And it will only work if you have BTV, not BTV Link.
-Brett
emg178
01-20-2005, 11:04 AM
BTV has to be started before BM. And it will only work if you have BTV, not BTV Link.
-Brett
Brett, as I said, I started BTV first, and waited 5 minutes before attempting to load BM. I am not running BTV link.
Brett
01-20-2005, 12:04 PM
Brett, as I said, I started BTV first, and waited 5 minutes before attempting to load BM. I am not running BTV link.Do you have a different port (than 8129) defined, or an admin password? Right now it assumes all defaults.
-Brett
emg178
01-20-2005, 02:34 PM
Do you have a different port (than 8129) defined, or an admin password? Right now it assumes all defaults.
-Brett
No, the port is 8129. I'll check for an admin password, but I'm pretty sure that I never set one up.
optikhog
01-21-2005, 09:01 AM
I want this to work with Link just as much all of you folks (even though I have no Link machines). The issue is that the filename returned from the API is a local filename ie: c:\shows\my show.mpg. I am not familar enough with networking to get this working some other way. I guess if you were to share the computer, and somehow defined the location ie: \\tvbox\ it might be possible as long as the local path were shared the same name... ie:
\\tvbox\c\shows\my show.mpg for c:\shows\my show.mpg?
Would this be of interest to folks? Ofcourse, doing it would also take away time from my other plugin. Then again, it would actually benefit the other plugin eventually anyway.
-BrettCould this be done through some kind of remapping procedure, such as that used in the BTV skin for MediaMVP? Their config file allows you to simply type in the path on the server for the file, then specify what the path should be replaced with for the local machine. Best of all, it uses an array, so you can have an infinite number of remapped drives.
I might be comparing apples to oranges as I haven't seen your code, but if you're looking for a direction to go in with this, take a look.
Thanks again!
MazzoTech
02-04-2005, 03:01 PM
Is there any way to choose the intervideo non css decoder to play the btv files. I am having problems with filling the screen in BM
dequire
07-12-2005, 09:34 AM
One feature request: Since Parental Controls are fast becoming a big issue with families that deploy BTV throughout the household, and since there is also a PIN module for BM (and NOT for BTV)...
...Is there a way to have a folder NOT listed in BTV that a plugin could automatically move certain recorded shows to? This folder would be mapped in BM (not visible in BTV), and would require the PIN module to access through BM. Then they would be visible in a plugin like this. This would provide some level of parental controls, currenty lacking in BTV.
Any thoughts??
shalamigri
08-17-2005, 09:32 PM
This plugin is cool, but I can't seem to play any showsqueezed movies with it. It only plays mpg2 files on my box. Anyone else experience this?
geoffstewart
11-21-2005, 08:15 PM
I just tried this plugin out and it worked for me with BTV Link. I had to do the following though:
1) All my video folders on the BTV server are set with UNC names (i.e., \\pvr\bigdrive\shows, etc). That way when the plugin gets an absolute path back from the API, it can read the file... in my case, it can read and write the file since my shares are read/write.
EDIT: I had to return from UNC file names (write permissions were not working), but used mapped drive names that were consistent across the network. For example, on the BTV server, I mapped a local drive E: to S: so that the BTV Link machine can map the same drive to S: as well. This config allows for consistent media naming between BTV and BM on different machines.
2) I downloaded a freeware port forwarding tool to port forward port 8129 TCP from the BTV Link machine to port 8129 TCP on the BTV server machine. The tool I used was http://www.networkactiv.com/AUTAPF.html. It's free and works quite well as far as I can tell so far.
With this working, I may take a stab at modding this plugin. I would like to use zoomplayer to view my recorded shows since I can have complete control over exactly what directshow filters are used and how they are used. I may setup a player registry like the DVD Library has done.... hmmmmm..... only so many hours in a day :)
Hope this helps.
Geoff
johnny_swindle
05-12-2006, 09:24 AM
I will be standing up an additional computer with BTV link and will potentially add BM (to exploit the DVD player option).
Since I know just enough to be dangerous, would love to hear more about the success of getting this plugin to work with BTV link and BM.
Thanks...........
Johnny
I just tried this plugin out and it worked for me with BTV Link. I had to do the following though:
1) All my video folders on the BTV server are set with UNC names (i.e., \\pvr\bigdrive\shows, etc). That way when the plugin gets an absolute path back from the API, it can read the file... in my case, it can read and write the file since my shares are read/write.
EDIT: I had to return from UNC file names (write permissions were not working), but used mapped drive names that were consistent across the network. For example, on the BTV server, I mapped a local drive E: to S: so that the BTV Link machine can map the same drive to S: as well. This config allows for consistent media naming between BTV and BM on different machines.
2) I downloaded a freeware port forwarding tool to port forward port 8129 TCP from the BTV Link machine to port 8129 TCP on the BTV server machine. The tool I used was http://www.networkactiv.com/AUTAPF.html. It's free and works quite well as far as I can tell so far.
With this working, I may take a stab at modding this plugin. I would like to use zoomplayer to view my recorded shows since I can have complete control over exactly what directshow filters are used and how they are used. I may setup a player registry like the DVD Library has done.... hmmmmm..... only so many hours in a day :)
Hope this helps.
Geoff
geoffstewart
05-12-2006, 02:38 PM
johnny,
I actually stopped investigating this plugin a couple of weeks after posting this message. I could not get the drive mapping to work consistently in my setup... it would either be a permission issue or files would not refresh properly and thus would be out of synch with BTV. That was a show-stopper for me.
I use BTV Link and BM and love the combination. When I wrote this statement, was having problems with BTV and my selection of codecs (nvidia). Since then, i've reverted to Snapstream S/P codec with overlay and love the quality. On the rare occasion when the BTV Link playback quality is annoying me, I can still use zoomplayer to watch a show because now I have comskip generating the commercial segments and outputting both BTV and zoomplayer file formats.
Sorry, this doesn't help you with this plugin much, I suppose.
Good luck.
Geoff
johnny_swindle
05-12-2006, 02:58 PM
Thank you for your reply....Hopefully someone can direct us on how to make this plugin work with BTV Link.
Johnny
LionRed
10-16-2008, 01:19 PM
Any chance this could get a life line for the Link option?
Brett
10-17-2008, 05:58 PM
Any chance this could get a life line for the Link option?It can't work with Link. (or atleast the verison of BTV I tested)
As I recall... the problem was with the drive mapping. BTV was returning the local file name, not a networked filename. You could probably trick it somehow to have the same folder. However, it still would have issues with refreshing as mentioned above.
Sorry for the disappointment, but thats just the facts. I might have the source code available on my desktop if someone were interested in taking a look and fixing it. Keep in mind I wrote it for BTV 3.5.
Thanks!
-Brett
vBulletin® v3.8.4, Copyright ©2000-2013, Jelsoft Enterprises Ltd.