Page 33 of 46 FirstFirst ... 23313233343543 ... LastLast
Results 481 to 495 of 676

Thread: Tivoserver alpha-release thread

  1. #481
    Join Date
    Jul 2009
    Posts
    5

    .NET TivoServer Port, with external TyFFMpeg

    Hey guys,

    I recently went off and had a little fun with the TivoServer source code, and created a program called WinTivoServer, which consists of a small .NET binary called WinTivoServer.exe, that leverages an external copy of TYFFMPEG.

    It simply inspects a directory recursively and then makes the shows in that directory (as recognized by TYFFMPeg) available on the network as a Tivo named <YourServerName>-WinTS.

    All Tivo protocol handling is done in C#, while All transcoding is done using the external build of ffmpeg.exe (in this case, a build of FFMpeg SVN 19344, built today, with a few patches, modified from those current on the TyFFMpeg threads)

    At current, all my testing has been done on Windows and with a 4x3 display. I'd be shocked if the code didn't work on Mono with a few tweaks (and a linux version of tyffmpeg), as it's _really_ simple. In general, this has been _really_ stable, though most of my ffmpeg builds have been against SVN 18799 (the rebuild today is new). I haven't had a chance to try BitMap's new work, but it's certainly FAR more stable than the old TivoServer drops on my box.

    Caveats: At the moment, I didn't bother to implement folder/collections support (because it's not something I care about), but it shouldn't be hard to add.

    Simply unzip the attached file and find the directory containing WinTivoServer.exe and ffmpeg.exe. Copy both of them <together> to any directory, and to start the process, simply type "WinTivoServer.exe <directory to search for video>". If no directory is supplied, it searches the directory in which it is housed.

    (I was going to attach the binaries and source here, but the upload widget isn't working for me. So, for the moment, I've uploaded the zip file to the following public SkyDrive folder:

    http://cid-d6d3d991b85bad7b.skydrive...Server-1.0.zip
    Last edited by DancingChicken; 07-05-2009 at 05:27 PM. Reason: Removed expired direct download link

  2. #482
    Join Date
    Feb 2004
    Location
    New York City
    Posts
    577
    If it works in Mono, it'll work on an Intel Mac as well.

    I'll have to make some time to try it out next weekend.

    As for my attempts to port the original source code to Intel OS X, I ran into the normal laundry list of problems with getting it to compile against OS X's libraries instead of the normal linux libraries. I ran out of time before I had to start a new job, so that project got pushed to the side (for now).

  3. #483
    Join Date
    Aug 2004
    Posts
    75
    Wow DancingChicken,

    Job well done! Your implementation works perfectly, better results than the old Tivoserver on my material. No audio sync delay on HDtivo sourced material.

    Does this fix or use the "IP address" and listenting port from the old tivoserver configuration? I'm using pytivo for newer HDtivos which grabs my IP address, so I created another IP address to my NIC card for tivoserver.

    Starmanj

    Quote Originally Posted by DancingChicken View Post
    Hey guys,

    I recently went off and had a little fun with the TivoServer source code, and created a program called WinTivoServer, which consists of a small .NET binary called WinTivoServer.exe, that leverages an external copy of TYFFMPEG.

    It simply inspects a directory recursively and then makes the shows in that directory (as recognized by TYFFMPeg) available on the network as a Tivo named <YourServerName>-WinTS.

    All Tivo protocol handling is done in C#, while All transcoding is done using the external build of ffmpeg.exe (in this case, a build of FFMpeg SVN 19344, built today, with a few patches, modified from those current on the TyFFMpeg threads)

    At current, all my testing has been done on Windows and with a 4x3 display. I'd be shocked if the code didn't work on Mono with a few tweaks (and a linux version of tyffmpeg), as it's _really_ simple. In general, this has been _really_ stable, though most of my ffmpeg builds have been against SVN 18799 (the rebuild today is new). I haven't had a chance to try BitMap's new work, but it's certainly FAR more stable than the old TivoServer drops on my box.

    Caveats: At the moment, I didn't bother to implement folder/collections support (because it's not something I care about), but it shouldn't be hard to add.

    Simply unzip the attached file and find the directory containing WinTivoServer.exe and ffmpeg.exe. Copy both of them <together> to any directory, and to start the process, simply type "WinTivoServer.exe <directory to search for video>". If no directory is supplied, it searches the directory in which it is housed.

    (I was going to attach the binaries and source here, but the upload widget isn't working for me. So, for the moment, I've uploaded the zip file to the following public SkyDrive folder:

    http://cid-d6d3d991b85bad7b.skydrive...Server-1.0.zip

  4. #484
    Join Date
    Dec 2004
    Posts
    73
    Tried to run the WinTivoServer and keep getting:

    "The application failed to initialize properly (0xc0000135). Click on OK to terminate the application."

    This happens if I put it in a directory with files, or put it in its own directory and point it to my movies directory...

    Im guessing thats some .NET error, but not sure what it means...

    Some googling tells me that is because I dont have the .NET loaded on this PC, but Im pretty sure I do...have to find a way to tell what version is on loaded...
    Last edited by Callindril; 07-29-2009 at 05:42 PM.

  5. #485
    Join Date
    Aug 2004
    Posts
    75
    I have two bugs for wintivoserver. When I put more video into the folder, it eventually adds the videos, but does not delete references to old videos. So I now have Wintivoserver offering videos that don't exist,unless I kill it and restart.

    Also I was wrong, still have bad voice sync problems, especially when I fast forward toward middle of video.

  6. #486
    Join Date
    Aug 2004
    Posts
    75
    Update: If I run a quickstreamfix on the mpegs, it clears up the audio lag problem. But wintivoserver does not auto-refresh file listings, so it offers up deleted files.

    Dancingchicken, you still around?

  7. #487
    Join Date
    Jul 2009
    Posts
    5
    StarManJ: Yep, I'm still around. I checked the thread a few times in July and didn't spot any comments, so I figured no one was using it. Then I got busy at work. Sorry about the bug around retaining deleted files. That ones a no-brainer. I'll fix it either today or tomorrow and post a fix.

    With respect to your audio lag issues, I'm interpreting your comments to indicate that there was a problem with the streams themselves, and not something I can fix in the program by tweaking my FFMpeg transcode? Is that right?


    Callindril: If I had to guess, it's either that .NET is not installed, or that you have an older version of .NET installed. Try running the download from here:

    http://www.microsoft.com/downloads/d...displaylang=en

  8. #488
    Join Date
    May 2005
    Posts
    913
    for shows that don't sync audio at the beginning, passing ffmpeg the param "-async 1" was very effective in tivoserver, and doesn't really slow down transcoding (as it only adjusts the sync at the beginning).
    Former Tivo Hacker (retired)

  9. #489
    Join Date
    Jul 2009
    Posts
    5

    Updates

    OK, guys.

    I've added the fix for the deleted files issue, as well as inserted "-async 1" (for the heck of it) to the transcode command-line.

    I've posted a refresh of the binaries here:

    http://cid-d6d3d991b85bad7b.skydrive...rver-1.0.1.zip

    This particular zip doesn't include the revised source (but it's only a difference of about 10 lines or so). If someone can find a home for the source on SourceForge or something [BTux, would a subfolder or two in the TivoServer project make sense?], I can start maintaining source there if you would like.

    (Note: The previous zip contains source for WinTivoServer as well as the ffmpeg patch for recent FFMPeg to handle TY).

    Let me know if there're any problems [and if the -async 1 resolves your issues]

  10. #490
    Join Date
    Aug 2004
    Posts
    121
    Quote Originally Posted by DancingChicken View Post
    ...as well as inserted "-async 1" (for the heck of it) to the transcode command-line.
    You have it set to always use that parameter? Would that break any files that don't have audio out of sync (not that I have that problem - all of my files have audio out of sync)?
    1 RCA DVR80 (RID + 6.2a on 500GB)
    1 Samsung SIR-4080R (RID + 6.2a on 500GB)

  11. #491
    Join Date
    Dec 2003
    Posts
    233
    Doesn't work for me. I run it as:

    WinTivoServer \\nas\tivo

    and get this:

    Unhandled Exception: System.Net.Sockets.SocketException: Only one usage of each
    socket address (protocol/network address/port) is normally permitted
    at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress
    socketAddress)
    at System.Net.Sockets.Socket.Bind(EndPoint localEP)
    at WinTivoServer.BeaconManager.Start()
    at WinTivoServer.Program.Main(String[] args)

    I'm running vmware on this box, and I suspect that it is failing to account for the system having multiple network interfaces.

  12. #492
    Join Date
    May 2005
    Posts
    913
    re: async...
    that shouldn't break anything... it just attempts to sync up the audio/video at the start. I believe things like mplayer (built on ffmpeg) use it by default.
    Former Tivo Hacker (retired)

  13. #493
    Join Date
    Oct 2004
    Posts
    87
    Quote Originally Posted by DancingChicken View Post
    OK, guys.


    Let me know if there're any problems [and if the -async 1 resolves your issues]

    Request please add folder options

    I have two bugs to report, the first is when you have multiple nics (vmware) it doesn't register on the correct nic. I can't see on the tivo, but if I run on a different computer I can see it

    the second is
    audio sync, but I think it becuase it detect the wrong frame rate, I'm might be wrong here is the information

    mybe adding a flag to do this option -async 2

    `-async samples_per_second'
    Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps, the parameter is the maximum samples per second by which the audio is changed. -async 1 is a special case where only the start of the audio stream is corrected without any later correction.



    Code:
    Format                           : AVI
    Format/Info                      : Audio Video Interleave
    File size                        : 701 MiB
    Duration                         : 1h 38mn
    Overall bit rate                 : 997 Kbps
    Writing application              : Nandub v1.0rc2
    Writing library                  : Nandub build 1852/release
    
    Video
    ID                               : 0
    Format                           : MPEG-4 Visual
    Format profile                   : Advanced Simple@L5
    Format settings, BVOP            : Yes
    Format settings, QPel            : No
    Format settings, GMC             : No warppoints
    Format settings, Matrix          : Default (H.263)
    Codec ID                         : XVID
    Codec ID/Hint                    : XviD
    Duration                         : 1h 38mn
    Bit rate                         : 824 Kbps
    Width                            : 624 pixels
    Height                           : 256 pixels
    Display aspect ratio             : 2.438
    Frame rate                       : 23.976 fps
    Resolution                       : 24 bits
    Colorimetry                      : 4:2:0
    Scan type                        : Progressive
    Bits/(Pixel*Frame)               : 0.215
    Stream size                      : 579 MiB (83%)
    Writing library                  : XviD 1.1.2 (UTC 2006-11-01)
    
    Audio
    ID                               : 1
    Format                           : MPEG Audio
    Format version                   : Version 1
    Format profile                   : Layer 3
    Codec ID                         : 55
    Codec ID/Hint                    : MP3
    Duration                         : 1h 38mn
    Bit rate mode                    : Variable
    Bit rate                         : 161 Kbps
    Nominal bit rate                 : 160 Kbps
    Channel(s)                       : 2 channels
    Sampling rate                    : 48.0 KHz
    Resolution                       : 16 bits
    Video delay                      : 1s 584ms
    Stream size                      : 113 MiB (16%)
    Alignment                        : Split accross interleaves
    Interleave, duration             : 24 ms (0.58 video frame)
    Interleave, preload duration     : 1145 ms
    Writing library                  : LAME3.90.
    Encoding settings                : -m j -V 4 -q 2 -lowpass 18 --abr 160
    and your program

    Code:
    C:\tivoserver>c:\tivoserver\wintivoserver  \\server\Storage\shows\Movies
    Listening for incoming connections...
    
    [8/26/2009 9:33:59 PM]Starting FFMPeg with arguments:  -i "\\server\Storage\show
    s\Movies\Race To Witch Mountain (2009) 
    i" -acodec mp2 -ac 2 -ab 192K -ar 48000 -vcodec mpeg2video -r 29.97 -b 2048K -s
    640x260 -padtop 110 -padbottom 110 -aspect 4:3 -bufsize 1024k -maxrate 4096K -as
    ync 1 -deinterlace -f ty pipe:1
    Last edited by snake98; 08-27-2009 at 12:44 AM.

  14. #494
    Join Date
    Dec 2004
    Posts
    73
    Got this to work, it looks nice and is faster than the original versrion...very nice...the two things Im missing most are folders and multiple input points...

    I have about 1100 shows spread across 3 drives, all stored in nice named folders.

    Need a way for this to scan a list of drives/folders and include them all in the list including the named windows folders they are already stored in...

    Thanks again for the work on this....very nice...
    Cal

  15. #495
    Join Date
    Feb 2004
    Location
    Chicago, IL
    Posts
    427
    Quote Originally Posted by Callindril View Post
    Got this to work, it looks nice and is faster than the original versrion...very nice...the two things Im missing most are folders and multiple input points...

    I have about 1100 shows spread across 3 drives, all stored in nice named folders.

    Need a way for this to scan a list of drives/folders and include them all in the list including the named windows folders they are already stored in...

    Thanks again for the work on this....very nice...
    Cal
    There's a feature in folders.tcl that duplicates the folder structure your have on your PC for tivoserver transfers. It takes a little doing to get it set up, but it works very well.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •