speechles 1920 Posted September 4, 2018 Share Posted September 4, 2018 (edited) I know for a fact that the Streaming Stick+ can handle MPEG2 as I've successfully been able to play OTA streams from a HDHomeRun with DLNA via the Roku Media Player channel. The channel is not adding any additional functionality as this does not work on a Roku Express. Other users have mentioned that their Roku Ultras and Premiers can do the above as well. This isn't a big secret. There are plenty of forum posts, especially over on the Silicon Dust forums discussing exactly this. If you want me to film my Streaming Stick+ in action, let me know. I know for a fact roku ultra and premier do not. I have these devices. There is no mpeg2 support, period. End of line. You can stop where you are going with these. You might be able to get mpeg2 with NDK access and linux kernel support. Some roku apps use this and can do things normal roku apps cannot, notably is netflix, amazon and hulu. The emby app does NOT pay roku for access to this. There are several reasons why, but most of which is cost, limitations, and liability make it prohibitive. So you are stuck with the scene graph app which supports only what roku officially supports. Or unofficially some extra things may work, this is the grey area we are in now. This is where proof is required. Streaming stick, I dont presently own one of these. But streaming stick+ I believe @@ebr himself can test this. Isn't a need for video. What is needed is model #, model name, firmware version of things that can play mpeg2 directly. Then the developers can directly buy these devices and confirm personally with a doubt, yes, no or maybe so. To take the word of anyone, other than roku on the subject, is tantamount to willy nilly. Having the device yourself as you develop the app, and testing on that device is proof. Since you and not anyone else has this proof, it isn't usable as proof. If you know what I mean. I mean it is, but you cant prove it. Video can to some extent if using the method below. So to that effect, if you want to take video proof of this direct playing, try doing so within the blue neon night emby app, set it to force direct. Now play the item, when it is playing press "OK" and an OSD pops up, take a screenshot of what that shows. This will be pretty good definite proof of what you saying. To my knowledge, and to the extent of roku officially, the only device capable of mpeg2 is the rokuTV. Edited September 4, 2018 by speechles Link to comment Share on other sites More sharing options...
Happy2Play 8296 Posted September 4, 2018 Share Posted September 4, 2018 (edited) I know for a fact roku ultra and premier do not. I have these devices. There is no mpeg2 support, period. End of line. You can stop where you are going with these. Streaming stick, I dont presently own one of these. But streaming stick+ I believe @@ebr himself can test this. Isn't a need for video. What is needed is model #, model name, firmware version of things that can play mpeg2 directly. Then the developers can directly buy these devices and confirm personally with a doubt, yes, no or maybe so. To take the word of anyone, other than roku on the subject, is tantamount to willy nilly. Having the device yourself as you develop the app, and testing on that device is proof. Since you and not anyone else has this proof, it isn't usable as proof. If you know what I mean. I mean it is, but you cant prove it. Video can to some extent if using the method below. So to that effect, if you want to take video proof of this direct playing, try doing so within the blue neon night emby app, set it to force direct. Now play the item, when it is playing press "OK" and an OSD pops up, take a screenshot of what that shows. This will be pretty good definite proof of what you saying. To my knowledge, and to the extent of roku officially, the only device capable of mpeg2 is the rokuTV. Not that I have any but Help menu from RMP on my Ultra says it does and Neon shows it also. Edited September 4, 2018 by Happy2Play 1 Link to comment Share on other sites More sharing options...
Noah0504 4 Posted September 4, 2018 Share Posted September 4, 2018 If the Ultra does not, then I have no idea what the RMP is actually doing. See here: https://forum.silicondust.com/forum/viewtopic.php?t=69440 I'll gather the model number/firmware version soon. Blue Neon Night needs to be side-loaded, so I might do then when I get around to it. Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 4, 2018 Share Posted September 4, 2018 It looks like MKV with mpeg-2 works, as well as possibly XViD in MKV. I need more samples to test though. Downloading a ton from kodi samples site all in MKV container as that has special powers on roku apparently. For positive, TS and WTV will only work on rokuTV. Not sure about WTV, seen a few people say it works forcing direct with p--x others say it doesn't. Maybe device dependent. I know the mstar variety of devices, those based on rokuTV chipsets, are what premier, premier+, and ultra are built on. This might explain their new abilities. After I run a few tests tomorrow I can say for sure what MKV can and cannot do on the ultra. Link to comment Share on other sites More sharing options...
Erik 120 Posted September 4, 2018 Share Posted September 4, 2018 Just for fun I tested my roku ultra and using roku media player app to view a channel from my HDhomerun Extend. Format was h.264 within a .TS container and it takes about 10 seconds to play....but it does play, so they somehow are playing from within a TS container. Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 4, 2018 Share Posted September 4, 2018 (edited) Just for fun I tested my roku ultra and using roku media player app to view a channel from my HDhomerun Extend. Format was h.264 within a .TS container and it takes about 10 seconds to play....but it does play, so they somehow are playing from within a TS container. mpeg2 in TS is the issue h264 is not an issue. The server is likely transcoding for you and why it takes that 10 seconds. Convert the ts to hls m3u8 and serve up ts slices. In running a few tests it appears DIVX,DX50,XVID as the codec tag in an mpeg4 works in MKV. MP4V codec tag does not work in MKV. The only one I found not supported. So everybody with AVI some very good news, if you remux these as MKV without touching the streams, just converting the container from AVI to MKV will allow these to direct play. Still doing some tests with mpeg2 in MKV. But all tests appear to work. Still trying to find cases where mpeg2 in MKV can break. Edited September 4, 2018 by speechles Link to comment Share on other sites More sharing options...
Erik 120 Posted September 4, 2018 Share Posted September 4, 2018 Fair enough, wasn't using the emby server, I was going direct to the HDhomerun box from the roku media player app. I only mention it as emby direct streams the recording with a container swap for the .TS yet the roku media app stand alone processes the same media (albeit live not recorded) by itself. Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 4, 2018 Share Posted September 4, 2018 (edited) Fair enough, wasn't using the emby server, I was going direct to the HDhomerun box from the roku media player app. I only mention it as emby direct streams the recording with a container swap for the .TS yet the roku media app stand alone processes the same media (albeit live not recorded) by itsel If you don't change container from TS then the ability to seek will be problematic. The remux doesn't alter the video or audio streams at all. It just changes the container from one which has issues seeking to the HLS streaming where seeking can be done without issue. In my tests, roku ultra can support: h262(mpeg2), h263(xvid/divx), h264(avc), h265(hevc) caveat: h263 cannot be an MP4V codec tag. Edited September 4, 2018 by speechles Link to comment Share on other sites More sharing options...
Erik 120 Posted September 4, 2018 Share Posted September 4, 2018 Ahhh, i forgot about the seeking. I knew you would have an answer, being the resident roku authority! Thanks Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 4, 2018 Share Posted September 4, 2018 (edited) Ahhh, i forgot about the seeking. I knew you would have an answer, being the resident roku authority! The exclamation point seems insulting. Mind you anybody can test videos. To be an authority one must test many many videos. First hand experience. It just takes a menagerie of different flavors of containers and codecs. Like a cornucopia of content. I have assembled a bit of that here as proof of what I am talking about. https://drive.google.com/drive/folders/1AUvCY0zMr0_8Kr-bZxgJC11B--2g40mi 4640X - Roku Ultra - Version 8.1.0 build 4145-29 Plays Direct - Filename ------------------------------- NO - 576p_mpeg2_mp2_bbc_news.wtv NO - 1080p_mpeg2_ac3_Today_WHDHDT_2016_06_06_11_25_23.wtv NO - MP4_MP4V_AAC-LC(mkvmerge).mkv YES - MP4_avc_mp3(720p)(SUPER).MKV YES - MP4_DIVX_AAC-LC-(mkvmerge).mkv YES - MP4_DX50_AAC-LC(mkvmerge).mkv YES - MP4_Xvid_AAC-LC(mkvmerge).mkv YES - MPEG2_1080i_sample.mkv The .wtv weren't expected to play, but mileage may vary on rokuTV models. They might play them... So...Anyone else care to run these tests on their model of roku? Using blue neon "force direct" and change in options/preferences the setting for "Fallback Retries" to 0 [none]. In this way, the app will visibly show what fails and will only play what can play directly. There is no fallback transcoding this way. What will probably end up happening for these edge cases where codec support varies there is a need for device.CanDecodeVideo() to query the device if it can handle h262 and h263. Same as done now to detect h265 support, query the device. That is probably how Roku Media Player adds support. But somehow they missed h263, so we can beat them at their own game. Roku Media Player beat us to h262, but now it's the same game in reverse with h263. Tag! You're "it" Roku Media Player! ... lol @@ebr @@Luke nickname highlight to bring you both into the conversation. Edited September 4, 2018 by speechles Link to comment Share on other sites More sharing options...
Luke 37099 Posted September 4, 2018 Share Posted September 4, 2018 Thanks @@speechles you've compiled some great info here. Link to comment Share on other sites More sharing options...
Erik 120 Posted September 4, 2018 Share Posted September 4, 2018 @@speechles you took that the wrong way, it was a compliment. Bad wording on my part. Whenever I have had any roku questions you have always been very helpful so I consider you the best reference on the subject. I was only jumping in on the thread as I was surprised it played for me directly from the HDhomerun to the roku and had forgotten the reasons emby streams instead. Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 4, 2018 Share Posted September 4, 2018 @@speechles you took that the wrong way, it was a compliment. Bad wording on my part. Whenever I have had any roku questions you have always been very helpful so I consider you the best reference on the subject. I was only jumping in on the thread as I was surprised it played for me directly from the HDhomerun to the roku and had forgotten the reasons emby streams instead. No harm done. Water off a ducks back. I didn't know if intent was there. It was just the guy before took my wording as rather than a teacher or parent he took it as insulting and denigrating. I dont intend to sound that way. It is just in the internet world, you can't smile, wink, make hand gestures. You are limited in text being the only way to get your point across. So at times the impression given might not match the expression meant. Sorry. There is no ill intent. I am trying to make roku a better streaming platform, and make emby the point of the sword of that effort. The tip of the point of the sword. The people mention but emby on roku can do it, and from there they add support. Roku will be given a link to this thread to help their Roku Media Player get better too. Thanks @@speechles you've compiled some great info here. If the app could instead when streaming AVI (mpeg4 part2) and TS (mpeg2) ask the server to remux into MKV using ISM instead of HLS. This would make it more like *cough* the other guys *cough* but maybe its time. Food for thought. Wink Wink. Nudge Nudge. Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 4, 2018 Share Posted September 4, 2018 (edited) Brightscript Debugger> test5 = { Codec: "mpeg4", Container: "mkv" } Brightscript Debugger> device = CreateObject("roDeviceInfo") : PrintAnyAA(4,device.CanDecodeVideo(test5)) updated: codec codec: (list of 6)... List(0)= hevc List(1)= mpeg1 List(2)= mpeg2 List(3)= h263 List(4)= mpeg4 avc List(5)= vp9 result: false hmm... lets try again, forum ate everything I posted down here on my last post for some reason.. wtf.. hevc - normal to see that roku advertises it. Weird to see it at the top as if prefered. Wonder what order this list is in? mpeg1 - hmm.. Why is this here? The roku can decode mpeg1 but in what container? Interesting.. isn't mpg extension. What extension can the roku play mpeg1 in? Does it mean it can play in mkv since thats the container I gave it? Clearly it advertises via candecodevideo it can.. weird...twilight zone weird.. will need to run some mpeg1 in mkv tests, but at the moment having issues getting mpeg1 into an mkv. It seems ffmpeg doesn't like it because there are no timestamps wont write a new encode. Will try with mkvmerge or similar to see what happens.. see below: Disregard the screen is black. The way the roku layering works, I can only capture the overlay, not the video underlay when capturing screenshots with roku's utilities tool.. Omg, yes... was hoping. Use MKV Tool Nix and just shoved the streams into an MKV untouched. The roku ultra is playing this directly. Most awesome.. mpeg1 in mkv plays direct just fine.. mpeg2 - the h262. Why isn't it called h262? Who knows?.. roku is weird.. But what isn't weird is this can be used to detect mpeg2video support with it showing up here. mpeg2 in mkv plays direct just fine. mp4 and mov I have not yet tested. h263 - now here is the mpeg4 part2.. perfect. this is the xvid and divx. Now it can direct play on roku, just not as avi, but an mkv.. nice. roku doesn't advertise this codec support. nice find. mpeg4 avc - the h264 of the world. why not just call it h264? odd.. roku is weird. vp9 - at the bottom, the red headed step child.. sad.. only supported in mkv and webm. mp4 seems to choke it.. Now the code above clearly can be used to tell when mpeg1, mpeg2/h262, and h263 can be decoded. The only caveat when you see a codec tag of MP4V (actually mpeg4 part 14 not part 2) inside an h263 transcode it, do not attempt direct play. Otherwise appears roku is more capable than they lead on. The bottom line is if you have a roku, use MKV Tool Nix and convert all your AVI to MKV. Convert all your MPG to MKV. Convert all your TS to MKV. Then direct play for everybody.. I am starting to love my roku... Another followup https://forums.roku.com/viewtopic.php?f=28&t=114433&p=600090#p600090 Roku is aware. RMP should be able to do this too. Edited September 5, 2018 by speechles Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 5, 2018 Share Posted September 5, 2018 @ebr https://drive.google.com/drive/folders/1AUvCY0zMr0_8Kr-bZxgJC11B--2g40mi There are the test videos to prove playback works directly. Samples for mpeg1, mpeg2, and mpeg4 part2 (divx,xvid,dx50) and of not working mpeg4 part14 (mp4v). Link to comment Share on other sites More sharing options...
Noah0504 4 Posted September 5, 2018 Share Posted September 5, 2018 (edited) @@speechles I seriously applaud your effort in all of this! Edited September 5, 2018 by Noah0504 Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 5, 2018 Share Posted September 5, 2018 @@speechles I seriously applaud your effort in all of this! I appreciate your push back against me. The squeaky wheel gets the grease. Thank you for your persistence. Something most people lack. Follow through and gumption. The ball is now in play. Emby has the jump on the gun, so should gain support before RMP reacts. Then you can thank yourself for being the voice of reason that made this all possible. Thanks. Link to comment Share on other sites More sharing options...
Luke 37099 Posted September 5, 2018 Share Posted September 5, 2018 Do you suggest any changes for the Emby app? Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 5, 2018 Share Posted September 5, 2018 (edited) snipped code - no give aways to p _ _ x Pretty sure this would do it. The full monty. Now I only add direct play to mkv. Not sure mp4 or mov extensions can handle these. Haven't tested those yet. This is enough to get started though and get more support than any other roku app presently has. One up RMP. Now the issue is, mp4 the container can direct play mpeg4. So we can't go changing the mpeg4 profile drastically. You can tell the mpeg4 codec to allow mpeg4 part2 or not though. Thats what I have done. Edited September 23, 2018 by speechles Link to comment Share on other sites More sharing options...
Luke 37099 Posted September 5, 2018 Share Posted September 5, 2018 Ok, we'll see what @@ebr thinks. Thanks ! Link to comment Share on other sites More sharing options...
ebr 14925 Posted September 5, 2018 Share Posted September 5, 2018 Speechles - the directPlay section above could supplant this assumptive logic, correct? ' rokuTV allows mpeg2 support if isRokuTV then mkvVideo = mkvVideo + ",mpeg2,mpeg2video,mpeg1,mpeg1video" end if Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 5, 2018 Share Posted September 5, 2018 Speechles - the directPlay section above could supplant this assumptive logic, correct? ' rokuTV allows mpeg2 support if isRokuTV then mkvVideo = mkvVideo + ",mpeg2,mpeg2video,mpeg1,mpeg1video" end if Yep, that is what limits it to rokuTV. Changing it to the use the "contains" function is a much much better way to detect. Link to comment Share on other sites More sharing options...
Noah0504 4 Posted September 5, 2018 Share Posted September 5, 2018 Speechles - the directPlay section above could supplant this assumptive logic, correct? ' rokuTV allows mpeg2 support if isRokuTV then mkvVideo = mkvVideo + ",mpeg2,mpeg2video,mpeg1,mpeg1video" end if Is this the current logic? Is this also what determines if something can be/should be remuxed? I ask because currently MPEG2 in .ts transcodes when played on my RokuTV. Link to comment Share on other sites More sharing options...
speechles 1920 Posted September 5, 2018 Share Posted September 5, 2018 (edited) Is this the current logic? Is this also what determines if something can be/should be remuxed? I ask because currently MPEG2 in .ts transcodes when played on my RokuTV. That is the current, old logic, if you look at the code I pasted above I suggest changing this to instead read the codecs the device returns when told mpeg4/mkv. Then these codecs are read and used to determine what support there is. It isn't simply based on "is it a rokuTV?" anymore. This is much more accurate. As a bonus, you will gain mpeg1 and h263 support when used in MKV. People should notice. This is a BIG deal. The transport stream (TS) isn't really supported by roku. The reason it plays it direct is because when using HLS the m3u8 playlist will play TS slices. The issue will become that TS played this way it may restart at the beginning rather than at the position playback was requested to start. To avoid these problems my advice was no longer direct stream TS when the need for seeking is required. This is why for some things the app has begun to transcode. It is done to allow seeking. There is a reason for everything. Edited September 5, 2018 by speechles Link to comment Share on other sites More sharing options...
Noah0504 4 Posted September 5, 2018 Share Posted September 5, 2018 That is the current, old logic, if you look at the code I pasted above I suggest changing this to instead read the codecs the device returns when told mpeg4/mkv. Then these codecs are read and used to determine what support there is. It isn't simply based on "is it a rokuTV?" anymore. This is much more accurate. As a bonus, you will gain mpeg1 and h263 support when used in MKV. People should notice. This is a BIG deal. The transport stream (TS) isn't really supported by roku. The reason it plays it direct is because when using HLS the m3u8 playlist will play TS slices. The issue will become that TS played this way it may restart at the beginning rather than at the position playback was requested to start. To avoid these problems my advice was no longer direct stream TS when the need for seeking is required. This is why for some things the app has begun to transcode. It is done to allow seeking. There is a reason for everything. Ah! You touched on this earlier in the thread, but I understand now. Yes, I would say seeking abilities is a much more important need for live TV and the trade-off is worth it. And to your first point, it is a very big deal! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now