Emby | Emby Server is a personal media server | Runtime Evironment library

 by   MediaBrowser C# Version: 3.5.2.0 License: GPL-2.0

kandi X-RAY | Emby Summary

kandi X-RAY | Emby Summary

Emby is a C# library typically used in Telecommunications, Media, Telecom, Server, Runtime Evironment, Nodejs, Docker applications. Emby has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub.

[Android Mobile (Play Store)] "Android Mobile (Play Store)"). [Android Mobile (Amazon)] "Android Mobile (Amazon)"). [Android TV] "Android TV"). [Amazon Fire TV] "Amazon Fire TV"). [Media Portal] "Media Portal"). [Windows Desktop] "Windows Desktop"). [Windows Media Center] "Windows Media Center"). [Windows Phone] "Windows Phone"). [Windows 8] "Windows 8.1").
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              Emby has a medium active ecosystem.
              It has 3499 star(s) with 776 fork(s). There are 197 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 116 open issues and 1573 have been closed. On average issues are closed in 455 days. There are 8 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of Emby is 3.5.2.0

            kandi-Quality Quality

              Emby has no bugs reported.

            kandi-Security Security

              Emby has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              Emby is licensed under the GPL-2.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              Emby releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Emby
            Get all kandi verified functions for this library.

            Emby Key Features

            No Key Features are available at this moment for Emby.

            Emby Examples and Code Snippets

            No Code Snippets are available at this moment for Emby.

            Community Discussions

            QUESTION

            Docker containers can't write inside cifs share
            Asked 2022-Feb-28 at 10:41

            I have a docker compose for a media server i'm building using multiple containers, i want these containers to be able to R/W a cifs share mounted on host, after trying multiple ways i can't seem get them to write. here's the mounted share : /etc/fstab

            ...

            ANSWER

            Answered 2022-Feb-28 at 10:41
            CIFS Possibilities for Docker Let Container mount (bad approach)

            Source https://stackoverflow.com/questions/71287782

            QUESTION

            ASP.NET Core 5.0 MVC HLS Transcoding using FFMPEG
            Asked 2021-Nov-10 at 10:57
            Overview

            I'm currently working on a media streaming server using ASP.net Core REST Server. I'm currently using .net 5.0 and ASP.net Core MVC

            What I need

            I need to be able to dynamically down-res the original video file. from 1080p to 720p for example. Also I need to be able to make the media file able to be transcoded to a different encoding based on client capabilities.

            What I've Tried

            I've been looking for a library that can manage this feat, but I can't seem to find one. I thought FFMpeg would be able to do this. I know this is possible because applications like plex and emby seem to manage this.'

            C# ...

            ANSWER

            Answered 2021-Nov-10 at 10:57

            Your problem is with this line:

            Source https://stackoverflow.com/questions/69843908

            QUESTION

            How can I make a Transcoded Video Filestream using C# and .NET Core
            Asked 2021-Apr-25 at 13:06
            Overview

            I'm currently working on a media streaming server using ASP.net Core REST Server. I'm currently using .net 5.0 and ASP.net Core MVC

            What I need

            I need to be able to dynamically down-res the original video file. from 1080p to 720p for example. Also I need to be able to make the media file able to be transcoded to a different encoding based on client capabilities.

            What I've Tried

            I've been looking for a library that can manage this feat, but I can't seem to find one. I thought FFMpeg would be able to do this. I know this is possible because applications like plex and emby seem to manage this.

            What I've Done ...

            ANSWER

            Answered 2021-Apr-18 at 15:52

            Given that you need this to work cross platform, as @Andy said the best solution is ffmpeg. You have two choices:

            1. Invoke the ffmpeg command line utility from your web process; or
            2. Compile the libav library suite (which underlies ffmpeg) to each native platform your code might be run on - Windows, Linux, etc. - make a native DLL wrapper, and use P/Invoke in your ASP.NET project to access it.

            Command Line Utility

            The command line utility is very easy to use and well documented. Documentation is here. Your basic approach would be to include ffmpeg.exe in your web project (make sure you have a version for each platform), and use Process.Start to invoke it, using the command line arguments to point it to your video file and configure the output. Once the output is finished, you can serve it by returning with File like in your example. There are also some open source .NET wrappers like this one that could save you some of the work. Unfortunately the command line utility doesn't offer much (any) control once started, or a programmatic way of determining progress. However, these issues should not be a problem if you follow my recommendation at the end.

            Libav

            If you do need or want total control, however - including frame by frame transcoding, progress reporting, etc. - then you would need to use libav. Before going further, note that you need to use at least some C/C++ to use libav. That means your server code is going to have to run with full trust, and you WILL be susceptible to the security risks of running native code. (Though the same would be true if you used ffmpeg.exe, but at least in that case you don't run the risk of introducing NEW security risks through your own code).

            Also know that you can't just find nice clean, always up-to-date downloadable binaries for every platform (at least one reason for which is fear of patent lawsuits). Instead you have to build it yourself for every platform your code might run on. Find your platform(s) on here and then follow the instructions to the letter. If you make a single deviation no matter how small, you won't be able to build it, and you will pull your hair out figuring out why.

            Once you have the builds, then your next major task is to expose the APIs you need to your C# code. The documentation for the libav APIs is not a model of clarity. They more or less assume you will look at the code for the ffmpeg command line utility to figure out how to use libav, and that's what you should do. But if you invest the time (days if not weeks) to construct the builds and learn the APIs, you will become a Master of Media. There is virtually nothing imaginable that you can't do using libav.

            Now you're finally ready to integrate this into your app. Again you can take two approaches. If you're quite comfortable with C/C++, you should make a new C/C++ DLL project, link the libav DLLs to it, and do most of the heavy lifting there and just export couple of entrypoint functions that you can invoke from C#. Alternatively, you can P/Invoke directly to the libav DLLs, but you will need to do a ton of scaffolding of data structures and functions in C#. Unless you're extremely comfortable with marshalling, I would not attempt this.

            In fact, I'm going to recommend going the command line utility route, because -

            You Shouldn't Try to Transcode On The Fly Anyway

            With all that out of the way, let's talk about your actual gameplan. You said you need to "dynamically" convert the video based on what the client wants/can receive. No one does this. What they do do is create multiple versions of the videos in advance and save each one on the server e.g., a 1080p, 720p, 480p, and maybe even 240p version. Then, the client application monitors the connection quality and, also considering the user's preference, directs the media player to the desired version. The server always serves the version requested and doesn't convert on the fly. Unless you're talking about streaming live events - and if so then that's beyond the scope of my expertise - this is what you should do.

            So, what I would advise is use the ffmpeg utility to create different versions of the videos in advance - as part of an import or upload process for example. Track the videos in a database including what versions are available for each. Give the client a way to obtain this information. Then when it comes time to serve the videos, you just serve the one the client requests in a query parameter. Put the logic for determining the desired version on the client - either connection speed and/or user preference.

            And Don't Forget to Support Content-Range Requests

            Finally, you probably don't want to just use File to serve the media unless the users are just going to download the files for offline viewing. Assuming people are going to play videos in a browser, you need your API to accept content-range request headers. Here's a pretty good example of how to do that. Provided you implement it correctly, web browser media players will be able to play, seek, etc., transparently. If for whatever reason the format needs to change, just redirect the URL of the media player to the appropriate version, keep the position the same, and resume playing, and the user will barely notice a skip.

            Hope at least some of this helps!

            Source https://stackoverflow.com/questions/67144265

            QUESTION

            Endless loop to delete files while streaming movie using Powershell
            Asked 2021-Jan-30 at 12:59

            So I use Emby to stream media to my TV. I was watching the Lotr extended in 4K and apparently, Emby creates 30gb worth of transcoding data while streaming files of such size. So after 30 mins or so, the movie stopped because my hard drive was full.

            I created a script dat deletes the files in that specific folder that are older then 5 minutes:

            ...

            ANSWER

            Answered 2021-Jan-30 at 12:59

            It doesn't work because the $limit is calculated once at the start. You need to update $limit for each iteration of the loop. I'd throw in a Start-Sleep 300 to stop it just doing it endlessly.

            Source https://stackoverflow.com/questions/65968104

            QUESTION

            How to change kubelet options in RKE like eviction-hard (nodefs.available,imagefs.available,etc) in Rancher?
            Asked 2020-Sep-26 at 12:00

            I read carefully the Kubernetes Documentation here about extending the default 15% of imagefs.available and the others parameters but it doesn't say how to set it, i have installed the RKE (Rancher Kubernetes Engine) with the following configs.

            ...

            ANSWER

            Answered 2020-Sep-04 at 00:23

            The kubelet has the following default hard eviction threshold: memory.available<100Mi nodefs.available<10% nodefs.inodesFree<5% imagefs.available<15%

            As per official Rancher page:

            You can add additional arguments/binds/environment variables via the Config File option in Cluster Options. For more information, see the Extra Args, Extra Binds, and Extra Environment Variables in the RKE documentation or browse the Example Cluster.ymls.

            Look in the full example how you can configure kubelet options:

            Source https://stackoverflow.com/questions/63719307

            QUESTION

            Configure Nginx to reply to http://my-domain.com/.well-known/acme-challenge/test.html
            Asked 2020-Jul-17 at 15:52

            There are numerous posts about this issue but none that solve my problem.

            I am using jwilder/nginx-proxy as a reverse proxy and jrcs/letsencrypt-nginx-proxy-companion to generate certificates.

            For some reason at some point the certification process stopped working. This appears to be because /.well-known/acme-challenge/somefilename is returning a 404.

            As far as I can see this config:

            ...

            ANSWER

            Answered 2020-Jul-17 at 15:52

            Just in case anybody else has this issue I have fixed it by removing containers, config files AND IMAGES and then recreating them... here is the process for those that have a setup similar to mine:

            Source https://stackoverflow.com/questions/62943811

            QUESTION

            Getting List of default argument values if not used in FFMPEG command execution
            Asked 2020-Jul-12 at 05:54

            When I use FFMPEG to capture a live IPTV stream on my MAC, I generally end up with an interrupted video. When I send these four arguments, the capture is successful.

            -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2

            I don't want to specify these arguments everytime, So I decided to update the default values in the source code. Unsure if I have done it right - I updated http.c which contains these arguments. I re-compiled FFMPEG successfully.

            I want to know if my changes are applied. Is there a way I can list out all the default values of the arguments. I can use this compiled version of FFMPEG for a week, and determine if the fix is applied or not, I was wondering, if there is a quicker and easier way to do it.

            If this is successful, I can use this version of FFMPEG for Emby & TellyTV.

            ...

            ANSWER

            Answered 2020-Jul-12 at 05:54

            Run ffmpeg -h protocol=http

            This will print all options, and mention default value in the description

            e.g.

            Source https://stackoverflow.com/questions/62850496

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install Emby

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/MediaBrowser/Emby.git

          • CLI

            gh repo clone MediaBrowser/Emby

          • sshUrl

            git@github.com:MediaBrowser/Emby.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link