Long delays with oflaDemo

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Long delays with oflaDemo

Liontooth
When I stream a one-hour mp4 (h264/aac) file using oflaDemo through a
fast campus gigabit network, I get

 * a delay of a handful of seconds, then the "snow" in oflaDemo's
opening video window freezes
 * after another delay of twenty seconds the sound comes through (good
quality)
 * after another delay of a minute the video comes through

The video then fast forwards until it catches up with the sound, and
everything plays fine from then on.

What's going wrong? Something is generating a looong delay. When I use
Flowplayer, the whole file loads in a few seconds. If I load the file
through NFS, it plays within a split second.

This is a plain vanilla installation of red5 from svn trunk yesterday,
no build errors, no configuration changes, running on Debian sid. The
client is using the latest Flash player on OSX 10.5.

Video properties:
mp4info version 1.9.1
File.mp4:
Track Type Info
1 video H264 High@2.1, 1794.993 secs, 450 kbps, 448x336 @ 29.970033
fps
2 audio MPEG-4 AAC LC, 1794.995 secs, 96 kbps, 44100 Hz
 Encoded with: HandBrake 0.9.3 2008112300

The logs show this kind of thing:

[INFO] [NioProcessor-5] org.red5.server.net.rtmp.RTMPHandler -
Connecting to: [WebScope@31602bbc Depth = 1, Path = '/default', Name =
'oflaDemo']
[INFO] [NioProcessor-5] org.red5.server.net.rtmp.RTMPHandler -
Remembering client buffer on stream: 5000
[INFO] [NioProcessor-5] org.red5.io.mp4.impl.MP4Reader - Video samples
have differing durations, video playback may fail
[INFO] [pool-4-thread-1]
org.red5.server.net.rtmp.codec.RTMPProtocolEncoder - Resetting clock
time (1258769623755) to stream time (0)
[INFO] [pool-4-thread-1]
org.red5.server.net.rtmp.codec.RTMPProtocolEncoder - Resetting clock
time (1258769623767) to stream time (0)
[INFO] [NioProcessor-6] org.red5.server.net.rtmp.RTMPHandler -
Connecting to: [WebScope@31602bbc Depth = 1, Path = '/default', Name =
'oflaDemo']
[INFO] [NioProcessor-6] org.red5.server.net.rtmp.RTMPHandler -
Remembering client buffer on stream: 5000
[INFO] [NioProcessor-6] org.red5.io.mp4.impl.MP4Reader - Video samples
have differing durations, video playback may fail
[INFO] [pool-4-thread-1]
org.red5.server.net.rtmp.codec.RTMPProtocolEncoder - Resetting clock
time (1258769657019) to stream time (0)
[INFO] [pool-4-thread-2]
org.red5.server.net.rtmp.codec.RTMPProtocolEncoder - Resetting clock
time (1258769657031) to stream time (0)
[INFO] [pool-4-thread-2] org.red5.io.mp4.impl.MP4Reader - Video
samples have differing durations, video playback may fail

Cheers,
Dave
Reply | Threaded
Open this post in threaded view
|

Re: Long delays with oflaDemo

Liontooth
Here's the log from oflaDemo -- below this stretch is just a massive
slew of numbers. Any reason I'm getting such long delays? BTW the
delays are basically the same whether I'm on a fast campus network or
DSL from home.

Again, I'm getting a long delay before streaming starts, audio starts
ten seconds or more before the video, and then the video comes and
catches up and the file plays fine. Do I perhaps need to generate an
mp4 metafile to avoid this?

(83) Connections: true | true
(10132) connected?: true
(10264) NetConnection.onStatus:
  fmsVer = RED5/0,9,0,0
  capabilities = 31
  description = Connection succeeded.
  code = NetConnection.Connect.Success
  level = status


(10265) catchVideos: [type Function]
(10305) :

  test.mp4 =
      size = 123765428
      name = test.mp4
      lastModified = 20/11/09 16:07:40



(21786) test.mp4:
(26995) NetStream.onStatus:
  clientid = 1
  details = test.mp4
  description = Playing and resetting test.mp4.
  code = NetStream.Play.Reset
  level = status


(26996) NetStream.onStatus:
  clientid = 1
  details = test.mp4
  description = Started playing test.mp4.
  code = NetStream.Play.Start
  level = status


(29723) metaData:
  trackinfo = ,
      1 =
          sampledescription =
              0 =
                  sampletype = avc1


          language = und
          timescale = 44100
          length_property = 79089786

      0 =
          sampledescription =
              0 =
                  sampletype = mp4a


          language = und
          timescale = 44100
          length_property = 79117312


  moovposition = 122439483
  videoframerate = -24.316886498874
  aacaot = 1
  height = 336
  avcprofile = 100
  duration = 1794.04335600907
  videocodecid = avc1
  canSeekToEnd = true
  audiochannels = 2
  width = 448
  audiosamplerate = 44100
  seekpoints =