News for hackers. Stuff that matters.
Re:Ultra-High-Definition Quality Experience with MPEG-DASH S... by sp332 on Thursday May 28, 2015 @01:36PM (#9619727)
Why download more than you need? If your connection can handle real-time HD video then it won't stutter. est is talking about when you force YouTube to playback a higher resolution (under the gear icon) and then it doesn't buffer enough to keep up when you play.
Re:Ultra-High-Definition Quality Experience with MPEG-DASH S... by Retric on Thursday May 28, 2015 @01:45PM (#9619793)
Internet connections are not stable.

If you try to send exactly 1Mbps on a 30Mbps you will end up with less than 1Mbps of data. If you flood a 30Mbps connection you might get 10-30Mbps, but that's so far above the 1Mbps you’re looking for it's not an issue.

Edit: Another factor with large buffers, if you replay a second there is no need to re download that data, but the vast majority of services force you to download again.

PS: I have seen 100Mbps connections that can sustain 80+Mbps download just fine fail to keep a low latency 25kbps connection. The solution as odd as this sounds was to simply flood multiple copies of the same data.

Re:Ultra-High-Definition Quality Experience with MPEG-DASH S... by sp332 on Thursday May 28, 2015 @02:14PM (#9619998)
If you try to send exactly 1Mbps on a 30Mbps you will end up with less than 1Mbps of data.

Doesn't DASH completely fix this? You download one bit [edit: piece, not "bit"] of a video at max speed, then it just waits a bit and then grabs the next bit [piece] at max speed. So the average is maintained at "real-time" speed.

Edit: anyway this is irrelevant to est's case.

Re:Ultra-High-Definition Quality Experience with MPEG-DASH S... by Retric on Thursday May 28, 2015 @03:11PM (#9620406)
DASH? No.

Anyway, a bit is a fraction of a packet, so the download speed is more or less irrelevant.

For TCP/IP you want several sets of ACK packets, which can be a fair amount of data, before you try and guess a line speed. You can do Quick Start etc., but the protocol is designed around maximizing transmission speeds not a steady download rate.

You don’t need to stick with TCP/IP, but that opens up a huge can of worms which is more often than not handled poorly.

PS: To simplify; a lot of things are designed around maximizing total bandwidth. Clever buffering strategies are really important to pulling this off and many of those strategy's fail when someone is slow to fill up a buffer.

A simplified example: You send a 3k, packet the network is designed for 2k packet’s so it breaks that 3k packet up sends 2k, buffers 1k and waits for your next packet.

Your client on the other end expects 3k of data, that times out and it asks for you to resend... network gets 3k so it sends the last 1k and 1k of redundant data. Meanwhile the client things it must have a really slow connection even though requesting more data would speed things up. Note: There are a lot of ways this example could go. The network might give up on getting more data and send a 1k packet which adds high latency to your connection as you always need to wait for that timeout.

Consider, Wi-Fi connection > local network > home router > cable system > cable network > ...

Re:Ultra-High-Definition Quality Experience with MPEG-DASH S... by sp332 on Thursday May 28, 2015 @03:48PM (#9620673)
I didn't mean bit like "bit", I meant a piece. (I thought I fixed that before I posted, oops.) I just double-checked and that's exactly how it works. Each representation is divided into media segments, essentially the chunks of data that all HTTP-based adaptive streaming technologies use. Data chunks can be presented in discrete files, as in HLS, or as byte ranges in a single media file. http://www.streamingmedia.com/Articles/ReadArticle.aspx?Arti...

TCP is on Layer 4 of the OSI stack, DASH is HTTP which is up on layer 7. Nothing to do with ACKs or Quick Start or fragmentation.

Re:Ultra-High-Definition Quality Experience with MPEG-DASH S... by Retric on Thursday May 28, 2015 @04:23PM (#9620909)
The vast majority of the time HTTP runs over TCP so there not exactly unrelated. Yes, most programmers tend to ignore things below a given level of abstraction, but that's hardly safe. However, you see the same thing on several different protocols and it was really just used as a simplified example.

Anyway, for a more detailed answer, DASH is more or less unrelated to the issue. A service that uses DASH and is willing to give clients a huge buffer which is filled up as soon as possible is going to have far fewer issues than a service that uses DASA and tiny buffers.

PS: For a real word example, having a tiny battery and recharging it three times a day vs once would save the company some manufacturing costs. A Roomba is automated so this might not seem like a big deal. But, while it might work most of the time just fine, it still significantly increase the risks it runs out of power.

In the end when watching a streaming service I have gigabytes of ram just sitting there... use them.