Feature Requests

  Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
RockerC Offline
Fan
Posts: 318
Joined: May 2011
Reputation: 3
Post: #46
(2013-11-29 20:16)krustyreturns Wrote:  Even with a pre-recorded wtv file, eden could only play them for about 20-30 minutes, then it would crash or hang. Then an updated ffmpeg lib came out, if you switched eden over to it, it solved this problem - which basically made it the same as frodo (which came out later) in terms of playing wtv.

Once they got switched to the updated ffmpeg, the active wtv files just quit when the reached the end of the file (the file length read by xbmc when play started - as you note in your thread). This ensured that you don't get the crash problem after 20-30 minutes, but it also meant you would have to restart your 'active' stream.

more history:
This issue at 20 minutes is what Jeff and I called the '20 minute problem' (but really it could happen anywhere around 20 minutes and every ~20 minutes after that). It as to do with the weirdness of active wtv and where it stores metadata (and that ms doesn't document it). I can give you a lot of gory detail if you are interested, but the end result is that's why we transcode to ts on the fly. Jeff actually reworked ffmpeg as another possible solution to the 20 minute problem - but then he started his medical practice and this particular patient died on the operating table (although occasionally I hear from Jeff who says he hopes to resurrect it someday Smile).

If you ever want to hear the gory detail, I'd be happy to relay it.
I suspect he looked at Libavformat from FFmpeg to do demultiplexing then multiplexing (demuxing then muxing) from WTV to MPEG-TS container format, or?

http://www.ffmpeg.org/libavformat.html

So not actually using Libcodec library from FFmpeg to transcode (decode then encode) the video stream to a other codec format, which does not always imply that you are also remuxing to a other container format, instead a remux stream only means changing the container holding the video stream.

This is a good idea to always remux to MPEG-TS conatiner format before stream to clients or record, as many players still have some problems with WTV.


My feature request would be to so implement Libavformat from FFmpeg into ServerWMC for option to do remuxing from WTV to other container formats


Such an option to "remux and not transcode" is also implemented into Plex Media Server when streaming to other clients based on UPnP/DNLA client profile

http://forums.plexapp.com/index.php/topi...transcode/
http://wiki.plexapp.com/index.php/How_do...y_computer

One day maybe ServerWMC too might get more clients for it than just XBMC, like for example ServerWMC client for Android and iOS phones and tablets?
(This post was last modified: 2013-12-10 11:37 by RockerC.)
find quote
RockerC Offline
Fan
Posts: 318
Joined: May 2011
Reputation: 3
Post: #47
(2013-12-10 11:28)RockerC Wrote:  My feature request would be to so implement Libavformat from FFmpeg into ServerWMC for option to do remuxing from WTV to other container formats

Such an option to "remux and not transcode" is also implemented into Plex Media Server when streaming to other clients based on UPnP/DNLA client profile

http://forums.plexapp.com/index.php/topi...transcode/
http://wiki.plexapp.com/index.php/How_do...y_computer

One day maybe ServerWMC too might get more clients for it than just XBMC, like for example ServerWMC client for Android and iOS phones and tablets?
Having a UPnP Media Server (with DNLA Client Profile support) implemented directly into ServerWMC backend would actually be my second feature request.


And my third feature request would be to then extend that media server support to also implement a HTTP (media) server into ServerWMC backend as well.


Media Browser (MediaBrowser, a media server which is open source under GPL) already have some really cool features along those lines, so maybe you could collaborate with them on some shared modules if implement any features that cross over and you decide to go down the open source route in the future?

http://www.mediabrowser3.com
https://github.com/MediaBrowser/MediaBrowser
https://github.com/MediaBrowser/MediaBrowser

Guess I could actually reverse my last feature request and instead ask you to implement ServerWMC backend as a plugin module for MediaBrowser3 server?
(This post was last modified: 2013-12-10 18:44 by RockerC.)
find quote
krustyreturns Offline
Moderator
Posts: 1,493
Joined: Aug 2012
Reputation: 47
Location: Springfield Heights, CA
Post: #48
(2013-12-10 12:02)RockerC Wrote:  
(2013-12-10 11:28)RockerC Wrote:  My feature request would be to so implement Libavformat from FFmpeg into ServerWMC for option to do remuxing from WTV to other container formats

Such an option to "remux and not transcode" is also implemented into Plex Media Server when streaming to other clients based on UPnP/DNLA client profile

http://forums.plexapp.com/index.php/topi...transcode/
http://wiki.plexapp.com/index.php/How_do...y_computer

One day maybe ServerWMC too might get more clients for it than just XBMC, like for example ServerWMC client for Android and iOS phones and tablets?
Having a UPnP Media Server (with DNLA Client Profile support) implemented directly into ServerWMC backend would actually be my second feature request.


And my third feature request would be to then extend that media server support to also implement a HTTP (media) server into ServerWMC backend as well.


Media Browser (MediaBrowser, a media server which is open source under GPL) already have some really cool feature along those lines, so maybe you could collaborate with them on some shared modules if even implement any features that cross over if you decide to go down the open source route in the future?

http://www.mediabrowser3.com
https://github.com/MediaBrowser/MediaBrowser
https://github.com/MediaBrowser/MediaBrowser

Guess I could actually reverse my last feature request and instead ask you to implement ServerWMC backend as a plugin module for MediaBrowser3 server?

I agree this is a great idea, other users have requested it. Stay tuned.

Windows Media Center PVR addon (pvr.wmc) and server backend (ServerWMC)
http://bit.ly/ServerWMC
find quote
jeckels Offline
Junior Member
Posts: 13
Joined: Dec 2013
Reputation: 0
Post: #49
Not sure if someone else specifically put this on the list .. but I will lend my desire to the request ...

android PVR client

So I can run this on my phone, tablet, or other mini-device :-)
find quote
TechLife Offline
Donor
Posts: 576
Joined: Aug 2008
Reputation: 20
Location: Aurora, CO
Post: #50
(2013-12-10 19:07)jeckels Wrote:  Not sure if someone else specifically put this on the list .. but I will lend my desire to the request ...

