squirreltown
Roku Guru
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-28-2013
04:45 PM
Dropbox https
trying to play a video from Dropbox in the customvideoplayer example in the SDK
I know i need to put the cert somewhere. Is this the right place?:
Here is the error showing in the debugger:
Thanks
I know i need to put the cert somewhere. Is this the right place?:
this.player.SetMessagePort(this.port)
this.player.SetLoop(true)
this.player.SetPositionNotificationPeriod(1)
this.player.SetDestinationRect(this.layout.left)
this.player.SetCertificatesFile("common:/certs/ca-bundle.crt")
this.player.InitClientCertificates()
this.player.SetCertificatesDepth(3)
this.player.SetContentList([{
Stream: { url: "https://www.dropbox.com/s/5sf90bps47yd009/flexiflyer.mp4" }
StreamFormat: "mp4"
SwitchingStrategy: "full-adaptation"
}])
this.player.Play()
return this
End Sub
Here is the error showing in the debugger:
11, 0: startup progress
11, 66: startup progress
11, 0: Service does not support range requests.
11, 132: startup progress
9,-1: There was an error in the HTTP response. This could mean that malformed HTTP headers or an HTTP error code was returned.
16, 0: Playback completed.
11, 0: end of playlist
Thanks
Kinetics Screensavers
2 REPLIES 2
RokuChris
Roku Employee
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-28-2013
05:19 PM
Re: Dropbox https
I don't think the cert is the problem. The clue is this line:
Videos must be hosted on servers that support range requests.
But in this case it's a bit more involved. The URL you're using does not point directly to an mp4 file. As best I can tell, it points to an HTML page, but sometimes will get redirected to the actual mp4 depending on the user-agent header you send with the request. Below are two curl requests to your URL. One gets redirected and one doesn't. And I was able to play the video using the URL that the second one redirects to, but I just copy/pasted
You might be able to set a custom user-agent on your roVideoScreen to get it to work. Or you might have to find a way to resolve that redirect manually in BrightScript before passing it to the video screen. In the latter case a good place to start might be roURLTansfer's HEAD request capabilities: http://sdkdocs.roku.com/display/sdkdoc/ ... dasDynamic
11, 0: Service does not support range requests.
Videos must be hosted on servers that support range requests.
But in this case it's a bit more involved. The URL you're using does not point directly to an mp4 file. As best I can tell, it points to an HTML page, but sometimes will get redirected to the actual mp4 depending on the user-agent header you send with the request. Below are two curl requests to your URL. One gets redirected and one doesn't. And I was able to play the video using the URL that the second one redirects to, but I just copy/pasted
You might be able to set a custom user-agent on your roVideoScreen to get it to work. Or you might have to find a way to resolve that redirect manually in BrightScript before passing it to the video screen. In the latter case a good place to start might be roURLTansfer's HEAD request capabilities: http://sdkdocs.roku.com/display/sdkdoc/ ... dasDynamic
curl --user-agent "Roku" --head "https://www.dropbox.com/s/5sf90bps47yd009/flexiflyer.mp4"
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 29 May 2013 00:07:02 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
set-cookie: locale=en; expires=Mon, 28 May 2018 00:07:02 GMT; Path=/
set-cookie: gvc=Mjk4Mjg0MzQ4ODMwNzU5OTA4NzgzMzIyNjY1NDY2MzA0MzE4MjU2; expires=Mon, 28 May 2018 00:07:02 GMT; Path=/; httponly
set-cookie: t=Dq--a7UOc74bYH2wZT7sjgIr; Domain=dropbox.com; expires=Fri, 28 Jun 2013 00:07:02 GMT; Path=/; secure; httponly
strict-transport-security: max-age=2592000; includeSubDomains
x-server-response-time: 94
x-dropbox-request-id: c05e15a1c206f836
pragma: no-cache
cache-control: no-cache
x-dropbox-http-protocol: None
x-frame-options: SAMEORIGIN
X-RequestId: 1ed88dd864195fa8800591b9da6f5a4a
curl --head "https://www.dropbox.com/s/5sf90bps47yd009/flexiflyer.mp4"
HTTP/1.1 302 FOUND
Server: nginx
Date: Wed, 29 May 2013 00:07:17 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
set-cookie: locale=en; expires=Mon, 28 May 2018 00:07:17 GMT; Path=/
set-cookie: gvc=MTA0NDIzOTM0MDE5MjQ3Mjc4OTI4NzY2MjM0OTAwNTg3MzY2NTQ0; expires=Mon, 28 May 2018 00:07:17 GMT; Path=/; httponly
set-cookie: t=XncbJQep7QIcFVoUKzvKVjNP; Domain=dropbox.com; expires=Fri, 28 Jun 2013 00:07:17 GMT; Path=/; secure; httponly
strict-transport-security: max-age=2592000; includeSubDomains
location: https://dl.dropboxusercontent.com/s/5sf90bps47yd009/flexiflyer.mp4?token_hash=AAEbGaE8V7PKk99a4LdlRDe8S8YS0HsSKIqEMMqtTys_Rw
pragma: no-cache
cache-control: no-cache
x-dropbox-http-protocol: None
x-frame-options: SAMEORIGIN
x-dropbox-request-id: 56fa4500a5551724
X-RequestId: 9196d9a413f4d89b376b51909055d568
squirreltown
Roku Guru
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-28-2013
05:24 PM
Re: Dropbox https
Thank you very much Chris, I wouldn't have figured any of that out.
I'll get on it.
I'll get on it.
Kinetics Screensavers