1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

mp4 transcoding appears to be eliminated

Discussion in 'TiVo Home Media Features & TiVoToGo' started by larry99, Feb 18, 2009.

  1. Feb 22, 2009 #81 of 297
    fyodor

    fyodor Member

    535
    1
    Sep 19, 2006
    Is it possible to configure Pytivo to check for MP4 files and push in response to a pull request for one of those files?

    F
     
  2. Feb 22, 2009 #82 of 297
    PaulS

    PaulS Member

    684
    2
    Sep 16, 2002
    Southern NH
    Now THAT would be slick. I would think that it's possible, but it might take some under-the-covers work to get done...
     
  3. Feb 22, 2009 #83 of 297
    pmd

    pmd New Member

    32
    0
    Dec 14, 2004
    Sounds cool, but please make that optional if it happens. I just tried some of the mind.py related push stuff in this thread on my Aussie TiVo HD running beta software and, rather unsurprisingly, it doesn't work (__pcBodyStore seems to be null, or empty). I think it's failing to login into mind.tivo.com - it seems that tivo.com and tivo.com.au accounts are not equivalent.

    Is mind.tivo.com related to online scheduling, or is it some other service? We have online scheduling here, but it's done via a third party (yahoo7.com.au!).
     
  4. Feb 22, 2009 #84 of 297
    moyekj

    moyekj Well-Known Member

    11,253
    72
    Jan 23, 2006
    Mission...
    I solved the problem by specifying same ffmpeg that is used by streambaby in my pyTivo.conf file. So check to make sure you are pointing to a recent complete version of ffmpeg in pyTivo to see if that helps.

    EDIT: I'm pretty certain that your problem is incorrect or missing ffmpeg specification in your pyTivo.conf since you are getting an OS error when trying to spawn a child process:
     
  5. Feb 22, 2009 #85 of 297
    moyekj

    moyekj Well-Known Member

    11,253
    72
    Jan 23, 2006
    Mission...
    That would be confusing as there is an inherent delay with a push (takes a few minutes to start) compared to a pull. The push mechanism could be made easier by having an auto push folder type setup like TD+ where you just drop files into the folder to initiate a push. But that's kind of a pain to code as it means setting things up properly so you don't push the same file over and over again among other things.
    For instant gratification purposes I would just use streambaby for most mp4s and for the few longer mp4s the pyTivo push method is pretty easy as it is right now.
     
  6. Feb 22, 2009 #86 of 297
    westside_guy

    westside_guy Annoyingly ephemeral

    464
    1
    Mar 13, 2005
    The soggy...
    I know I'm probably stating the obvious but - rather than fake a pull front end I think it would make more sense to set up a Tivo front end of such a "push" app so it's more obvious exactly what you're initiating - which would be more of a HME style app, I'd guess.
     
  7. Feb 22, 2009 #87 of 297
    PaulS

    PaulS Member

    684
    2
    Sep 16, 2002
    Southern NH
    ...or, pyTivo could allow you to specify what type of service is being provided by that share. Default would be "pull", but could be over-ridden to provide a "push" service.
     
  8. Feb 23, 2009 #88 of 297
    ryanrk

    ryanrk New Member

    18
    0
    Oct 13, 2006
    Yea, that was it. Some how ffmpeg got uninstalled in the past day or two.
     
  9. Feb 23, 2009 #89 of 297
    txporter

    txporter One sec, almost done

    666
    0
    Sep 17, 2006
    Austin, TX
    This is sort of a tangential question, but what are the Tivo limitations for mp4 as far as framerate, etc. The tivos don't like anything but 29.97 fps MPEG2, is the same true for mp4 file, or can tivo except 23.976 fps and other framerates?

    Jason
     
  10. Feb 23, 2009 #90 of 297
    wmcbrine

    wmcbrine Ziphead

    10,401
    36
    Aug 2, 2003
    OK, I've integrated basic h.264 pushing into my pyTivo fork. It's a bit hackish yet, but you can run one pyTivo instance and serve both MPEG-2 and h.264. If you're pushing to an S3/HD, the push function now checks if the file has h.264 video and AAC or AC3 audio, and attempts to pass it through if so. Otherwise it behaves as before. This doesn't check things like the container type yet, so there could be a lot of false positives. If the push fails, you'll have to pull (and get it transcoded to MPEG-2). Still, it's pretty cool. :)
     
  11. Feb 23, 2009 #91 of 297
    burnside

    burnside New Member

    42
    0
    Jan 12, 2009
    Great work man, can't wait to try this out!
     
  12. Feb 23, 2009 #92 of 297
    moyekj

    moyekj Well-Known Member

    11,253
    72
    Jan 23, 2006
    Mission...
    That's news to me. I'm pretty sure I have a bunch of mpeg2 DVD rips with 23.97 fps that play fine on my S3 Tivos. Some of those rips I converted to mp4 (preserving frame rate) for mp4 testing purposes and they also play fine. Could it be perhaps S2s and earlier that didn't like alternate frame rates?
    It looks to me like tivo decoding of mp4 container with h.264 video & aac or ac3 audio is pretty flexible as far as framerate, resolution, bit rate, etc. I believe level 4.1 or lower is still a requirement (i.e. level 5.1 for example doesn't work but I think encodings at that level are very rare anyway).
     
  13. Feb 23, 2009 #93 of 297
    moyekj

    moyekj Well-Known Member

    11,253
    72
    Jan 23, 2006
    Mission...
    That was quick! Thanks for implementing the changes. Shall check it out tonight.
     
  14. Feb 23, 2009 #94 of 297
    txporter

    txporter One sec, almost done

    666
    0
    Sep 17, 2006
    Austin, TX
    Hmm...well, I thought that I had tried this...but maybe not?? I have read a few posts from the folks at VideoRedo that seemed pretty certain about this and I thought I had followed up and tried it on my TivoHD, but maybe not. I would like to be able to take telecined DVDs and encode them as progressive 23.976 fps and avoid running pulldown on them again if it is possible. I suppose I will need to try it.

    Thanks for the info on mp4 though. With the advent of being able to upload mp4s to the tivo, I might alter my plans to convert to MPEG2 and begin moving everything to mp4.

    Also, I guess that I haven't seen a question or answer about this, but uploaded mp4s play and act the same as MPEG2 on the tivo?

    Jason
     
  15. Feb 23, 2009 #95 of 297
    euckersw

    euckersw New Member

    23
    0
    Jan 30, 2004
    Can I get some help in how to run qt-faststart? I see that there is a C and Python version - which should I use, and how do I execute it? I'm a bit lost...
     
  16. Feb 23, 2009 #96 of 297
    moyekj

    moyekj Well-Known Member

    11,253
    72
    Jan 23, 2006
    Mission...
    Python version would make it more platform independent so would be the better choice. (I haven't tried Python version so can't confirm if it works properly or not). If you are on windows then there's compiled versions readily available already. I have a compiled version for windows as part of kmttg distribution (also includes the c code for a simple compile on other platforms). The syntax for the C-version is very simple:
    qt-faststart infile outfile
    If successful you will see some output messages about moov atom being moved to front of the file. The resulting output file will be identical in size to input file and function fine in all players so no point keeping the original version around once you are satisfied newly created file works.

    P.S. Since a python version is available theoretically a nice touch to the pyTivo integration would be to check the mp4 file to see if moov atom is at the front of the file and if not spit out an error message accordingly... I suppose one could even make it automatically run the conversion if necessary but I think that's pushing things too far once you start messing with video files without user intervention since something could go wrong.

    P.P.S. I suppose another possible tactic is pyTivo to take the streambaby approach and send the relevant section of the mp4 file containing moov atom ahead of the rest of the file (I'm not exactly sure how Keary is doing it in streambaby but I think that's the gist of it). That way no pre-processing of file would be needed just as it is in streambaby. However that would probably involve a lot of extra coding headaches and is probably not worthwhile.
     
  17. Feb 23, 2009 #97 of 297
    euckersw

    euckersw New Member

    23
    0
    Jan 30, 2004
    Thanks - I was looking for a compiled version and that helped greatly. So I tried using it on a .mkv file that I have, but it turns out it wasn't needed (I received an error when I tried to use it on the file) and the video transfered using pyTivo without transcoding - awesome!

    Now my question is what files require using qt-faststart before transfering, and do you receive some sort of error when pushing if a file needs qt-faststart? Thanks for the help.
     
  18. Feb 23, 2009 #98 of 297
    moyekj

    moyekj Well-Known Member

    11,253
    72
    Jan 23, 2006
    Mission...
    I posted about that here:
    http://www.tivocommunity.com/tivo-vb/showthread.php?p=7084028#post7084028
    i.e. As far as pyTivo is concerned there will be no problem, but transfer to Tivo will fail (and recordings history will show some catch all error about failed transfer due to incorrect file size).
     
  19. Feb 23, 2009 #99 of 297
    euckersw

    euckersw New Member

    23
    0
    Jan 30, 2004
    So do .mkv files not need this extra step? As I said, I did not run qt-faststart on the .mkv file I pushed, and it worked like a charm. Thanks for your help.
     
  20. burnside

    burnside New Member

    42
    0
    Jan 12, 2009
    Quick noob question. I'm getting ready to start converting my dvds to mp4. I had already started on a few conversions to mpeg2, but after finding this thread the other day, I'm excited to switch to mp4. Before I go overboard with converting my entire library, what is the best format for these conversions? I'm guessing h.264 video with aac/ac3, correct? If so, would this allow my tivo to play 5.1 audio?
     

Share This Page