android PVR client

So I can run this on my phone, tablet, or other mini-device :-)

http://forum.xbmc.org/showthread.php?tid...pid1568742

*If I helped, please +rep below*
Windows Media Center PVR add-on (pvr.wmc) and Server (ServerWMC)
The XBMC team, plug-in devs, skinners, etc. do this for us for FREE in their spare time because they want to. Think about that for a second before you start bitching...
find quote
awp0 Offline
Fan
Posts: 468
Joined: Jul 2011
Reputation: 4
Post: #51
Regarding Android, I'm really curious to see how well this works. I personally cannot get stable 1080 TV (MPEG2) streams to play on any of my three Android devices (including HTC One). I inquired about this on the libstagefright development forum and the developer did not think high definition MPEG2 was supported by libstagefright. I also tried it with medacodec with the same results. Basically 720 MPEG2 could play fairly smoothly, but it could not handle 1080 and it was very choppy. Seemed like it was not using hardware decoding at all. Anyway, my point is that even when the PVR add-on is compiled for Android, I'm concerned that HD content could be problematic. But I hope I'm wrong!
find quote
hedgepigdaniel Offline
Junior Member
Posts: 14
Joined: Jan 2013
Reputation: 0
Post: #52
One feature which would be very useful for those who hate commercials (and I imagine it would be relatively easy to implement), is the ability to run an external program whenever a recording starts or is finished, with the file being recorded as a parameter. This can be used to run comskip on recordings as they are made, so that commercial breaks are skipped transparently. The mediaportal TV backend does this quite simply.

The only complication I can see is that when recordings are moved between folders the *.edl files that contain the locations of commercials would need to be moved with them. perhaps moving all files with the same name but different extensions would fix this? Even without that, I think you can set up comskip to keep all the commercial files in a central location.
find quote
clientxero Offline
Junior Member
Posts: 30
Joined: Dec 2013
Reputation: 0
Post: #53
(2013-12-31 06:05)hedgepigdaniel Wrote:  One feature which would be very useful for those who hate commercials (and I imagine it would be relatively easy to implement), is the ability to run an external program whenever a recording starts or is finished, with the file being recorded as a parameter. This can be used to run comskip on recordings as they are made, so that commercial breaks are skipped transparently. The mediaportal TV backend does this quite simply.

The only complication I can see is that when recordings are moved between folders the *.edl files that contain the locations of commercials would need to be moved with them. perhaps moving all files with the same name but different extensions would fix this? Even without that, I think you can set up comskip to keep all the commercial files in a central location.

