trime
12 years agoVisitor
Can Roku play mp4s with cmov atoms?
I've got some mp4s with cmov[1] atoms. If I try and play such a file using roVideoScreen, I get a status -5 ('Content contains no playable tracks.').
I'm doing it like this:
content = {}
content.Stream = { url:"http://servername/path/to/file.mp4"
quality:false
contentid:"testing-data"}
content.StreamFormat = "mp4"
my_video_screen.SetContent(content)
In theory I could translate the video if there's space to save it on the tmp device (by decompressing the cmov atom and fixing up the moov atom length to account for it), but
* This seems pretty low level, and I'm surprised it doesn't just work? Am I doing something completely wrong? Is there some secret content.StreamFormat I should be using? The code works fine for media without compressed metadata (ie normal moov atoms containing mvhd and trak atoms)
* There don't seem to be any built in functions for decompressing data. I guess it's conceivable to implement deflate in brightscript, but perhaps not much fun 😞 Surely the roku can already do this (since code is uploaded in zip files, for instance!), but I cannot see how to do it in brightscript
Does anyone have any experience, or can anyone offer any suggestions?
[1] https://developer.apple.com/library/mac ... H204-33313
I'm doing it like this:
content = {}
content.Stream = { url:"http://servername/path/to/file.mp4"
quality:false
contentid:"testing-data"}
content.StreamFormat = "mp4"
my_video_screen.SetContent(content)
In theory I could translate the video if there's space to save it on the tmp device (by decompressing the cmov atom and fixing up the moov atom length to account for it), but
* This seems pretty low level, and I'm surprised it doesn't just work? Am I doing something completely wrong? Is there some secret content.StreamFormat I should be using? The code works fine for media without compressed metadata (ie normal moov atoms containing mvhd and trak atoms)
* There don't seem to be any built in functions for decompressing data. I guess it's conceivable to implement deflate in brightscript, but perhaps not much fun 😞 Surely the roku can already do this (since code is uploaded in zip files, for instance!), but I cannot see how to do it in brightscript
Does anyone have any experience, or can anyone offer any suggestions?
[1] https://developer.apple.com/library/mac ... H204-33313