Re: large file size (not bit rate) makes playback very slow ??



got more hints :

I straced the rygel server process, and found that during the playback of the large file(i.e when it becomes not smooth), the process is trying to call mutex() a lot, possibly there are some bugs causing temporary collission . when I play the small file, such calls do not show up


write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN}, {fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN}, {fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN}, {fd=23, events=POLLIN}], 18, 91) = 2 ([{fd=3, revents=POLLIN}, {fd=23, revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0", 16)         = 8
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN}, {fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN}, {fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN}, {fd=23, events=POLLIN}], 18, 91) = 2 ([{fd=3, revents=POLLIN}, {fd=23, revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0", 16)         = 8
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN}, {fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN}, {fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN}, {fd=23, events=POLLIN}], 18, 91) = 2 ([{fd=3, revents=POLLIN}, {fd=23, revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0", 16)         = 8
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0xdc86ab4, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xdc86ab0, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xb55c000, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xb55cac4, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0xb55cac0, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0xb4c1a00, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0xdc86ce0, FUTEX_WAKE_PRIVATE, 1) = 1
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLIN}, {fd=14, events=POLLIN}, {fd=16, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN}, {fd=28, events=POLLIN}, {fd=27, events=POLLIN}, {fd=19, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=POLLIN}, {fd=31, events=POLLIN}, {fd=24, events=POLLOUT}, {fd=18, events=POLLIN}, {fd=23, events=POLLIN}], 18, 90) = 2 ([{fd=3, revents=POLLIN}, {fd=23, revents=POLLIN}])
read(3, "~\0\0\0\0\0\0\0", 16)          = 8
futex(0x2417da0, FUTEX_WAKE_PRIVATE, 1) = 1
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x2417da0, FUTEX_WAKE_PRIVATE, 1) = 1
write(3, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x2417da0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fbf54000020, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fbf54000020, FUTEX_WAKE_PRIVATE, 1) = 0
(END)


On Sun, Dec 21, 2014 at 2:36 PM, Yang <teddyyyy123 gmail com> wrote:

somehow it seems that the quality of video playback is not dependent on bit rate (all my videos are encoded at 2000bits/s bit rate ), the smaller files (700MB) play fine, without any stops. but when I play the larger files, they constantly go into buffering (about every 2 seconds, pausing for about 10 seconds ).

I cut out the first 10 minutes of my big video (the total video is 4.4GB, 100minutes, I cut off the first 10min, about 500MB), then play it. it plays very smooth. this has been tested and reproduced very consistently.

I checked all the factors: disk is fairly fast, writing/reading speed when plugging this usb to a computer, is about 35MB/sec , way over the 2000bits/sec bandwidth needed for the video. network bandwidth capacity is about 2.5MB/sec, I used several client apps, they show the same behavior, so it's not that the clients are busy.


this looks to be a general problem to many DLNA/uPNP servers , I tried rygel, mediatomb, minidlna, and pogoplug, clients used were vlc, bubbleupnp etc. 



so how is this possible? is there a fix? (of course a workaround is to cut my files into sections, but that's too cumbersome)



Thanks
Yang



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]