I use MCEBuddy to accomplish this, after the recordings have finished of course, which creates a delay/wait time between the ability to watch with or without commercials. This would be a great feature, right along side transcoding but would seem to greatly change the nature of ServerWMC into something much bigger.
find quote
Talguy Offline
Senior Member
Posts: 170
Joined: Sep 2010
Reputation: 0
Post: #54
(2013-12-31 06:05)hedgepigdaniel Wrote:  One feature which would be very useful for those who hate commercials (and I imagine it would be relatively easy to implement), is the ability to run an external program whenever a recording starts or is finished, with the file being recorded as a parameter. This can be used to run comskip on recordings as they are made, so that commercial breaks are skipped transparently. The mediaportal TV backend does this quite simply.

The only complication I can see is that when recordings are moved between folders the *.edl files that contain the locations of commercials would need to be moved with them. perhaps moving all files with the same name but different extensions would fix this? Even without that, I think you can set up comskip to keep all the commercial files in a central location.

We need something like this wmc plugin [URL] http://www.recordedtvhd.com /URL]

[Image: all-thin-banner.jpg]
find quote
hedgepigdaniel Offline
Junior Member
Posts: 14
Joined: Jan 2013
Reputation: 0
Post: #55
(2013-12-31 06:14)clientxero Wrote:  I use MCEBuddy to accomplish this, after the recordings have finished of course, which creates a delay/wait time between the ability to watch with or without commercials.

Even better, you can set comskip to keep checking to see if the file grows, that way you can run it as soon as the recording starts, and have commercial skipping working before the recording finishes
find quote
scarecrow420 Offline
Moderator
Posts: 881
Joined: Oct 2004
Reputation: 21
Post: #56
@hedgepigdaniel, it should be easy to implement this. We dont move files around very much... Although you see a heirarchical display of recordings in XBMC, this is just metadata and all the recordings actually live in the Recorded TV folder in a flat structure. Possibly the only time we move a file is when you instant record a live stream... Yes we could change that to move files of the same name but any extension (but what would occur if the external program was running on this file when we wanted to move it?). We could have a few tokens that can be passed to the external program like the WTV file name, TS file name (if live streaming or remuxing etc), other things like the showname, channel, series name (would they be useful in any way? Perhaps for file renamers and the like...)

Im not very up with this stuff but I assume that comskip is a program that can run against a WTV file and analyses it for commercial breaks etc? Does XBMC already handle things properly if EDL data is changing on the fly while it is already playing a file, or does it only read in the EDL file when it first opens a video file? And does the program handle WTV and TS files or... ? I wonder if it will work here in Australia for my setup, so I can test this stuff etc. Ill try and look into it in the new year
(This post was last modified: 2013-12-31 08:09 by scarecrow420.)
find quote
hedgepigdaniel Offline
Junior Member
Posts: 14
Joined: Jan 2013
Reputation: 0
Post: #57
(2013-12-31 08:03)scarecrow420 Wrote:  @hedgepigdaniel, it should be easy to implement this. We dont move files around very much... Although you see a heirarchical display of recordings in XBMC, this is just metadata and all the recordings actually live in the Recorded TV folder in a flat structure. Possibly the only time we move a file is when you instant record a live stream... Yes we could change that to move files of the same name but any extension (but what would occur if the external program was running on this file when we wanted to move it?). We could have a few tokens that can be passed to the external program like the WTV file name, TS file name (if live streaming or remuxing etc), other things like the showname, channel, series name (would they be useful in any way? Perhaps for file renamers and the like...)

Im not very up with this stuff but I assume that comskip is a program that can run against a WTV file and analyses it for commercial breaks etc? Does XBMC already handle things properly if EDL data is changing on the fly while it is already playing a file, or does it only read in the EDL file when it first opens a video file? And does the program handle WTV and TS files or... ? I wonder if it will work here in Australia for my setup, so I can test this stuff etc. Ill try and look into it in the new year

Good point about the files moving while open, that more or less ruins that idea. All these extra parameters could be useful, since its possible to set up multiple configuration files for comskip that work better with different channels or types of content (not something I can personally be bothered with though). You could for example make a wrapper script that accepts a file and a channel as arguments and then runs comskip with the appropriate config file

Yes, comskip is just a program you run against a video file. It's made for windows, although someone seems to have ported/copied it to linux here: http://forum.xbmc.org/showthread.php?tid=150084. It can process .ts and .wtv (and probably just about anything since it uses libavformat), but the free windows version is limited to *.ts and a few others. It writes the times of commercial breaks to a file in one of many formats. http://www.kaashoek.com/comskip/

