Emby | Emby Server is a personal media server | Runtime Evironment library
kandi X-RAY | Emby Summary
kandi X-RAY | Emby Summary
[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
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Emby
Emby Key Features
Emby Examples and Code Snippets
Community Discussions
Trending Discussions on Emby
QUESTION
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:41QUESTION
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 needI 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 TriedI'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:57Your problem is with this line:
QUESTION
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 needI 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 TriedI'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:52Given that you need this to work cross platform, as @Andy said the best solution is ffmpeg. You have two choices:
- Invoke the ffmpeg command line utility from your web process; or
- 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!
QUESTION
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:59It 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.
QUESTION
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:23The 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:
QUESTION
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:52Just 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:
QUESTION
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:54Run ffmpeg -h protocol=http
This will print all options, and mention default value in the description
e.g.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Emby
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page