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

Streambaby - new streaming application

Discussion in 'TiVo Home Media Features & TiVoToGo' started by kearygriffin, Jan 20, 2009.

  1. Mar 12, 2009 #701 of 3464
    rfryar

    rfryar My Media, My Way

    224
    0
    Feb 15, 2008
    Cottage...
    I have a MP4 file that just causes the TiVo to hang. Here is the FFmpeg info:

    Code:
    X:\Videos\Recordings>ffmpeg -i TheDarkKnight.mp4
    FFmpeg version Sherpya-r15666, Copyright (c) 2000-2008 Fabrice Bellard, et al.
      libavutil     49.12. 0 / 49.12. 0
      libavcodec    52. 0. 0 / 52. 0. 0
      libavformat   52.22. 1 / 52.22. 1
      libavdevice   52. 1. 0 / 52. 1. 0
      libswscale     0. 6. 1 /  0. 6. 1
      libpostproc   51. 2. 0 / 51. 2. 0
      built on Oct 22 2008 23:37:16, gcc: 4.2.5 20080919 (prerelease) [Sherpya]
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'TheDarkKnight.mp4':
      Duration: 02:32:13.29, start: 0.000000, bitrate: 9830 kb/s
        Stream #0.0(und): Video: h264, yuv420p, 1920x1080, 23.98 tb(r)
        Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16
    I turned on debugging and here is that info:
    Code:
    03/12/09 19:30:16 ViewScreen: Desc: TheDarkKnight.mp4
    03/12/09 19:30:17 PreviewWindow: pWidth: 1280
    03/12/09 19:30:17 PreviewWindow: preview parent=BView[#2378,bounds=0,0,1280x720]
    03/12/09 19:30:17 HostContext: key=mpos:file:/E:/Videos/Recordings/TheDarkKnight.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
    03/12/09 19:30:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
    03/12/09 19:30:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
    03/12/09 19:30:17 HostContext: compKey=6520001804D6646-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
    03/12/09 19:30:17 ViewScreen: goto position: 0, vidlen: 9133290
    03/12/09 19:30:17 ViewScreen: Position not in buffer, starting new stream
    03/12/09 19:30:17 ViewScreen: Openening stream at position: 0(0 secs)
    03/12/09 19:30:17 VideoModuleHelper: quality setting is above quality of video, streaming normally
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 0
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:24)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 24
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MoovAtom (size:4220653)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 4220677
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MvhdAtom (size:108)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 4220785
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.IodsAtom (size:21)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 4220806
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:2112033)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 6332839
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 6332931
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:2111933)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 8444864
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 8444896
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:55)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 8444951
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:2111838)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556789
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.VmhdAtom (size:20)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556809
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556845
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556873
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:2111774)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12668647
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:186)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12668833
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Avc1Atom (size:170)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12669003
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12669027
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.CttsAtom (size:1065160)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 13734187
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StssAtom (size:11124)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 13745311
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:52)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 13745363
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:875940)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 14621303
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Co64Atom (size:159280)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 14780583
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:2108098)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 16888681
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 16888773
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:2107998)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 18996771
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 18996803
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:55)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 18996858
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:2107903)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104761
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SmhdAtom (size:16)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104777
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104813
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104841
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:2107843)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212684
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:91)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212775
    03/12/09 19:30:17 MP4StreamFactory$2: UnknownAtom(109,112,52,97): mp4.util.atom.Mp4aAtom (size:75)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212850
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212874
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:235936)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23448810
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:1712512)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25161322
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Co64Atom (size:159272)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25320594
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.UdtaAtom (size:385)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25320979
    03/12/09 19:30:17 MP4StreamFactory$2: UnknownAtom(99,104,112,108): mp4.util.atom.ChplAtom (size:377)
    03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25321356
    03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:11218969068)
    03/12/09 19:30:17 MP4StreamFactory$2:    Large size atom
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: moov size 4220645
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: mdat size 11218969052
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: sampleNum 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: new key frame 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: Movie time 9133 sec, cut at 0.0sec
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: moov chunk 4220693
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: cut moov chunk 4220693
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: updateAmount 159289
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: movie skip 0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: Cut Movie time 9133 sec 
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: sampleNum 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: new key frame 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: Movie time 9133 sec, cut at 0.0sec
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
    03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
    03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0
    
    Any ideas? Otherwise how does anyone else turn their Blu-Rays into Tivo playable MP4s? I used ripbot264 on this one.

    Thanks,

    Rick
     
  2. Mar 12, 2009 #702 of 3464
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    Well, I'm sure that the current streambaby code will create an invalid MP4 for this file, as although streambaby supports 64-bit mp4 atoms (co64 & large mdat atoms), the TiVo only supports 32-bit atoms, so streambaby tries to translate. In this case since the file is > 4G any parts of the MP4 that are past the 4G point will be coded incorrectly. I was hoping (but not hopeful) that the TiVo would be OK with this, since it would never get to the invalid parts of the file anyway (since it stops buffering at 1.1G). Unfortunately it is quite possible that the TiVo is seeing the incorrect chunks in the MP4 header (which are at the beginning) and croaks, even though it would never end up playing those parts.

    So, I'm not sure if this is the problem, but it very well could be.

    I'll try to put together some code this weekend to take care of this, by truncating the file at the point where it would exceed 4G. This should be OK since the tivo will stop buffering at 1.1G anyway. (This doesn't mean you can't play the whole movie. As soon as the rebuffering starts at the 1.1G point or you FFWD, it is 4G from the point you are starting/restarting to play from)
     
  3. Mar 12, 2009 #703 of 3464
    rfryar

    rfryar My Media, My Way

    224
    0
    Feb 15, 2008
    Cottage...
    Sounds great! Let me know if there is any other information you need or if there is anything you wanted me to try on my end first.

    Rick
     
  4. Mar 13, 2009 #704 of 3464
    pmd

    pmd New Member

    32
    0
    Dec 14, 2004
    Good, no infinite loop, and it's getting a lot further (past the udta atom finally):

    Code:
    uri: file:/Volumes/Store/Video/Movies/Little%20Miss%20Sunshine%20(2006).mov, Container: mp4, Duration: 5903.16 seconds
    Video: h264 718x424 25.0 fps
      PixAspect: 1.4220123, Aspect: 2.4080303
    Audio: aac 44100HZ 2 channels
    03/13/09 19:02:33 MP4StreamFactory$2: Reading atom at offset: 0
    03/13/09 19:02:33 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:32)
    03/13/09 19:02:33 MP4StreamFactory$2: Reading atom at offset: 32
    03/13/09 19:02:33 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:2431082)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 2431114
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:16)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 2431130
    03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(119,105,100,101): mp4.util.atom.WideAtom (size:8)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 2431138
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:980593490)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 983024628
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MoovAtom (size:2432605)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 985457233
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MvhdAtom (size:108)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 985457341
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:973764)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431105
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431197
    03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(108,111,97,100): mp4.util.atom.LoadAtom (size:24)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431221
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.EdtsAtom (size:36)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431257
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.ElstAtom (size:28)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431285
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:973592)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 987404877
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 987404909
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:58)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 987404967
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:973494)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378461
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.VmhdAtom (size:20)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378481
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:57)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378538
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378574
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378602
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:973373)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989351975
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:157)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989352132
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Avc1Atom (size:141)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989352273
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989352297
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StssAtom (size:5348)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989357645
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:283072)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989640717
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:590336)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 990231053
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StcoAtom (size:94428)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 990325481
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.UdtaAtom (size:12)
    03/13/09 19:02:37 MP4StreamFactory$2: Skipping extra container bytes: 4
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 990325493
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:1457639)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783132
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783224
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.EdtsAtom (size:36)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783260
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.ElstAtom (size:28)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783288
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:1457030)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 993240318
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 993240350
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:58)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 993240408
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:1456932)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697340
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SmhdAtom (size:16)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697356
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:57)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697413
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697449
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697477
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:1456815)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154292
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:203)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154495
    03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(109,112,52,97): mp4.util.atom.Mp4aAtom (size:187)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154682
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154706
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:329740)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996484446
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:1016916)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 997501362
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StcoAtom (size:109924)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 997611286
    03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MetaAtom (size:461)
    03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 997611747
    03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(0,0,0,0): mp4.util.atom.X0X0X0X0Atom (size:1751411826)
    03/13/09 19:02:37 Listener: 
    03/13/09 19:02:37 Listener: connection to receiver closed
    03/13/09 19:02:37 Listener: 
    03/13/09 19:02:37 Factory: HME receiver disconnected
    03/13/09 19:02:37 Listener: 
    03/13/09 19:02:37 Listener: Unexpected error: com.tivo.hme.sdk.HmeException: Socket closed
    03/13/09 19:02:37 Listener: com.tivo.hme.sdk.HmeException: Socket closed
    	at com.tivo.hme.sdk.Application.fatalError(Application.java:937)
    	at com.tivo.hme.sdk.Application.cmdViewSetResource(Application.java:1073)
    	at com.tivo.hme.sdk.View.setResource(View.java:566)
    	at com.tivo.hme.sdk.View.clearResource(View.java:536)
    	at com.unwiredappeal.tivo.views.VText.remove(VText.java:64)
    	at com.unwiredappeal.tivo.streambaby.ViewScreen.remove(ViewScreen.java:1504)
    	at com.unwiredappeal.tivo.streambaby.ViewScreen.cleanup(ViewScreen.java:1545)
    	at com.unwiredappeal.tivo.streambaby.StreamBabyStream.cleanup(StreamBabyStream.java:397)
    	at com.unwiredappeal.tivo.streambaby.StreamBabyStream$StreamBabyStreamFactory.removeApplication(StreamBabyStream.java:214)
    	at com.tivo.hme.sdk.Application.close(Application.java:458)
    	at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:319)
    	at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
    	at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
    	at java.lang.Thread.run(Thread.java:613)
    
    03/13/09 19:02:37 Listener: ctx=HttpRequest /streambaby/ t=java.net.SocketException: Socket closed
    
    
    I'm happy to keep helping you sort out my bizarre mp4 files :) At some point you should just tell me how to start debugging it myself in Eclipse! I've used a fair few IDEs in my time, but not Java in Eclipse (Python and C++ yes, but ironically not Java).
     
  5. Mar 13, 2009 #705 of 3464
    cburbs

    cburbs New Member

    158
    0
    Jan 29, 2009
    So why do AVI files play fine but not MKV. These are show downloaded from RSS feed.
     
  6. Mar 14, 2009 #706 of 3464
    rfryar

    rfryar My Media, My Way

    224
    0
    Feb 15, 2008
    Cottage...
    It has to do with the CPU processing required to convert. Converting XVid AVIs does not take much CPU, but decoding MKVs takes significant CPU power, so the transcoding process to MPG2 does not happen in real time.

    Watch your CPU resources on the machine running Streambaby, and see the difference.

    I would also take a guess that the AVI material is not as high res as the MKV video, which will also impact the time and CPU required to transocde it.

    Rick
     
  7. Mar 14, 2009 #707 of 3464
    tbear334

    tbear334 New Member

    11
    0
    Sep 12, 2007
    I am using manually created pyTivo style .txt meta data files that work fine. But if I add an image file <filename>.mp4.jpg, the image will show up, but none of the other information. If I rename the image file to something else, the text data works. What am I doing wrong?

    BTW, awesome job!
     
  8. Mar 14, 2009 #708 of 3464
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    Sorry for the late response but I was out of town. I took this m2ts file and demuxed it then remuxed it using mp4muxer.exe. I've also remuxed it using megui with the same result. You can download it here: http://www.adrive.com/public/5bb63c5fe95508313e2d54f20dc98a10d391e0f5606a3443caa317e490a4efed.html

    It transfers over but is in slow motion with what sounds like normal audio speed. thanks. any help would be appreciated.

    Here's mediainfo on it:

    General
    Complete name : I:\Sony Backup\2-22-2009\Emmy's Birthday not muxed\20090221135104.track_4113.mp4
    Format : MPEG-4
    Format profile : Base Media / Version 2
    Codec ID : mp42
    File size : 91.6 MiB
    Duration : 1mn 52s
    Overall bit rate : 6 815 Kbps
    Encoded date : UTC 2009-03-14 14:02:39
    Tagged date : UTC 2009-03-14 14:02:48
    Writing application : mp4creator 1.6.1d

    Video
    ID : 1
    Format : AVC
    Format/Info : Advanced Video Codec
    Format profile : High@L4.0
    Format settings, CABAC : Yes
    Format settings, ReFrames : 2 frames
    Codec ID : avc1
    Codec ID/Info : Advanced Video Coding
    Duration : 1mn 52s
    Bit rate mode : Variable
    Bit rate : 6 626 Kbps
    Width : 1 920 pixels
    Height : 1 080 pixels
    Display aspect ratio : 16/9
    Frame rate mode : Constant
    Frame rate : 25.000 fps
    Original frame rate : 29.970 fps
    Resolution : 24 bits
    Colorimetry : 4:2:0
    Scan type : Interlaced
    Scan order : Top Field First
    Bits/(Pixel*Frame) : 0.128
    Stream size : 89.1 MiB (97%)
    Encoded date : UTC 2009-03-14 14:02:39
    Tagged date : UTC 2009-03-14 14:02:47

    Audio
    ID : 2
    Format : AC-3
    Format/Info : Audio Coding 3
    Codec ID : ac-3
    Duration : 47s 72ms
    Bit rate mode : Constant
    Bit rate : 448 Kbps
    Channel(s) : 6 channels
    Channel positions : Front: L C R, Surround: L R, LFE
    Sampling rate : 48.0 KHz
    Resolution : 16 bits
    Stream size : 2.51 MiB (3%)
    Encoded date : UTC 2009-03-14 14:02:48
    Tagged date : UTC 2009-03-14 14:02:48
     
  9. Mar 14, 2009 #709 of 3464
    krismast

    krismast New Member

    7
    0
    Dec 10, 2008
    ok im confused. i got it to show up on the tivo but when i run it it says No entries in this directory. I tried putting my directory in the ini file. Can someone please tell me exactly what to do. Im not good at this stuff.
     
  10. Mar 14, 2009 #710 of 3464
    moyekj

    moyekj Well-Known Member

    11,381
    128
    Jan 23, 2006
    Mission...
    Well Videolan VLC plays it back exactly as you describe - normal audio and slow motion video. Media Player Classic also plays it back in slow motion. Windows Media Player can't play it at all (I have the proper codecs since other mp4 files that stream to Tivo play in WMP fine). Until you get normal playback with VLC I wouldn't even attempt to stream/transfer to Tivo.
     
  11. Mar 14, 2009 #711 of 3464
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    I'm not sure what this means but it will play perfectly in mplayer if under options I make the setting: -fps 60000/1001

    I found that out under trial and error, just don't know what I'm doing but that makes the file play correctly. That's the only setting I have under mplayer.
     
  12. Mar 14, 2009 #712 of 3464
    moyekj

    moyekj Well-Known Member

    11,381
    128
    Jan 23, 2006
    Mission...
    That's forcing it to play at 60 frames per second. Analyzing the file with MediaInfo or ffmpeg they specify the encoding frame rate as 25 frames per second so that's likely why it looks like slow motion when played back. Needless to say this encoding seems to have plenty of issues for several different decoders so I wouldn't expect Tivo to decode it properly either.
    I would revisit your .m2ts -> .mp4 conversion process until you get to a point where VLC can play back the .mp4 file properly.
     
  13. Mar 14, 2009 #713 of 3464
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    The problem here is that streambaby supports images as "metadata" and so once it sees the <filename>.mp4.jpg file it stops looking for anymore metadata and just uses the image. (so it never gets to the pyTivo data). I'll probably change the priority in a future version so pyTivo metdata has priority over just an image.

    What you want to do is edit the pyTivo .txt meta file, and add the following line:
    image : img-<filename>.mp4.jpg

    And rename the jpg to img-<filename>.mp4.jpg (you can use any filename, as long as it is not <filename>.mp4.jpg) Now you should get both text and image.

    (When I fix it, you won't have to rename the jpg file, but you will still need to insert the image : tag in the pyTivo metadata)

    The alternative to renaming the jpg files is to put them in a separate directory (images for instance) so in the .txt file:
    image : images/<filename>.mp4.jpg
     
  14. Mar 14, 2009 #714 of 3464
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    The INI should look something like the following:
    dir.1=c:\path\to\my\Videos

    If you have something like that and it still does not seem to work, could you post your INI settings? And also, I am assuming this is Windows?
     
  15. Mar 14, 2009 #715 of 3464
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    well that's just it... i can get to transfer over if I "transcode" the file using tmpgenc. I was just hoping to be able to transfer it over without transcoding (just demuxing and muxing) and therefore retaining perfect quality. I guess that doesn't look like it's possible?
     
  16. Mar 14, 2009 #716 of 3464
    moyekj

    moyekj Well-Known Member

    11,381
    128
    Jan 23, 2006
    Mission...
    Try RipBot264 to convert .m2ts to .mp4. Since video is already H.264 I think it should leave it alone when converting. Audio will probably re-encode to AAC though.
     
  17. Mar 14, 2009 #717 of 3464
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    Unfortunately ripbot always wants to transcode it. The lower the CQ the higher the bitrate, the higher the CQ the lower the bitrate.
    I could be wrong but it certainly seems like its transcoding it. Yeah, it does. The file is now progressive after conversion and the bitrate is constant instead of variable.
     
  18. Mar 14, 2009 #718 of 3464
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    If you have MP4Box you can fix the file like this: (make sure you have a backup!) The # lines are just comments..

    # Extract the video track (track 1 in the sample file)
    # Can be found by looking at output of MP4Box -info file.mp4
    MP4Box file.mp4 -raw 1
    # the above should create a file file_track1.h264

    # Delete the video track from the mp4
    MP4Box file.mp4 -rem 1

    # Re-add the video track, using 59.94 as the fps
    MP4Box file.mp4 -add file_track1.h264 -fps 59.94
     
  19. Mar 14, 2009 #719 of 3464
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    I wasn't able to test on the TiVo when I posted that, but although that seems to "fix" the MP4 file as far as mplayer was concerened, TiVo still doesn't like the file. Not sure why. Could be that TiVo just won't support that type of MP4 or because the fixing process somehow messes up something else.
     
  20. Mar 14, 2009 #720 of 3464
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    ok. thanks for all your help.
     

Share This Page