"kmh" wrote:
But could you add a feature to the server so that in certain circumstances,
instead of reading the file, the server executes the file and reads the
output? This would be an easy way to let users create their own plugins.
That's an interesting idea, but it's not so simple to just read the output. The video has to be either a complete MP4 (or has to at least have all the required meta-data for playback) or be an HLS m3u8 file.
"kmh" wrote:
Then if I wanted to play a video file from the internet, I could create a
script which downloads the file with wget, but writes the video data to
standard output instead of to a file, and then mymedia server would read the
video data from the output of the script and send the video data to the
mymedia roku client.
For the reason given above, this would probably not work most of the time. The box needs to be able to seek to find the information it needs to initialize the video decoder. I've watched what happens when you start a video and the box performs
many seeks within the video file, many of which make no sense to me, so trying to start playback while the file is still downloading probably wouldn't work most of the time, if at all.
"kmh" wrote:
This feature could also be used for transcoding.
The pesky details of internet accesss or transcoding would be
incorporated into the script, so mymedia would not have to deal with this.
That would be the user's responsibility. So the changes to the mymedia
server should be simple.
I've never seen the advantage to transcoding, but that may be because I only own Rokus, so I have no problem with converting everything to MP4. It seems silly to do that over and over on the same file, as transcoding on the fly would do.
Having said that, transcoding something found on the Internet that may only be available in flash (FLV) format to HLS on the fly could be useful. I don't know if there's any freeware that will do that. I played with Wowza once and gave up on its Java nonsense (I HATE JAVA!!!!). I don't know if I'd use this feature since I prefer to run the server on a Pogoplug clone that doesn't have the horsepower for transcoding.
As for the pesky details of internet access, it would definitely be nice to have plugins that could parse webpages and find the golden nugget (the URL to the MP4) and pass that to the client. Having used Brightscript to scrape webpages many times I can see the advantage to using a language with built-in HTML parsing ability. I'm just not sure how the mechanics would work:
- From the client you make a selection that causes the server to start a process and then waits for a response (which hopefully doesn't take too long).
- The process running on the server machine does its magic and reports "something" back to the server. That "something" could be a single URL of a video to play or a list of items to display probably best packaged in XML.
- The server returns the XML produced by the spawned process back to the client.
- The client either attempts to play the video or displays a new screen of the items returned.
Seems doable, but I'll have to give all of this some more thought.
-JT
Roku Community Streaming Expert
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.