Live data from Hacker News

Video Processing at Dropbox

tech.dropbox.com

1–10 of 29 posts

Re: Video Processing at Dropbox

#4
Interesting article. I have a few comments/questions:

HLS support on Android is incredibly spotty. Do you mean in-app HLS support? The Android Chrome browser doesn't support it at all, and only a select few versions of the regular Android browser support it. Then again, there's not a great alternative.

Why offer the multiple bitrates on the HLS stream at all? You know what the client's bandwidth is, why perform three separate live transcodes? Is this because you're delivering the stream to an iOS app and Apple requires that? In Safari or a UIWebkitView based app you probably wouldn't have to do that... Or is it to compensate for potential bandwidth fluctuations?

You mentioned the mpeg-ts segmenter in more recent versions of ffmpeg but also mentioned that it has unacceptably high latency. I have not found this to be the case so long as you set the segment times individually and force new keyframes at given times (-force_key_frames and -segment_times flags, otherwise the segmenter ignores your segment time option and just creates TS chunks at whatever frequency it wants to).

Pre-transcoding the first few seconds is a really great approach that I had never considered before. Very cool.

Re: Video Processing at Dropbox

#7
post #4

Interesting article. I have a few comments/questions: HLS support on Android is incredibly spotty. Do you mean in-app HLS support? The Android Chrome browser doesn't support it at all, and only a select few versions of the regular Android browser support it. Then again, there's not a great alternative. Why offer the multiple bitrates on the HLS stream at all? You know what the client's bandwidth is, why perform three…

As far as I know the only absolute requirement is to have at least a single 64K stream. All other bitrates come as general recommendations, but in my experience, offering a few different bitrates amount to far better, smoother playback, overall.

"Warning: These requirements apply to iOS apps submitted for distribution in the App Store for use on Apple products. Non-compliant apps may be rejected or removed, at the discretion of Apple."

https://developer.apple.com/library/ios/technotes/tn2224/_in...

Re: Video Processing at Dropbox

#8
post #3

Does it bother anyone else that dropbox is "processing" files at all? whether video or otherwise?

I was under the impression that Dropbox can't "see" your files in the sense that they wouldn't be able to tell what was inside a document or photo; it's all supposed to be encrypted. Given this new information, it appears that not only can they see what you have uploaded, they can actively process, encode, decode, etc.

Not exactly what I'm looking for in an online file storage company. I realize they've never outright said "we're 100% secure end to end" but they've indicated in the past that they have no interest in looking at their users' files. Now they are showing interest. Count me out.

Re: Video Processing at Dropbox

#10
post #4

Interesting article. I have a few comments/questions: HLS support on Android is incredibly spotty. Do you mean in-app HLS support? The Android Chrome browser doesn't support it at all, and only a select few versions of the regular Android browser support it. Then again, there's not a great alternative. Why offer the multiple bitrates on the HLS stream at all? You know what the client's bandwidth is, why perform three…

> HLS support on Android is incredibly spotty

I assume you mean spotty in Android pre-4.0? I'd worked on HLS streaming for Android recently and didn't have issues with ICS and later. But then again with Android you can't possibly test on all OS/device combinations, so would love to know if there are things I should be watching out for.

> Why offer the multiple bitrates on the HLS stream at all? You know what the client's bandwidth is

If you're watching video over a cellular network, it's very difficult to use a single bandwidth since it can fluctuate a lot. So the best practice (as dropbox is doing) is to offer multiple streams at different bandwidths to the client, and allow the client to pick the best one for the following segment based on current network conditions.

Post reply on HN