It's been a while since I tested it since the lack of series recording and slow channel switching in XBMC has kept me on WMC, but from memory I had mediaportal tvserver set up as the pvr backend, and it was set up to run "comskip recording.ts" whenever a recording started. I made a single config file for comskip that enabled the retries at the end of a file option so that it would wait for the recording to grow, and I set it to output in edl format. I think I also set a parameter in the config file to change the edl cut type field to something other than the default, and I think then xbmc automatically skipped ad breaks, and did seem to update the cut list on the fly.I never used it frequently but I tested it on a few different programs and it worked correctly. I'm also in Australia btw, so I doubt anything would stop you from using it.

EDIT --

I'll explain how to set it up more clearly when I get some time, since finding all these settings involved quite a bit of searching and I forgot some details. If you do implement anything like this I'll be happy to test and give feedback.
(This post was last modified: 2013-12-31 10:23 by hedgepigdaniel.)
find quote
krustyreturns Offline
Moderator
Posts: 1,493
Joined: Aug 2012
Reputation: 47
Location: Springfield Heights, CA
Post: #58
(2013-12-31 06:14)clientxero Wrote:  I use MCEBuddy to accomplish this, after the recordings have finished of course, which creates a delay/wait time between the ability to watch with or without commercials. This would be a great feature, right along side transcoding but would seem to greatly change the nature of ServerWMC into something much bigger.

I think this would be an important feature too as I know its popular. But like Scarecrow, I am not clear how this stuff works since I have never used it - I have always thought skipping forward was good enough to get through commercials. So since the only two active developers (so far) are clueless on this, we need your guys input to get it done the right way.

I am unclear what serverwmc needs to do. I thought programs like mcebuddy monitored the recorded tv folder for you and did the conversion (or generated the edl file?) automatically when the recording finished. It that's the case, how does serverwmc help?

Actually serverwmc never moves files around even for instant records (referring to scarecrow's email). In an instant record, it just creates a hard link inside the recorded tv folder that links to the 'active' wtv file, so as far as the recorded tv folder goes, ALL recordings are happening in there - just like wmc. So any program, like mcebuddy (?), that monitors the recorded tv folder should work.

But certainly serverwmc could very easily launch programs when recordings finish, it is monitoring all the events in the recorded tv folder, just like wmc does.

So yeah, lets work out how to implement this.

Windows Media Center PVR addon (pvr.wmc) and server backend (ServerWMC)
http://bit.ly/ServerWMC
find quote
Hedda Offline
Senior Member
Posts: 241
Joined: Feb 2013
Reputation: 4
Post: #59
(2013-12-31 08:03)scarecrow420 Wrote:  Does XBMC already handle things properly if EDL data is changing on the fly while it is already playing a file, or does it only read in the EDL file when it first opens a video file?
(2013-12-31 19:18)krustyreturns Wrote:  I think this would be an important feature too as I know its popular. But like Scarecrow, I am not clear how this stuff works since I have never used it - I have always thought skipping forward was good enough to get through commercials. So since the only two active developers (so far) are clueless on this, we need your guys input to get it done the right way.
See XBMC wiki http://wiki.xbmc.org/index.php?title=Edit_decision_list and just test scenarios I guess?

Best would probably be if your PVR client follow XBMC's extended EDL format since it is more flexible.

Compare
http://wiki.xbmc.org/index.php?title=Edi...Player_EDL
with
http://www.mplayerhq.hu/DOCS/HTML/en/edl.html
Quote:The actions supported by this file format have also been extended by XBMC to include Scene Marker and Commercial Break actions since the original format only supports Cut and Mute. Supported actions are:

0 - Cut
1 - Mute
2 - Scene Marker (if start and end times are specified, the end time is used)
3 - Commercial Break
I believe that the MythTV PVR client for XBMC addon code will be the best example too look at for this

http://wiki.xbmc.org/index.php?title=PVR...g_template

http://wiki.xbmc.org/index.php?title=Myt...l_Skipping
(This post was last modified: 2014-01-04 02:56 by Hedda.)
find quote
hedgepigdaniel Offline
Junior Member
Posts: 14
Joined: Jan 2013
Reputation: 0
Post: #60
I think the best solution would just be to add options for commands to be executed when a recording starts and finishes, and make sure at the very least that the path of the recording can be passed as part of the command, with the channel and any other useful details possibly also available. It seems that either way XBMCs limitations on how it handles the cutfiles will be the same.
find quote
Post Reply