Leaderboard
Popular Content
Showing content with the highest reputation on 11/03/22 in all areas
-
I've spent some of my spare time experimenting with machine learning, and applying what I've learned to some code for Emby. Using the massive dataset supplied by MovieLens (https://movielens.org/), I was able to create a machine learning plugin that loads a large set of data into a matrix factorization neural network, and can spit out recommendations for users in emby. Following this article by Microsoft: https://learn.microsoft.com/en-us/dotnet/machine-learning/tutorials/movie-recommendation and experimenting with their ML.Net libraries things started to get pretty interesting. The project itself is rather large, and I thought I'd share what I've come up with so far, maybe other people are interesting in how the neural network recommendation service is working when testing it against movies inside an Emby library. It's pretty cool. The idea could be to create an in-depth recommendation system for emby, or possibly utilize this as a way to create a new "Top Picks" style plugin that is user based. Which also might be really cool. I'll try and answer some questions up front if I can: What is Matrix Factorization, and How does it work in Machine Learning? In a nut shell, if you have similar tastes in movies as other people in the dataset, and they have rated a movie you haven't seen in a while, or have never seen, then that movie is recommended to you as a possible item to watch. The Neural Network will predict what you, or your users may rate the movie if it was watched. Is this plugin run locally on my machine? Yes, this plugin creates a matrix factorization neural network locally on your machine, which is trained in a scheduled task. Is any of my personal data shared during the training process of the neural network? No, your personal data is completely safe. no user data is shared with any data provider, and stays safely on your server. How does the neural network recommend items? The MovieLens dataset is an accumulation of almost 25 million data point on 27 thousand movies with almost 100 thousand users ratings. The ratings data is altered on your server to include your user data and then the neural network is trained on all the data points, allowing it to predict what movies in your library you and your users may want to watch. Once the "recommender" is trained it then saves a model and uses that to predict recommendations for users. The NN can be retrained when new users are added to your emby server, including them in the recommendation process. Asking your users to "like" or "Favorite" items in the library will certainly help factoring recommendations, however it is not entirely necessary. Does the Matrix Factorization Only look at "Liked/Favorite" Data? No, other columns are also feed into the neural network, like item genre. If one of your users do not "heart" the media on their account, their watched status and item play-states are factored into the recommendation predictions. If they watch more items that fit into a certain category, this is scanned in and calculated. It is best to have several movies marked as "liked/favorite" in the library form each user to get best results. Is it cross platform Yes, I believe it is. ML.Net is a cross-platform library using .netstandard 2.0. With regards to the runtimes associated with the plugin the following are available, and would be included in a dll: Linux64 Linux ARM Linux ARM64 OSX64 OSX ARM64 Win86 Win64 It is all fairly preliminary, definitely keep this in mind On the settings page it is possible to train the NN Model (top), and also run recommendation predictions (bottom). Once the network has created it's model, it is possible to run this model again and again against the library (due to it's 27 000 movie titles included). Selecting the "Recommendation Predictions" begins the second task of calculating what each user might like. Browsing back to the "Recommendations" tab, outlines each users predictions. It shows what the NN predicts your score would be out of 5. The results are definitely interesting. Sure, these are all new movies I should watch, and they are pretty much some of the most famous of the year so far. So the results seem to be pretty close to what I would expect. The training of the model also only use 20 iterations, to be honest I don't know if that is enough, or too much. It's all new. What I can say is that loading the ML.Net Assemblies work, and loading the MovieLens dataset into the NN also works. I have added toggles and inputs to try and test different training scenarios, but it's all kind of unexplored.6 points
-
3 points
-
Turned out to be a problem with me not following the new directions for the library picker, have to add in the libraries for it to scan the files! Thanks2 points
-
Thanks for this guide! I could finally get a remote connection through my college firewall2 points
-
2 points
-
Hi, I would like to have an option to choose H265 instead of H264 in the Transcode option. It will be smaller for all bad bandwidth (2~5Mbit ADSL), but will have a great quality. Mobile phone can benefit of it greatly too with the 4G and the limitation of download.1 point
-
Welcome to Top Picks Top Picks will create a custom movie library with ranked items to share with your user base. Enabling settings in the top pick configuration will allow you to create a library based on your user engagement, and also customize what's being shown in the library. Note: Larger movie libraries will have the best chance at generating user engagement top pick items. Smaller libraries may only generate a couple top picks automatically. Critic rating, and community rating do play a part in choosing top pick items, along with User Likes/Favorited Items, and also Watched States. Creating, and editing the Top Picks List: After enabling, and running the scheduled task for user engagement (which will populate an initial list, but is also completely optional), you can also customize the library by adding movies of your choosing, and add-to/edit the top picks list to a maximum number of 9 items. It is important to note that users of the Top Picks library should not hide watched content from their home screen. This will ensure that all the content added to Top Picks is shown in the home screen layout. Pinning Items to the list: These items remain during the engagement rotation. This means that only auto generated items will be replaced weekly. Note: List item rotation will only happen when items are available in the library which meet the engagement criteria. This may lead to some manual up keep of the list. (In the image above, only the 2nd, and 9th item are allow to change, because they are not pinned to the list. However, the item changes will be based on the engagement results, and may not change based on the current state of the library and user engagement stats.) The more your users engage with the library, the more dynamic top picks will create lists. Favor custom thumb images over primary images: Favor custom primary images: Mobile: Android Enhanced Home Screen Layout Entering the Top Picks library you should choose to "Sort by Date Added" to have the images order themselves. There is a week long trial to test it out, after you install it from the catalog. If there are any questions please post them here in this thread. Please be kind, a lot of time, and work went into this. I'm open to further discussions regarding things that might make Top Picks better in the future as well. - chef Version 1.0.0.20 theme media is now added if it exists for a library item. Version 1.0.0.19 Current NFO files that exist in the library are now successfully used and properly altered for top pick items. This stops Emby from having to try and identify items which are already properly identified in the library. The ability to target a specific library for top pick creation. Version 1.0.0.18 Library items now have the option to show the top pick tag or not. Top picks drawing classes now attempt to draw custom thumb/primary images in memory without saving assets until complete. Version 1.0.0.17 Library is created with servers language for metadata retrieval. Top Picks will now search providers for missing resources to draw custom images for the library1 point
-
Hi, This has been talked about a lot on the Apple TV forums, but there is no formal request for it. So I do it here, please add support for MKV HEVC HDR playback using Apple TV (without tone mapping). I don't care what technique you use. Either adding HLS fPM4 support to the server or improving the MPV player. I anticipate that I am not satisfied with you saying that Apple TV does not support that, since most players on the market support it. Thanks1 point
-
Server is 4.6.4.0 running on Debian Linux. Roku app is version 4.0 build 31. When I display the Schedule (upcoming recordings) in the Emby web interface, I see 'Family Guy' listed to be recorded from 9:30-10:00PM on October 24 (WNYW). When I display the schedule in the Roku app, that same episode is listed to be recorded on October 25. I have other recorrdings (earlier in the day) which correctly show as October 24 in both places, but anything from 8PM onwards shows as October 25 in the Roku app. It's as if the Roku app thinks the timezone is UTC instead of America/New_York.1 point
-
I am often going to the Library section of the Admin settings and right-clicking the three dots to get to the "Scan Library Files" option. It would be super useful to have a scan shortcut in the main Dashboard page. Either for all libraries or only specific ones.1 point
-
yes im just waiting for JD to update his dev version of ETV so i can test the fix for him. he said he should have something for me sometime this week.1 point
-
@cayars, thanks for that post. I wasn't up-to-speed on some of these developments. Do you know if the fMP4 specification is encumbered in any way? HEVC was in trouble early on, as patent pools and groups were already busy cross-licensing with each entity. You don't have all these members of a working group going through the expense of getting hundreds of patents just to give away free (or even simple) licensure. I have my doubts that AV1 will be problem-free in this regards as well. The "fair licensing" scheme is basically a gentlemen's agreement; the pool of patents is in the thousands for this...if revenues don't meet expectations, this could easily factionalize. This is disappointing, as AV1 is allegedly a successor to VP8 and VP9. This is just another example of why we shouldn't tolerate patents on mathematical equations!1 point
-
1 point
-
It can sure. In general, it can also add a lot more latency when done in real-time vs pre-production. It can/will change the packaging needed by the clients and will need more stringent encodings to meet spec as well as most of the time require fMP4 chunked packets (fragmented MP4) which typically causes a loss of compression vs offline encoding and using progressive downloads. This type of thing is covered throughout the thread. The simple answer is that we can't just substitute an encode string creating HEVC vs AVC encodes. Up until about 1.5 or 2 years ago there wasn't even a spec for using streaming HEVC so its use was mostly progressive downloads or to specific devices you knew you could get away with using off spec packaging in HLS. Apple however added to the official spec for HLS recently introducing fMP4 as well as TS segments. AVC can be used either way, but TS do not support HEVC and had to be handled via fragmented mp4 packets. Manufactures who were "loose" allowing incorrect packages have had to fix this to support Apples changes to the spec causing tumoil to vendors who were using packages out of spec and banking the chanes would favor them (nope). Everyone quotes high compression savings of 40% but that's extreme and only with higher bit files. The difference between AVC and HEVC closes dramitically as bitrate and resolution drop. HEVC separates itself from AVC at higher resolution, but the opposite is also true that AVC compression is closer to HEVC the lower the resolution. A 15% or so compression difference on 720 files surely isn't as compelling as 40% compression savings of 4K (if all else equals). Up until last week the top browsers didn't support HEVC, the ones that worked were finicky, we had no standards in place specifying what was allowed and what wasn't. Mozilla/Firefox will likely never support HEVC while Apple, Google and Microsoft now all support it. Many used DASH instead of HLS to deliver HEVC since it's more a "Swiss Watch" container allowing more or less anything. Problem is support for DASH is missing from the majors. HLS vs DASH is not unlike the old media was that DVD and Blu-Ray went through with competitors to win out and take the market. The reality of the situation is that up until very recently this would likely have been a big mess undertaking it for our style of media streaming server that works in real-time. Here's a short article that might be worth reading as it covers some of the reasons HEVC will likely be a transitional codec more so than a mainstream use codec for streaming servers doing transcoding. It's not technical so all should be able to understand. https://www.studiobinder.com/blog/hevc-codec-download/ That doesn't mean, we've done nothing with this request. We can do HEVC transcoding and know how to package it properly but the changes needed to support fMP4 comes with it's own set of issues like additional latency which negate the benefit of compression gains. We know from testing it requires a more powerful CPU then AVC even when used with a GPU. We know HEVC can give increased compression due to how it's encoded but that encoding takes longer to do as well even on GPUs which raises latency and that's a killer for streaming. We already know from doing AVC transcoding that's we've had to reduce packet sizes to keep latency at a level that doesn't cause issues. We really can't afford to add this latency back as we've worked hard to reduce it. HEVC has all kinds of licensing issues. It's certainly not "free to use" as everyone seems to think. With so many hurdles using HEVC for real-time transcoding it's probably best to skip it looking at the next gen codecs being introduced to replace it that take into account HEVC's shortcomings. The industry learned a lot of hard lessons with HEVC that have been addressed with the newer codec. Reading the requirements for next gen codecs reads like a list of pros and cons from HEVC as you want to do this plus 30% improvement but can't do this. There are things we can do related to this request that could improve transcoding across the board. There are a good half dozen promising things I'm personally looking at that could improve latency as well as reduce bitrates currently being used on typical media. We can also look at implementing HEVC as a starting point for specific types of streams such as 4K where it could shine. Clients that can handle 4K HDR could be targets starting out as they should have the muscle needed to handle this without causing additional issues. It would be a starting point, then 1080p on same clients and so on. If some of the other things pan out and have the ability to lessen current latency, we gain a window of time back making it easier to introduce things like HEVC that we know will increase it.1 point
-
1 point
-
Nested collections are possible today - I have a few myself. You used to be able to do it via the API, but I think support for that was pulled so my method involves a dB hack - not something which I imagine the Dev's would like in a plugin ...1 point
-
1 point
-
Remember that Emby is running as a different user (usually 'emby'), so when you work on the command line inside the container, and vainfo is working, then it means that the user context you are logged in with has access to the GPU, but not necessarily Emby (as the 'emby' user).1 point
-
1 point
-
that that's it indeed. I have disabled AdBlock + LT (Language Tool) extentions Setting require baseUrl to http://app.emby.media. app.js?v=4.7.8.20:1 getJsUrlWithExtension: modules/browser.js?v=4.7.8.20. alameda.js?v=4.7.8.20:1 This is on the webpage: Deze Emby Server moet worden bijgewerkt. Om de laatste versie te downloaden, gaat u naar <a href="https://emby.media">https://emby.media</a>1 point
-
My thoughts were similar. Perhaps change collections to be internally represented with GUIDs (if this is already the case, then my bad), have a flag to indicate if a collection can be visible at the top level (can be configured within a nested collection), and unstructured fields for antecedent and dependent collection GUIDs.1 point
-
This could be SSL certificate related, and the above test will help us narrow that down. Thanks !1 point
-
It seems to be working again now for whatever reason, maybe next time I can at least figure out what I did to cause it to stop, sorry for the false alarm.1 point
-
A clever way would be to add tier system to allow user control when creating a collection. As simple as Top only - is never nested middle - collection nested under Top and above bottom bottom- is always under middle or last fall back is - if no middle then bottom will be below top. And if no top/middle it will be top. then if user adds a new collection in that hierarchy its still respected. just an idea1 point
-
And just imagine this would be greenlighted to go into public beta...1 point
-
You do not need a dedicated GPU at all. Latest generation Quicksync is quicker than up to the 30 series Nvidia cards. To note this chip also has an iGPU - a Intel® HD Graphics 630 (last generation, so not that quick.. but useable). So it should easily be able to cope with multiple (6-8) 1080p quicksync transcodes - 4k is going to give it a workout though - so maybe only 1-2 streams here - but still removes a high % of the workload from the CPU. If you don;t see the HD630 in emby, then you may need to enable the iGPU in the BIOS.1 point
-
I'm positive there is also a 'device cleaner' plugin out there to remove stale devices .. ? Can't find the link atm ..1 point
-
Ok thanks I will try to download Emby for android and see if it's work better I'll let you know asap1 point
-
We typically don't incorporate work already done by others unless it's really needed for other parts of the system or needed to build on. Yes, if this plugin were to die, I can say the "core" team would take it over if another dev didn't. I would take it over myself if needed as I use it myself and it's a pretty crucial part of my system. Carlo1 point
-
Problem solved. None of my users had the rights (this was the ONLY setting i did not check for many hours of testing). Now its there! Thanks Luke!!1 point
-
You may not want the nested ones showing up in top level lists and possibly other places. If you use group into collections, you might want only the highest level collection and not that plus the nested ones.1 point
-
@FostersimpNo idea where that warning comes from, but it's definitely not from our package. I'd say that originates from your network configuration, mac most likely refers to MAC address.1 point
-
1 point
-
1 point
-
@cayars I gave up on waiting for Emby to implement this. Tvheadend is the solution.1 point
-
1 point
-
1 point
-
Hi, I believe it should be resolved in the upcoming 4.8 server release. Thanks.1 point
-
My apologize on the delay. I will check this tomorrow and report back.1 point
-
All Quiet of the Western Front - I generally do not watch Netflix movies but this one looked like it would be worth it, and it was! This is on par or perhaps even slightly better than 1917 (which was a great film). While it was fantastic over all, for me it was the unusual (at least for the genre) musical score that really set it apart. It gave the movie a real sense of dread.1 point
-
1 point
-
1 point
-
I had a separate 4K section as well but combined them keeping the 4K in it's own subtree as GrimReaper mentioned. So now for each client I can grant them access to the 4K or not. This was when searching or resuming I don't get multiple posters showing up but just one. Works really well for me! Carlo1 point
-
Excuse me, maybe I explained myself badly. Me too h264 videos skip every second.1 point
-
Good morning. Thank you for your work. I wanted to answer what I read earlier, I specify that I am under embu beta 4.0.8.15, your plugin works perfectly well, I have the launch of intros, certifications and tags, on the entire library. Here is the adjustment I made, if it can help. Asustor AS6102 NAS material.1 point
-
1 point
-
For those on the latest Emby 4.8 beta, I've pushed up Iconic beta 2.2.0.11 2.2.0.12 to fix the Missing Method GetExtras error causing the plugin to malfunction. @crusher111 point
-
I have followed OpenAI's projects, many of which are mind blowing. I'm not sure about this one. Meanwhile it is well-known what can be achieved by training transformer models with gigantic sets of data. In that case, the Google speech recognition and audio transcription abilities are more impressive as these are doing it in real-time with minimal resources. Someone has extracted that functionality to make it work standalone, but it's a kind of hack of course. Still interesting. What would be kind of a holy grail in that area would be to: Recognize speech Recognize speakers Create subtitles from recognized speech Translate subtitles to another language Filter out the original voices from the audio Use text-to-speech to let the actors speak in a different language A while ago, I had made an experiment regarding the latter point: https://user-images.githubusercontent.com/4985349/136570224-88a65ced-bb98-49fa-bcd9-1e766f90af26.mp4 https://gist.github.com/softworkz/3425fc196f5c7eac9e842a655c7e1e5c It's the same language and this version mixes the original and the TTS voices for comparison. Though, all of these things are experimental - only the Google ASR would be production ready, but it's not free to use (it works in the browser, but you are not even able to copy the transcribed text in any way). And generally: features that do not work on all platforms, require excessive hardware, require installation of frameworks like Pytorch, require massive download of data, require manual installation and intervention and eventually cannot even work in realtime as part of Emby's media delivery pipelines - are not a great match for integration into the Emby core server (or Emby's ffmpeg) as it wouldn't reach the masses with all those preconditions. It might be a nice idea for an Emby plugin, though. Also I'm sure that at some time there will be approaches for audio transcription that are more handy and universal to integrate.1 point
-
Still a very long way to go, but the basic proof of concept is functional. Refreshing metadata on an extra (or its ancestor(s)) triggers the generation of a new image made up of a parent image with the extra's folder and name overlaid. This image is not a mockup: I'm currently calculating the text size based on the length of the text to make sure it fits, but I'm going to spend some time figuring out word wrap behavior because I imagine that will look better in most cases.1 point
-
What was happening is the Androids UI pop up wasn't appearing for me for some unknown reason. Once I installed MX Player the pop up worked and VLC was then there as a choice. Weird. Thanks.1 point
