methods of using TV server - discussion thread (2 Viewers)

and-81

Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    I have heaps of questions about the new tv engine, but I'll start with comskip and ask some more later ...

    I read that the new tv engine will support ComSkip. Can you give us some more information on this?

    I've been thinking about comskip and ...

    On my computer Comskip can process my files in faster than realtime. For example, the file might be 60 minutes long, but it only takes 10 minutes to run comskip on it. So with that in mind I figure that you could run Comskip in realtime (as the tv stream is being recorded or on the timeshift buffer) and only use about 20% more cpu ...

    Maybe even less, given that a fair bit of the time it takes to run comskip is spent on hard disk access and in rendering the file to a frame buffer, something the tv engine is effectively already doing. Of course, you'd probably need comskip to run as a DX filter plugged into the recording engine filter graph...

    So what's the point of running comskip in realtime? Well (theoretically) ...

    1. You could automatically drop the volume on ads. And / or ...

    2. You could save a file that maps the ads inside a recording (or Timeshift) so you could press a button on your remote to skip them. Doing this at record time avoids processing the file later. And / or ...

    3. You could record the tv show straight to disk without any ads at all!

    And maybe one day ...

    This is a bit far out, but imagine you're watching a tv show ... (crazy, I know :) ) It goes into ads so you start channel surfing. Your first tv card stays on the channel you were watching and your second tv card does the surfing. While you're surfing mediaportal (comskip) is tracking the first channel so that when the show you were watching comes out of ads mediaportal automatically switches back to that show. If while you are channel surfing you decide you like the new channel better you just press a button on the remote and the whole background comskip processing is aborted.

    Suggestions and ideas aside, what is the support for comskip in the new tv engine?

    Cheers,
     

    Gamester17

    Portal Pro
    May 12, 2004
    98
    3
    Sweden
    Home Country
    Sweden Sweden
    Apps cannot control the tvserver at this moment. For controlling the tv-server (example zap to another channel) the client should
    either implement the protocol or use the tvcontrol.dll (.net) we supply
    I hope the protocol (and the DLL) will have good documentation and be simple. ;)
    What technologies is it based upon? just standard TCP/IP, UDP, HTTP, and XML, or?
    Will it support SDP (Session Description Protocol) for automatic-discovery over LAN?


    dunno XBMC, can it play rtsp video streams?
    Not yet no, however a MPlayer developer is working on integrating the libnms library (from the NeMeSI project latest SVN trunk). Once that is in MPlayer and that version of MPlayer gets ported to XBMC then XBMC should be able to play RTSP streams, at least as long as the streams are not multicast (as the Xbox kernel only support unticast and broadcast streams).

    It has however been suggesed to integrate the the libnms library direcly into XBMC's "FileSystem" layer, that way all XBMC's player cores (MPlayer, PAPlayer and trhe DVDplayer) could use it to stream from RTSP and RTP/RTCP (ie. internet audio/video streams). libnms also SDP (Session Description Protocol) for auto-discovery, and Creative Commons licensing meta-data for audio/video streaming (via libCCstreaming which is part of libnms).

    libnms library (from the latest trunk in the SVN of the NeMeSI project) is a SDP, RTSP and RTP/RTCP Open Media Streaming Client Library. It is designed to "let you add multimedia streaming playback in your applications in a quick and straightforward way". NeMeSI is a streaming client that allows user to enjoy playback of multimedia files with low latency transport over IP-based networks). libnms (and NeMeSI) source code does contain example code and there are partially doxygenized headers (Doxygen code documentation), that hopefully that can help porting if we could find a developer to volunteer.
    http://streaming.polito.it/client/library
    http://streaming.polito.it/client

    :D
     

    Gamester17

    Portal Pro
    May 12, 2004
    98
    3
    Sweden
    Home Country
    Sweden Sweden
    If MP starts to complain about lack of paging file, you could always use a RAM disk utility and force the page file into that
    Does MediaPortal require harddrive-paging?, (I though thhat the operating-system, Windows XP, took care of the handlong of that?). And what about hibernation and a no page-file, is that possible?
     

    jawbroken

    Portal Pro
    August 13, 2005
    706
    0
    Home Country
    Afghanistan Afghanistan
    I think MediaPortal doesn't require a paging file, but as soon as your computer used any more memory than you had you would get OutOfMemory errors all over the place.
     

    THDBASED

    Portal Pro
    January 30, 2006
    469
    2
    Home Country
    Belgium Belgium
    Question related to the new engine. With the new engine, the server does not need to have a powerfull Gfx-card and it does not need to be a very powerfull computer. So does this mean Via-Epia boards could work to take care of the server side?
     

    Frodo

    Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,518
    121
    53
    The Netherlands
    Home Country
    Netherlands Netherlands
    comskip ....
    Real time comskip would be nice, but unfortunaly i never got comskip to work 100% for my tv channels. It either misses ads or even worse, cuts out parts of a program Anyway, when plugin structure is in place we could add real-time comskip

    I hope the protocol (and the DLL) will have good documentation and be simple.
    The tvserver sources are fully documented.
    We will even supply a MSDN-like .chm help file
    But since we supply a dll you wont need to know how it works internally if you simply use the dll. If you cant use it (for example for XBMC)
    we use .net remoting which is simply soap over TCPIP
    You could either implement the soap interfaces in XBMC,
    or make a simple webservice in front of the tvserver to control it

    Will it support SDP (Session Description Protocol) for automatic-discovery over LAN?
    The rtsp server supports SDP ( http://www.ietf.org/rfc/rfc3556.txt )
    As said, streaming will be in mpeg-2 transport mode (m2pt)

    XBMC should be able to play RTSP streams, at least as long as the streams are not multicast
    We stream in unicast mode, not multicast (although the RTSP library we use supports multicasting as well, so this might change at a later stage)

    What do you mean by "thinking about it"???
    Exactly like i mean, we are thinking about adding support for it.
    But mpeg-4 is not widely available at this moment, so for now we focus on the
    good old mpeg-2 streams.

    Frodo
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    Real time comskip would be nice, but unfortunaly i never got comskip to work 100% for my tv channels. It either misses ads or even worse, cuts out parts of a program Anyway, when plugin structure is in place we could add real-time comskip

    Fair enough. If it doesn't do what it's meant to do then it's no use. Something to look at later then...

    Next question,

    When I record DVB-T at the moment (from the 1st party DVICO software) I can watch it, but the stream has glitches. It often loses audio/video sync. And seeking about inside the file is a bit hit and miss.

    If I run VideoRedo over it to automatically do a "Quick Stream Fix" it corrects these issues and then playback is almost always perfect. This is along the same lines as my comskip question... Could the new tv engine do some record-time error correction?

    I read that MPEG2Repair seems to do something similiar, it's freeware, but I don't think it's open source. Even so, there's a lot of information on what it does (which could help to make our own):

    http://www.avsforum.com/avs-vb/showthread.php?s=&threadid=442446

    Maybe this is something for future tv server plugins?

    Finally, recording to DVD compliant MPEG2 is the first step towards Recording directly to DVD. What would it take to record a DVD compliant stream?

    I'd imagine a bit of header manipulation and packet resizing would do the trick. Easier said than done, I know... Are there any plans for this? And is this also something a plugin could do?

    Even if we didn't have Direct to DVD, just the fact it's recording a DVD compliant stream would make the eventual DVD burning a lot quicker (no need to convert the file again). It might also improve compatibility with the different MPEG decoder filters ...

    Eventually, StreamFix + Comskip + Direct to DVD would be Very cool.

    In reality, Direct To DVD is probably a little overrated. What I mean is, I can't see myself using it much. But that might just be me. And when put on a feature list it looks very cool. ;)

    Cheers,
     

    Frodo

    Retired Team Member
  • Premium Supporter
  • April 22, 2004
    1,518
    121
    53
    The Netherlands
    Home Country
    Netherlands Netherlands
    It often loses audio/video sync. And seeking about inside the file is a bit hit and miss.
    Thats one of the reasons things take a bit longer then expected.
    Most RTSP servers transmit mpeg-2 program streams instead of mpeg-2 transport streams.
    mpeg-2 program files are not meant to be streamed
    If you stream a mpeg-2 program stream to the client then 2 seperate udp streams are send. one for audio and one for video. In this case its both the task of the rtsp server & client to have exact timing and the client has to make sure it reads the audio/video streams
    at the exact same time, if not lipsync issues will arive.
    Now mpeg-2 transport streams are meant for streaming and thats why we're now working on streaming mpeg-2 transport streams.
    With mpeg-2 transport streams only 1 UDP stream is send. This way the client only receives 1 stream and doesnt have todo anything for good a/v sync correction
    Besides that a mpeg-2 transport stream contains internal sync correction for preventing lipsync issues. Meaning that lipsync issues should not occur anymore

    Quick Stream Fix
    The tvserver engine will record in mpeg-2 program stream format (.mpg)
    However although the stream is a normal .mpg file, it probably is not dvd compliant due to the fact that all (DVB) broadcasters dont transmit DVD compliant files. Now most DVD players dont need a true DVD compliant file and will happily play any .mpg file. If you want a true DVD compliant file, you should re-encode it


    Frodo
     

    Users who are viewing this thread

    Top Bottom