Intermittent freezing problem with network streams
VLC-2.0.5-7 cannot display a network stream continuously on my Mac OS 10.6.8 dual core machine. I've observed two kinds of pauses:
- a fraction of a second when streaming from my HD-recorder,
- one second or more when streaming over the internet. This is not a performance issue. VLC can display HD movies at maximum screen resolution just fine on this machine, with CPU% < 40%.
-
Please test using the same 37MB file as I did http://www.hr.gl-systemhaus.de/video/fs/alleswissen/20130627_130626214639_wissen_digital.mp4 from German TV and watch the network load via Apple's activity monitor (part of the OS). On my system, network activity starts quite low (much less than available bandwidth). It even drops to zero for several seconds. From time to time, video and/or audio stall, simultaneously network traffic maxes out. Then playback resumes. VLC behaves as if it tries to fill its buffers too late. After a few seconds, network traffic drops to zero again and the next freeze occurs some seconds later.
-
When streaming (another file format) from the local network, activity shows a different picture. It shows a constant rate matching the video's quality but suddenly drops to zero for a short time. A hiccup may or may not occur. Those freezes occur less frequently (perhaps 1 per minute) than with the above internet file. The effect is the same with HD or SD movies.
I've reset preferences to default.
- Setting video codec preferences to "highest latency" makes the effect worse. Once it freezes, the network monitor shows a low 100KB/s during 5s. Playback resumes only after that much time.
- Setting to normal or "smallest latency" doesn't work either.
By comparison,
- The Quicktime player appears to slurp in the whole remote file at maximum network bandwidth, afterwards network activity drops to ~0 (not what I'd call streaming, but there are no freezes).
- The iTune player reads the remote URL in 2-3 chunks at maximum DSL network speed and plays without any hiccup too.
Judging from the network activity, it looks like VLC's caching is bogus (at least on Mac OS). It does not fill its caches in time or perhaps locks itself out of draining the cache while filling it. Network activity either climbs shortly prior to the freezes when streaming over the Internet or shortly drops to zero when the hiccups occur when streaming over my local network.
Using VLC -v shows these messages:
VLC media player 2.0.7 Twoflower (revision 2.0.7-3-g51f7bb4)
[0x100215220] main libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
2013-06-27 23:16:57.373 VLC[4605:903] ERROR: <PXSourceList: 0x1022a05b0>: Attempt to set unknown item as dropItem=<SideBarItem: 0x11495d820>.
[0x102238ef0] mp4 demux warning: MP4 plugin discarded (not fastseekable)
[0x1029852f0] faad decoder warning: decoded zero sample
[0x100808af0] freetype spu text error: Breaking unbreakable line
2013-06-27 23:17:04.378 VLC[4605:ce03] *** __NSAutoreleaseNoPool(): Object 0x102242280 of class NSCFNumber autoreleased with no pool in place - just leaking
[0x114982490] main audio output warning: PTS is out of range (-33180), dropping buffer
[0x116581420] main input error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 1666 ms)
[0x116581420] main input error: ES_OUT_RESET_PCR called
[0x116581420] main input error: ES_OUT_SET_(GROUP_)PCR is called too late (jitter of 5668 ms ignored)
[0x116581420] main input error: ES_OUT_RESET_PCR called
They do now show after downloading the 37MB video to local disk:
[0x116a8dd80] mp4 demux warning: CTTS table
[0x10290c2f0] faad decoder warning: decoded zero sample
2013-06-27 23:10:57.578 VLC[4586:d203] *** __NSAutoreleaseNoPool(): Object 0x102243140 of class NSCFNumber autoreleased with no pool in place - just leaking
[0x116ac2390] main audio output warning: PTS is out of range (-33179), dropping buffer
Using -vv shows no output during freeze. Below lines appear after each 1-5s freeze:
[0x116449ca0] main input error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 1709 ms)
[0x116449ca0] main input error: ES_OUT_RESET_PCR called
[0x116449ca0] main input debug: Buffering 0%
Later, some freeze correlates with a HTTP reconnect:
[0x116449ca0] main input error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 5640 ms)
[0x116449ca0] main input error: ES_OUT_RESET_PCR called
[0x11644b8b0] access_http access debug: trying to seek to 21221156
[0x11644b8b0] main access debug: net: connecting to www.hr.gl-systemhaus.de port 80
[h264 @ 0x10286a420] reference picture missing during reorder
[h264 @ 0x10286a420] reference picture missing during reorder
[h264 @ 0x10286a420] reference picture missing during reorder
[h264 @ 0x10286a420] reference picture missing during reorder
[h264 @ 0x10286a420] Missing reference picture
[h264 @ 0x10286a420] decode_slice_header error
[h264 @ 0x10286a420] concealing 920 DC, 920 AC, 920 MV errors in P frame
[0x11644b8b0] main access debug: connection succeeded (socket = 7)
[0x11644b8b0] access_http access debug: protocol 'HTTP' answer code 206
[0x11644b8b0] access_http access debug: Server: Apache
[0x11644b8b0] access_http access debug: Content-Type: video/mp4
[0x11644b8b0] access_http access debug: stream size=37556289,pos=21221156,remaining=16335133
[0x11644b8b0] access_http access debug: this frame size=16335133
[0x11644b8b0] access_http access debug: Connection: close
I can provide the whole log.