Pinpoint wrote: ↑Sat Sep 02, 2023 8:38 am
Sounds very promising! (FWIW, I briefly tried Emby a while ago - before it moved to a closed-source license I believe - and switching times were definitely not that fast

)
Yea, that's correct and it's still the same in current Emby Server (without TVnext). I use to explain it like this:
Emby is very good in playing back ANY kind of media on ANY kind of device while employing the available and configured ways of of hardware-accelerated or sw-transcoding at the server (disclaimer: I developed most of this and I'm also contributing to ffmpeg in this area).
These procedures are reliable and universal, and as such they also work for TV streams, but a typical downside of universal solutions is that they often can't provide optimal handling for specific use cases. That's where TVnext comes into play: it provides optimized, no-compromise processing for TV streams only. It processes and decodes MPEGTS streams in-memory, it parses video streams to identify IDR frames and creates HLS segments on-the-fly, streaming them to clients even before they are written to disk and before they are complete. None of this would be possible with ffmpeg.
Pinpoint wrote: ↑Sat Sep 02, 2023 8:38 am
Ah yeah, I should have been clearer about that: in our tests, piping was used too without first writing the content to the disk (I updated my post to include the timings I get without ffmpeg in the mix: less than a second/1 second max, so ffmpeg doing "nothing" basically adds 0.5s/1s: not free, but certainly not slow either).
LOL, granted - it's a matter of perspective: If you would have been spending so much time on fighting down every 100ms, you would probably consider it slow as well
Pinpoint wrote: ↑Sat Sep 02, 2023 8:38 am
Great video!
Quick question: I don't have an Emby server set up so I couldn't give it a try, but I took a look at the package files and noticed that while the .NET Framework app itself was not obfuscated, many .js files in the Electron app were (and the Electron part seems to be where most of the fun happens: AFAICT, the .NET app only deals with networking and plugin installation/update). What are your plans regarding customization?
We never had such extreme obfuscation before and the other apps don't have it yet, but we've gotten challenged by Chinese cracks for circumventing Emby Premiere limitations (even though it's just $6/month for multiple servers and 25 clients).
The regular Emby Theater app is loading the application files from an online source, but for the Emby Theater WMC, they are part of the installation and even more exposed. It's also a test for whether we'll proceed with this.
It doesn't affect customization options. The available options are:
- Server Plugins
These are very powerful and allow customization in really broad range of areas
Server plugins can add configuration pages for server administration, but don't change client UI
- Web App CSS
For the web app which is hosted by Emby Server directly, you can configure custom CSS
- Entry Page Customization
There are some options for configuring text and logo for the entry/login pages
- Context Menu Customization
This is an upcoming feature which allows to add client-side functionality in form of adding context menu items (or extra actions in case of the WMC UI)
Customization by making modifications to the htmljs code directly is not supported. But this has nothing to do with the obfuscation. Even when you had the original code to modify it, you wouldn't have any fun doing so, because this code is so rapidly changing in fundamental parts, that it would just drive you to desperation while trying to keep-up (and I know what I'm talking about, sighh).