Jump to content

Search the Community

Showing results for tags 'linux'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements
    • Emby Premiere Purchase/Subscription Support
    • Feature Requests
    • Tutorials and Guides
  • Emby Server
    • General/Windows
    • Android Server
    • Asustor
    • FreeBSD
    • Linux
    • NetGear ReadyNAS
    • MacOS
    • QNAP
    • Synology
    • TerraMaster NAS
    • Thecus
    • Western Digital
    • DLNA
    • Live TV
  • Emby Apps
    • Amazon Alexa
    • Android Mobile
    • Android TV / Fire TV
    • Emby Theater
    • iOS
    • Apple TV
    • Kodi
    • Raspberry Pi
    • Roku
    • Samsung Smart TV
    • Sony PlayStation
    • LG Smart TV
    • Web App
    • Windows Media Center
    • Plugins
  • Language-specific support
    • Arabic
    • Dutch
    • French
    • German
    • Italian
    • Portuguese
    • Russian
    • Spanish
    • Swedish
  • Community Contributions
    • Ember for Emby
    • Fan Art & Videos
    • Tools and Utilities
    • Web App CSS
  • Other
    • General Discussion
    • Developer API
    • Hardware
    • Media Clubs
    • Legacy Support

Blogs

  • Emby Blog

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

  1. ShotToTheDome

    Emby post-processing dvr script for linux

    I thought I'd post my emby post-processing dvr script. Tested and working on Debian Linux 8.9 Files processed end up being named *originalvideoname*.ts.mkv so i can search by that and make sure recordings have no issues. After I look at them, I manually rename to just .mkv. I do not have automatically convert recordings checked or the two preserve boxes checked under live tv --> settings. Script flow: see if lockfile exists. if so wait 60 sec create lockfile commerical scan and commerical cutting ccextractor to pull out closed captions and convert to srt file Encode to h264 using ffmpeg and combine in srt file from previous step Trim off first 60 sec from recording (due to iptv delay you get a minute from previous show. I have recordings set to last 1 min longer in emby record. The shows using my OTA tuners start early by 1 min to compensate) Remove srt/extra files Overwrite original ts recording delete lockfile Depends on: comskip, comcut (comchap optional), ccextractor, ffmpeg I eventually want to fool around with a nvidia gtx 1050 and see how nevnc with hevc/h265 works on the ffmpeg encoding line. Software h265 encoding on very fast saves an additional 30-40% space on same setting as h264 on medium but my encoding framerate goes from 420fps (14x) to 69fps (2.3x) on dual Xeon e5-2670s. The picture looks pretty much identical when i look at them side by side post.sh emby script #!/bin/csh set path = ($path /usr/local/bin) set lockFile = '/tmp/dvrProcessing.lock' set origFile = "$1" set tmpFile = "$1.tmp" set tmpEncode = "$1.mkv" set tmpEncode2 = "$1.2.mkv" set tmpSrt = "$1.srt" set dvrPostLog = '/path/to/embydvr/dvrProcessing.log' set dvrLockLog = '/path/to/embydvr/dvrLock.log' #Wait if post processing is already running while ( -f $lockFile ) echo "'$lockFile' exists, sleeping processing of '$origFile'" | tee $dvrLockLog sleep 60 end #Create lock file to prevent other post-processing from running simultaneously echo "Creating lock file for processing '$origFile'" | tee -a $dvrPostLog touch $lockFile #Mark and cut commercials echo "cut from '$origFile'" | tee -a $dvrPostLog /path/to/embydvr/comchap/comcut --lockfile=/tmp/comchap.lock --comskip-ini=/path/to/embydvr/comskip.ini "$origFile" #Pull CC from file to SRT file echo "Pulling Closed captions from '$origFile' to SRT file" | tee -a $dvrPostLog ccextractor "$origFile" -o "$tmpSrt" #Encode file to H.264 with mkv container using ffmpeg and mux in CC srt echo "Re-encoding '$origFile' to MKV file while adding cc data" | tee -a $dvrPostLog /usr/bin/ffmpeg -i "$origFile" -i "$tmpSrt" -map 0 -map 1 -acodec copy -scodec copy -c:v libx264 -preset medium -crf 23 -profile:v high -level 4.1 -deinterlace "$tmpEncode" #Trim off first minute echo "Remove first 60 sec of file" | tee -a $dvrPostLog /usr/bin/ffmpeg -ss 00:01:00 -i "$tmpEncode" -vcodec copy -acodec copy -scodec copy "$tmpEncode2" #Remove SRT file echo "Remove SRT file" | tee -a $dvrPostLog rm -f "$tmpSrt" #Remove tmpEncode file echo "Remove tmpEncode file" | tee -a $dvrPostLog rm -f "$tmpEncode" #Rename transcoded file to temp file in case no subtitles echo "Rename 2nd transcoded file to tmp file" | tee -a $dvrPostLog mv -f "$tmpEncode2" "$tmpFile" #Overwrite original ts file with the transcoded file echo "Removing '$origFile'" | tee -a $dvrPostLog mv -f "$tmpFile" "$origFile" #Rename .ts file to .ts.mkv echo "Renaming '$origFile' to .mkv" | tee -a $dvrPostLog mv -f "$origFile" "$1.mkv" #Remove lock file echo "Done processing '$origFile' removing lock" | tee -a $dvrPostLog rm $lockFile exit 0
  2. First, thanks for what looks to be an amazing piece of software. I've scanned in all my music and some albums have appeared correctly but others not. The common ground between all those which failed is that they are in one single parent folder (which has various artist / album folders below it). Emby seems to think that the parent folder is an album with hundreds of tracks, although Metadata Manager shows me that it has read the Album ID3 tags correctly on each individual track. Does Emby make Album objects in the library based on the tags or on the folders? My audio tracks are not quite strictly organised as artist/album/track, but the same folder structure has worked fine with many bits of software over the past ten years or so (eg. Kodi, Foobar, Logitech Media Server etc), and I would much rather not re-folder if I can avoid it. Many thanks in advance for any help. SC Platform details: HP Microserver > Ubuntu > Flac files with ID3 tags > Emby 3.0.5675.1 - let me know if you need to know anything else!
  3. I wanted to share my fail2ban configuration for people that want to protect against a brute force attack. Fail2ban is a piece of software that will monitor log files for a authentication failures then ban the source ip address after so many attempts to protect against a brute force attack. I searched around for an tutorial or how to on how to implement this for emby and came up short, so I decided to give it a try and got it to work without much trouble at all. I wouldn't consider myself an expert and this is my first how to I have every written so if I made a mistake or I'm wrong let me know, and use my instructions at your own risk. USE AT YOUR OWN RISK THIS PROBABLY WILL NOT WORK IF YOU ARE USING EMBY CONNECT I'm not using emby connect because I think it has some security problems listed here https://emby.media/community/index.php?/topic/80497-log-out-security-hole/ You need to install fail2ban For my setup with ubuntu 18.10 I used, (should be the same for debian but I haven't tested) sudo apt install fail2ban To get fail2ban working with emby there are two parts, filter and jail, they both have their directories (jail.d) (filter.d) in /etc/fail2ban/ cpeng@g5500:~$ cd /etc/fail2ban/ cpeng@g5500:/etc/fail2ban$ ls action.d fail2ban.conf fail2ban.d filter.d jail.conf jail.d paths-arch.conf paths-common.conf paths-debian.conf paths-opensuse.conf The jail controls what happens with an authentication error and the filter tells how to read the log to find the error. Create a filter: cpeng@g5500:/etc/fail2ban$ sudo nano filter.d/emby.conf /etc/fail2ban/filter.d/emby.conf # Fail2Ban for emby # # [Definition] failregex = AUTH-ERROR: <HOST> - Invalid user or password entered ignoreregex = EDIT: New failregex proposed (below) by @@nayr to catch 401 errors and attempts to find valid user names [Definition] failregex = AUTH-ERROR: <HOST> - Invalid user HTTP Response 401 to <HOST>. The failregex tells what the log line will have in it that designates a fail and "<HOST>" designated the actual ip address. That error looked like this: 2019-12-24 11:12:00.326 Warn HttpServer: AUTH-ERROR: 10.9.162.31 - Invalid user or password entered. So I assumed that AUTH-ERROR will be unique to login errors which is why I started the filter with that. Next you have to create the jail in cpeng@g5500:/etc/fail2ban$ sudo nano jail.d/emby.local /etc/fail2ban/jail.d/emby.local [emby] enabled = true filter = emby logpath = /var/lib/emby/logs/embyserver.txt port = 80,443 I use a reverse proxy that uses ports 80,443, but if you aren't doing that then you want to block the default ports 8096,8920 The logpath may vary from distribution, you can find yours in your dashboard under paths. There are other options that you can add, my default ban time was 10 minutes and max number of retries was 5 which is default which seemed fine to me. The last thing you need to do is reload fail2ban so it re reads the files. sudo systemctl reload fail2ban Then test by entering the wrong password into emby and confirm that it blocks you. Check out the fail2ban.log at /var/log/fail2ban.log tail /var/log/fail2ban.log For testing this command might also come in handy: sudo fail2ban-client unban --all Hope this is helpful. P.S. I recently switched from plex to emby for the dvr service and so far I have been very impressed and happy with how it works. I got tired of all the bugs with plex, that would never get fixed, instead we got new "features" and new interfaces. The icing on the cake is how responsiveness the developers are on these forums.
  4. schmitty

    [Possible Bug] Can not invite users

    Hello, I can no longer invite users, when I click add user Emby Server does not bring up the dialog to Add Local User or Invite with Emby Connect. Has Emby Connect or inviting been removed again?
  5. I have an Ubuntu server running the emby server docker container. Just spun it up yesterday. My password worked no problem. Today, I tried to log in through firefox on another linux machine, and my password doesn't seem to be working. So I decided to try resetting my admin/user account password by clicking the "Forgot Password" button. When I clicked the button, it prompts me for a username. When I type the username and then hit "Submit", nothing at all seems to happen. What can I do to troubleshoot this further so I can get access to my media server again?
  6. With the new Emby server release, I see that there are two options for each hardware encoder/decoder now: the existing VA-API one and a new QuickSync one. My Emby Server runs directly in Debian on a Pentium Gold G5420, identified as Coffee Lake (gen9.5). So what's the difference? Which one is preferred, and why? (Technical details welcome.) Is this an "if it ain't broke, don't fix it" case or a "try it and see what works better/faster" deal? TIA
  7. Hi People, I've just got into Emby and the more I use it the more I love it. I'm trying to get the folder permissions right once and for all as at the moment iàm having to run a chmod 770 on the media directory every time I add media which is not handy. I would just like all the contents to inherit the file permissions of the main directory. Now i know this may be more of a LInux OS question but I post it here as I want to make sure Emby server is happy with this level of settings. At the moment I have a Movies folder that belongs to "emby" group and "antonio" (a normal unix user that is the admin user of the emby server) is member of that group. I set the sticky bit on te "Movies" folder with: chmod g+s Movies so that I have: drwxrwsr--+ 21 antonio emby 4096 nov 10 11:50 Movies You'll see that I have access control set on this folder which I did with the following two commands: setfacl -d -m g::rwx /<directory> //set group to rwx default setfacl -d -m o::r /<directory> //set other After doing this, I created a folder in the MOvies directory via terminal mkdir Baaria (2009) So that: drwx--S---+ 2 antonio emby 4096 nov 10 11:51 Baaria (2009) and the file inside this folder: -rw------- 1 antonio antonio 2098558137 apr 15 2015 Baaria (2009).m4v When I run the getfacl command on the Movies folder, I get: # file: Movies/ # owner: antonio # group: emby # flags: -s- user::rwx group::rwx other::r-- default:user::rwx default:group::rwx default:other::r-- EMBY doesn't seem to be happy with the newly created folder permissions (see below) not quite sure why though. I'm sure this is to do with my ignorance on the unix file system management and the use of the setfacl command or maybe I'm just overcomplicating things. Any suggestions? Thanks Antonio 2015-11-10 11:51:21.0640 Error - App: Error resolving path /exports/zeusmedia/Movies/Baaria (2009) *** Error Report *** Version: 3.0.5781.0 Command line: /usr/lib/emby-server/MediaBrowser.Server.Mono.exe -programdata /var/lib/emby-server -ffmpeg /usr/bin/ffmpeg -ffprobe /usr/bin/ffprobe -restartpath /usr/lib/emby-server/restart.sh Operating system: Unix 3.2.0.4 Processor count: 2 64-Bit OS: False 64-Bit Process: False Program data path: /var/lib/emby-server Mono: 4.0.3 (Stable 4.0.3.20/d6946b4 Wed Aug 19 11:56:04 UTC 2015) Application Path: /usr/lib/emby-server/MediaBrowser.Server.Mono.exe Access to the path "/exports/zeusmedia/Movies/Baaria (2009)" is denied. System.UnauthorizedAccessException at System.IO.Directory+<EnumerateKind>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0 at System.IO.DirectoryInfo+<CreateEnumerateDirectoriesIterator>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0 at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[System.IO.DirectoryInfo,CommonIO.FileSystemMetadata].MoveNext () [0x00000] in <filename unknown>:0 at System.Linq.Enumerable+<CreateConcatIterator>c__Iterator1`1[CommonIO.FileSystemMetadata].MoveNext () [0x00000] in <filename unknown>:0 at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemDictionary (System.String path, Boolean clearCache) [0x00000] in <filename unknown>:0 at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemDictionary (System.String path) [0x00000] in <filename unknown>:0 at MediaBrowser.Controller.IO.FileData.GetFilteredFileSystemEntries (IDirectoryService directoryService, System.String path, IFileSystem fileSystem, ILogger logger, MediaBrowser.Controller.Library.ItemResolveArgs args, Int32 flattenFolderDepth, Boolean resolveShortcuts) [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Implementations.Library.LibraryManager.ResolvePath (CommonIO.FileSystemMetadata fileInfo, IDirectoryService directoryService, MediaBrowser.Controller.Entities.Folder parent, System.String collectionType) [0x00000] in <filename unknown>:0 at MediaBrowser.Server.Implementations.Library.LibraryManager+<ResolveFileList>c__AnonStorey1B.<>m__0 (CommonIO.FileSystemMetadata f) [0x00000] in <filename unknown>:0
  8. Hello everyone Last Friday I restarted my Docker Emby container on Unraid. I lost all my libraries. I had the "Server Configuration Backup" extension, but no restore worked. I was using this Emby package, so I thought that this one had a problem. So I installed a new package at the end of the day. Everything was working until today when I had no cover image on my libraries. I restarted my container, and I lost all my containers. I also tried a restore but nothing worked. Also, it deleted my old Emby log files... However, I found an error in the little log file : When I look in my system, all the metadatas are deleted... ! Do you know can i fix it and restore my metadas ? Thanks a lot embyserver-63765654731.txt
  9. Hi, And thanks for this software. Right now I'm running emby server (premiere) on synology app (NAS is a 918+) ; client is installed on a first generation nvidia shield . All is connected via ethernet. Sometimes (rarely to be frank, very rarely) I got stuttering, mainly x or h265 files. I get two months ago a second hand elitedesk G4 mini (UHD Graphics 630) and installed linux (ubuntu 20.04 server) to run some valheim, minecraft and conan exiles servers via docker. And I wonder if using an emby container on this linux computer would improve performances. CPU is way better in the G4 than in the NAS. RAM is the same, 32Go. I have several questions, having close to none tech skill. 1- In my current setup (syno server to shield), which is "decoding" the stream ? NAS is decoding, and shield just have to display ? Shield is decoding, NAS being just providing the files for the shield to decode ? 2- In my current setup, is there some tips I should use to improve streaming ? 3- In my current setup, should I check somewhere if some sort of hardware acceleration is activated ? On the NAS ? The Shield ? 4- Would using linux server as a host for an emby container, NAS only for storage and the shield as a client improve the experience ? Once again thanks for the program, and the forum. I have a lot of informations available should I install emby docker on linux... Regards, F.
  10. I am using docker, i have the exact same set up with jellyfin, i just wanted to try emby as they have apps for my lg tv. If i go into my docker containers cli i can see all the films and tv shows, they just don't appear in my movie or tv show library on the emby gui when i have scanned them, the path is exactly the same as my existing jellyfin docker which works without issue. Logs are here: Info App: Loading Emby.Notifications, Version=4.6.4.0, Culture=neutral, PublicKeyToken=null, Info App: Loading Emby.Codecs.Dxva, Version=4.6.4.0, Culture=neutral, PublicKeyToken=null, Info App: Loading Emby.Codecs, Version=4.6.4.0, Culture=neutral, PublicKeyToken=null, Info App: Loading Emby.Server.Connect, Version=4.6.4.0, Culture=neutral, PublicKeyToken=null, Info App: Loading Emby.Server.Sync, Version=4.6.4.0, Culture=neutral, PublicKeyToken=null, Info App: Loading EmbyServer, Version=4.6.4.0, Culture=neutral, PublicKeyToken=null, Info SqliteUserRepository: Sqlite version: 3.35.5, Info SqliteUserRepository: Sqlite compiler options: COMPILER=gcc-8.3.0,ENABLE_COLUMN_METADATA,ENABLE_DBSTAT_VTAB,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS4,ENABLE_FTS5,ENABLE_GEOPOLY,ENABLE_JSON1,ENABLE_MATH_FUNCTIONS,ENABLE_PREUPDATE_HOOK,ENABLE_RTREE,ENABLE_SESSION,ENABLE_UNLOCK_NOTIFY,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MAX_SCHEMA_RETRY=25,MAX_VARIABLE_NUMBER=250000,OMIT_LOOKASIDE,SECURE_DELETE,THREADSAFE=1, Info SqliteUserRepository: Default journal_mode for /config/data/users.db is wal, Info AuthenticationRepository: Default journal_mode for /config/data/authentication.db is wal, Info ActivityRepository: Default journal_mode for /config/data/activitylog.db is wal, Info SqliteDisplayPreferencesRepository: Default journal_mode for /config/data/displaypreferences.db is wal, Info App: Adding HttpListener prefix http://+:8096/, Info SqliteItemRepository: Default journal_mode for /config/data/library.db is wal, Info SqliteItemRepository: cache_size is -98304, Info SqliteItemRepository: page_size is 4096, Info FfmpegManager: FFMpeg: /bin/ffmpeg, Info FfmpegManager: FFProbe: /bin/ffprobe, Info FfmpegManager: FFDetect: /bin/ffdetect, Info Skia: SkiaSharp version: 2.80.0.0, Info TaskManager: Daily trigger for Thumbnail image extraction set to fire at 08/10/2021 02:00:00, which is 147.766498335 minutes from now., Info TaskManager: Daily trigger for Rotate log file set to fire at 08/10/2021 00:00:00, which is 27.765629838333332 minutes from now., Info App: ServerId: 160d125f79c749ceaeb31cd227f2eb47, Info Server: http/1.1 GET http://192.168.0.7:8096/emby/system/info/public. UserAgent: Mozilla/5.0 (Linux; Android 10; ONEPLUS A6013 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.131 Mobile Safari/537.36, Info Server: http/1.1 Response 503 to 192.168.0.5. Time: 156ms. http://192.168.0.7:8096/emby/system/info/public, Info App: Starting entry point Emby.Dlna.Main.DlnaEntryPoint, Info Dlna: Registering publisher for urn:schemas-upnp-org:device:MediaServer:1, Info NetworkManager: Detected local ip addresses: 192.168.0.7, 127.0.0.1, Info App: Entry point completed: Emby.Dlna.Main.DlnaEntryPoint. Duration: 0.3627385 seconds, Info App: Starting entry point Emby.Server.Connect.ConnectEntryPoint, Info App: Loading data from /config/data/connect.txt, Info App: Loading data from /config/data/wan.dat, Info App: Entry point completed: Emby.Server.Connect.ConnectEntryPoint. Duration: 0.0222597 seconds, Info App: Core startup complete, Info App: Post-init migrations complete, Info App: Starting entry point Emby.Security.PluginSecurityManager, Info App: Entry point completed: Emby.Security.PluginSecurityManager. Duration: 0.0003403 seconds, Info App: Starting entry point Emby.Server.CinemaMode.IntrosEntryPoint, Info App: Entry point completed: Emby.Server.CinemaMode.IntrosEntryPoint. Duration: 0.0006473 seconds, Info App: Starting entry point Emby.Webhooks.WebhooksEntryPoint, Info App: Entry point completed: Emby.Webhooks.WebhooksEntryPoint. Duration: 0.0091679 seconds, Info App: Starting entry point Emby.PortMapper.ExternalPortForwarding, Info App: Entry point completed: Emby.PortMapper.ExternalPortForwarding. Duration: 0.0022248 seconds, Info App: Starting entry point NfoMetadata.EntryPoint, Info App: Entry point completed: NfoMetadata.EntryPoint. Duration: 0.0009112 seconds, Info App: Starting entry point MediaBrowser.Api.ApiEntryPoint, Info App: Entry point completed: MediaBrowser.Api.ApiEntryPoint. Duration: 0.0003795 seconds, Info App: Starting entry point Emby.Server.Implementations.Udp.UdpServerEntryPoint, Info App: Entry point completed: Emby.Server.Implementations.Udp.UdpServerEntryPoint. Duration: 0.0048624 seconds, Info App: Starting entry point Emby.Server.Implementations.News.NewsEntryPoint, Info App: Entry point completed: Emby.Server.Implementations.News.NewsEntryPoint. Duration: 0.0006593 seconds, Info App: Starting entry point Emby.Server.Implementations.Library.DeviceAccessEntryPoint, Info App: Entry point completed: Emby.Server.Implementations.Library.DeviceAccessEntryPoint. Duration: 0.0022856 seconds, Info App: Starting entry point Emby.Server.Implementations.IO.LibraryMonitorStartup, Info App: Init BeginReceive on 0.0.0.0, Info App: Init BeginReceive on 0.0.0.0, Info App: Init BeginReceive on 192.168.0.7, Info App: Init BeginReceive on 127.0.0.1, Info HttpClient: GET https://emby.media/community/index.php?/blog/rss/1-media-browser-developers-blog, Info LibraryMonitor: Skipping realtime monitor for /data/movies because the path does not exist, Info LibraryMonitor: Skipping realtime monitor for /data/tvshows because the path does not exist, Info App: Entry point completed: Emby.Server.Implementations.IO.LibraryMonitorStartup. Duration: 0.7805528 seconds, Info App: Starting entry point Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint, Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint. Duration: 0.0010587 seconds, Info App: Starting entry point Emby.Server.Implementations.EntryPoints.KeepServerAwake, Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.KeepServerAwake. Duration: 0.0006837 seconds, Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier, Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier. Duration: 0.0084622 seconds, Info App: Starting entry point Emby.Server.Implementations.EntryPoints.ServerEventNotifier, Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.ServerEventNotifier. Duration: 0.0087661 seconds, Info App: Starting entry point Emby.Server.Implementations.EntryPoints.StartupWizard, Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.StartupWizard. Duration: 0.001243 seconds, Info App: Starting entry point Emby.Server.Implementations.EntryPoints.SystemEvents, Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.SystemEvents. Duration: 0.0017413 seconds, Info App: Starting entry point Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier, Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier. Duration: 0.000559 seconds, Info App: Starting entry point Emby.Server.Implementations.Channels.ChannelsEntryPoint, Info App: Entry point completed: Emby.Server.Implementations.Channels.ChannelsEntryPoint. Duration: 0.0073198 seconds, Info App: Starting entry point Emby.LiveTV.EntryPoint, Info LiveTV: Loading live tv data from /config/data/livetv/timers, Info App: Entry point completed: Emby.LiveTV.EntryPoint. Duration: 0.0511545 seconds, Info App: Starting entry point Emby.LiveTV.UpgradeChannelOptionsEntryPoint, Info App: Entry point completed: Emby.LiveTV.UpgradeChannelOptionsEntryPoint. Duration: 0.0037867 seconds, Info App: Starting entry point Emby.LiveTV.RecordingNotifier, Info App: Entry point completed: Emby.LiveTV.RecordingNotifier. Duration: 0.0070804 seconds, Info App: Starting entry point Emby.ActivityLog.ActivityLogEntryPoint, Info App: Entry point completed: Emby.ActivityLog.ActivityLogEntryPoint. Duration: 0.009562 seconds, Info App: Starting entry point Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint, Info App: Entry point completed: Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint. Duration: 0.0040112 seconds, Info App: Starting entry point Emby.Notifications.Notifications, Info App: Entry point completed: Emby.Notifications.Notifications. Duration: 0.0011337 seconds, Info App: Starting entry point Emby.Server.Sync.SyncManagerEntryPoint, Info App: SyncRepository Initialize taking write lock, Info App: SyncRepository Initialize write lock taken, Info App: Entry point completed: Emby.Server.Sync.SyncManagerEntryPoint. Duration: 0.0143517 seconds, Info App: Starting entry point Emby.Server.Sync.SyncNotificationEntryPoint, Info App: Entry point completed: Emby.Server.Sync.SyncNotificationEntryPoint. Duration: 0.0058497 seconds, Info App: Starting entry point EmbyServer.Windows.LoopUtilEntryPoint, Info App: Entry point completed: EmbyServer.Windows.LoopUtilEntryPoint. Duration: 0.0004983 seconds, Info App: All entry points have started
  11. lushLi2ard60

    Question About My Firefox Installation

    Hello all! I noticed this morning an issue with some movies on Firefox, I can't skip of fast forward them from Chrome on Linux. After some investigation, I noticed that it happens with movies that gets converted to VPX codec by the server. If I watch the movies from the Android app, it works just fine as the server delivers it in h264. It also works just fine with Chrome based browser (as it doesn't use that VPX codec). Here is what I tried: Disabled subtitles Metadata refresh Changed resolution Disabled HTTP/2 & CSP Restarted Emby Server No matter what I tried, it is still being delivered to my Chrome client in VPX and I think that is the issue. It is happening on all the files with a "Container not supported". Server config: Emby 4.6.4.0 in docker I attached logs of the same movie played in Emby for Android and Emby Web with debugging turned on. I also attached screenshots of the "Stats for nerds" on that same movie for both clients. Thanks! transcode_emby_android.txt transcode_chrome-linux.txt
  12. Hi I have a USB drive containing my music library (mostly mp3) attached to my router, and created a share on the router. I have installed Emby Server on my laptop so I can pick up streams from my TV and other devices, at least that was my hope. In the server web interface I have added the library and it has catalogued all folders and tracks. It will not play anything in the web interface giving me the error On my TV, again I can browse the folder structure but when I try to play a track I get a network error message. On VLC on my phone, I get an error message. Thee is a DLNA server on the router and this gives me the catalogue AND I can play the music files on my TV and phone. It has a file limitation however which is why I looked to use EMBY. Now, please be gentle - I have no idea what the f*** I'm doing most of the time so hand-holding is required. I have searched and seen this message has been encountered before but on NAS drives etc. I know it's similar but ... It may be a permissions thing but I don't know. Thanks in advance.
  13. Im using Linux Ubuntu 16.04 64 bit and Asustor AS-604T ADM 3.2.1 This requires you do own a domain and have create a Lets Encrypt certificate! Following ports should be open: 80, 443, 8096 and 8920 1. Login to ADM web interface > Settings > Certificate Manager - Click on Export Certificate. 2. Extract certificate.zip and open the folder certifiate 3. right click in the folder - select open terminal 4. enter the command: * Please change the name of the give-me-a-name.pfx * After execution of this command you will be prompted to create a password, this is recommanded! openssl pkcs12 -export -out give-me-a-name.pfx -inkey ssl.key -in ssl.crt 5. Save the new create give-me-a-name.pfx file on your NAS in a shared folder of own choice 6. go to: http://local.ip.of.nas:8096/ 7. Go to Advanced and do the following Check that Allow remote connection to this Emby Server is marked. * add external domain name * Custon ssl certificate path (Click on the magnifier right to the text field and navigate to where the .pfx file is. * Certificate password - Add the password you entered after execution of step 4. * Secure connection mode - Set to preferred, but not required. 8. Hit save and navigate to Controlpanel > Restart - Now you should be able to access the Emby Media Server from outside.
  14. moisesnfernnade

    emby shutting down alone

    I have been using emby on my Linux server for a while now, version 4.6.0.50 is shutting down the emby program alone, it only deactivates it, I don’t know what’s going on previous versions didn’t happen this the server is Linux is is updating
  15. Hi, I am trying to give Emby access to my external drive on Raspbian. I've searched a lot of different things and have used chmod and chown to try and give it permissions, but to no avail. I am a Linux noob so this is somewhat difficult for me. When I try to add a library from the external drive, I go to the directory that has it, but it's blank. Any help?
  16. Hello I've been testing the linux server and while Emby is great it seems to lack some basic functionality that other software has. First off, the Now Playing screen should have a quick hot link in the left pane to avoid navigation confusion. There is lot's of clicking involved in Emby to find things and to get the logical view of things. Navigation UI improvements could be done to streamline the experience. There is no shuffle option on the Now Playing nor is there a randomise order or remove duplicates option for the play queue. It would be useful to be able to manage the play queue more during playback. Auto tagging is a loose cannon. Seriously the feature is a mess maker. I have music in thematic folders which contain artists and so on. Emby sees the top folder as an album and desperately tries to name it despite it not being one. This causes chaos in tags. There should be an option to tag a folder as a folder not a metadata "object" and leave it alone. Images - uh this just does not work well at all, images keep changing on their own, reverting back to what they were and just a global mess really. Artwork does not really load from the web either despite plugins present. I have to do a lot of manual image uploading. There should also be an option to edit images in several files at once with the multiselect file option. Subtitles - a simple option to browse and load srt would be spot on, having to manually edit each subtitle file name is silly. Web streaming - a Youtube / web link plugin would be nice. Not to mention hooking up Netflix and so. Dashboard - continue listening does not load at all as a section Overall kudos for the work guys but still lot's to do. Given the lack of these major features for me I won't be buying the license until there is some further improvements as the product seems incomplete. The inability to test the apps before purchasing the license is also a bit unfair, how can I make a purchase if I haven't seen the whole product? A 1 week trial would suffice. Now que on backlash from my post ;)
  17. Hello Community, I was hoping someone else is having a similar problem and perhaps know the reason why after the second to last update of Emby, my collections vanished (both user created, and those generated by the box set plugin). At first I thought it had to be ownership/permissions had become muddled, but all other writes are allowed (updates to metadata, metadata refreshes on intervals, favourites) Here is a breakdown of my formerly working setup: Emby running on Docker - app folder in home directory to utilize the SSD benefit. OS: Fedora 33 - kept up to date daily Docker image is from Linuxserver.io (I chose that image to keep things in line with my other services, and ease of setup Permissions are defined in the docker-compose file for PGID:1000 (logged user) and GUID:973 (docker) however i've also tried chowning the permissions to 1000:1000 in both the .yaml file and filesystem in keeping with linuxserver.io's standard setups.. No joy as of yet.. I'm copying a backup of the emby appdata folder to backup in an attempt to start fresh, if that doesn't work i'll restore and hope that either emby, or the image provider figures it out. One thing worth noting, while I can't make a collection, the Boxset plugin CAN, and I can add and remove from them, if I try to create my own it circles out. I'd really prefer to keep my watched status. not so much for me, but my elderly parents (also my main reason for fighting with collections, so I can narrow down content for them) so I was wondering if the community can : 1) Diagnose what might have happened to either the config or the docker image (last two versions, first time lost all collections, I tried backing up the collections folder and starting new, no joy. or 2) If I create a new instance, which folders to keep so my 2 users keep their watched status. I don't mind rescanning metadata and tailoring the layout again. Any help would be appreciated, I hope I gave the community enough information, so as to not waste your time. Thank You, Ray.
  18. Hi, I am in the process of a full library scan, and I see the following errors appear in the server logs repeatedly. System.Exception: ffprobe failed for file... streams and format are both null and [matroska,webm @ 0xebdc00] Format matroska,webm detected only with low score of 1, misdetection possible! [matroska,webm @ 0xebdc00] EBML header parsing failed : Invalid data found when processing input embyserver.txt
  19. CaffNoir

    Emby Won't Start

    Hi guys ! I've just made a little mistake but i don't know what. I tried to make a backup with the plugin but it's always resume with an error so to see what's going on i tried to check logs but my logs wasn't updated 'till a long time so like a genius (lol) i did a "rm -r /var/lib/emby/logs" then "mkdir /var/lib/emby/logs". Big mistake because it removed all my logs cool but won't create logs. I tried to restart emby with "service emby-server restart" but it's resume with an error : ● emby-server.service - Emby Server is a personal media server with apps on just about every device. Loaded: loaded (/lib/systemd/system/emby-server.service; enabled; vendor preset: enabled) Active: failed (Result: signal) since Fri 2021-04-16 23:17:45 CEST; 13min ago Process: 4741 ExecStart=/opt/emby-server/bin/emby-server (code=killed, signal=ABRT) Main PID: 4741 (code=killed, signal=ABRT) Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: at System.IO.FileStream.OpenHandle(FileMode mode, FileShare share, FileOptions options) Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: at Emby.Server.Implementations.Logging.FileLogger..ctor(String path) Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: at Emby.Server.Implementations.Logging.SimpleLogManager.ReloadLogger(LogSeverity severity, CancellationToken cancellationToken) Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: --- End of inner exception stack trace --- Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: at System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: at System.Threading.Tasks.Task.WaitAll(Task[] tasks) Apr 16 23:17:45 Debian-105-buster-64-minimal emby-server[4741]: at EmbyServer.Program.Main(String[] args) Apr 16 23:17:45 Debian-105-buster-64-minimal systemd[1]: emby-server.service: Main process exited, code=killed, status=6/ABRT Apr 16 23:17:45 Debian-105-buster-64-minimal systemd[1]: emby-server.service: Failed with result 'signal'. also i've found a command on the forum : "nohup /opt/emby-server/bin/emby-server &" and it's worked but "service emby-server restart" and "service emby-server status" show the error. Can anyone help me ? Thanks !
  20. Hello Folks, After the success of getting a count of the current NowPlayingItem entries in the Sessions API, I am now trying to get a list of the Users and what they are currently playing - then send that to my InfluxDB to show in my Grafana server. I am nearly there with this command line, but cannot quite get it so that JQ only shows those session users who are actually playing something... wget -q -O - "http://localhost:8096/emby/Sessions?api_key=3469exxxxxxxxxxxxxxx201ef3f" | jq -M '.[].UserName, .[].NowPlayingItem.Name' will show me the following... null "Paul" "Tracey" "Sam" "Tom" "Katie" null "The Secret of the Unicorn (1)" null null null null ...which is every possible user. In the above example, only user "Paul" is actually playing ""The Secret of the Unicorn (1)". If I add the JQ options to now show 'nulls'... wget -q -O - "http://localhost:8096/emby/Sessions?api_key=3469exxxxxxxxxxxxxxx201ef3f" | jq -M '.[].UserName, .[].NowPlayingItem.Name | select(. != null)' then I can get it to this output... "Paul" "Tracey" "Sam" "Tom" "Katie" "The Secret of the Unicorn (1)" ...which is correct but still shows me users that are not playing anything at that time! Does anyone have knowledge of JSON and JQ or the API so that I can just get a list of those users that are playing an item now. I would be happy with this output... "Paul" "The Secret of the Unicorn (1)" ...or even better - turn it in to a key + value pair like this... { "Paul": "The Secret of the Unicorn (1)" } ...so that I can send that to a bash script and then to my InfluxDB. Thanks in advance! Regards, Paully
  21. Preface All of the media I'm testing have previously worked flawlessly in the current environment. Meaning my network topography/speed has not changed. I cannot say for sure when this problem began as I rarely need to use a browser to access my Emby personally, however I had a user report issues a few weeks ago. I gave it very little thought until I had reason to use a browser recently and I ran into problems. Problem Recently (within the last few weeks), Emby playback within my web-browser has begun giving me the following error: Testing I have tested with various browser on various machines with results as such Ubuntu - Chrome: FAIL Windows - Chrome: FAIL Ubuntu - Firefox: FAIL Windows - Firefox: FAIL Windows - Edge: SUCCESS I have deduced that this happens for all Matroska contained media as far as I can tell. Container WebM w/ VP9/Opus codecs works correctly. I'd have to really go fishing for other types of media to test as my libraries are 99.99% Matroska or WebM. Logs NOTE: Firefox actually attempted transcoding, though still resulted in the same error. I zipped the result transcode logs for each occurrence, though I know they will not be helpful for debugging this. 20180926-Emby.Server.DEBUG-Ubuntu.Chrome.v69.0.3497.81-1.log 20180926-Emby.Server.DEBUG.Windows.Chrome.v68.0.3440.100-1.log 20180926-Emby.Server.DEBUG-Ubuntu.Firefox.v57.0.1-1.log 20180926-Emby.Server.DEBUG-Ubuntu.Firefox.v57.0.1.zip 20180926-Emby.Server.DEBUG.Windows.Firefox.v62.0.2-1.log 20180926-Emby.Server.DEBUG.Windows.Firefox.v62.0.2.zip 20180926-Emby.Server.DEBUG.Windows.Edge.log UPDATE -- 20180927 -- Official Embyserver Docker Container results -- 20180927-Emby.Server.DEBUG-Ubuntu.Chrome.v69.0.3497.81-3-1.log UPDATE It appears I may have opened a duplicate post from someone else with a similar problem (though to be fair, when I searched I did not find it as their topic is very misleading) https://emby.media/community/index.php?/topic/63309-docker/?p=627055 Also at a glance at their log, their ffmpeg doesn't even start, whereas this is not my issue.
  22. Dan64

    How to speed up Emby on Linux

    Assuming that there is memory to spare, placing Emby's data and/or cache to RAM offers significant advantages. Even though opting for the partial route is an improvement by itself, the latter can make Emby even more responsive compared to its stock configuration. Benefits include, among others: - reduced drive read/writes; - heightened responsive feel; - many operations within Emby, such as quick search are nearly instantaneous. To do so we can make use of a tmpfs. Because data placed therein cannot survive a shutdown, a script responsible for syncing back to drive prior to system shutdown is necessary if persistence is desired. On the other hand, only relocating the cache is a quick, less inclusive solution that will slightly speed up user experience with Emby. In this post is provided an example of script to move and sync the "data" folder (where is stored the emby db) to RAM. Be sure that rsync is installed and save the "executable" script to /opt/emby-server/bin/emby-data_sync.sh, for example: #!/bin/sh # The script will first move emby's data to a new static location, # make a sub-directory in /dev/shm, softlink to it and later populate it with the contents of data. # The second time the script runs, it will then preserve the RAM profile by copying (sync) it back to disk. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin static=data-static link=data volatile=/dev/shm/emby-data IFS= set -efu cd /var/lib/emby if [ ! -r $volatile ]; then mkdir -m0700 $volatile fi if [ "$(readlink $link)" != "$volatile" ]; then echo "--> Emby: Init RAM Disk" mv $link $static ln -s $volatile $link fi if [ -e $link/.unpacked ]; then echo "--> Emby: Sync Disk" rsync -av --delete --exclude .unpacked ./$link/ ./$static/ else echo "--> Emby: Sync RAM" rsync -av ./$static/ ./$link/ touch $link/.unpacked fi It is best to add a cron job to guarantee the sync between RAM and disk, for example the following entry will run the sync process every 30min. */30 * * * * /opt/emby-server/bin/emby-data_sync.sh Then it is necessary to change the service: /lib/systemd/system/emby-server.service to guarantee the initial and final sync, as follow: [Unit] Description=Emby Server is a personal media server with apps on just about every device. After=network.target [Service] TimeoutSec=5min EnvironmentFile=/etc/emby-server.conf WorkingDirectory=/opt/emby-server ExecStartPre=/opt/emby-server/bin/emby-data_sync.sh ExecStart=/opt/emby-server/bin/emby-server ExecStopPost=/opt/emby-server/bin/emby-data_sync.sh RestartForceExitStatus=3 User=emby [Install] WantedBy=multi-user.target After this change it is necessary reload the service with the command: systemctl daemon-reload Finally it is possible to activate the shared-memory for Emby with the command systemctl restart emby-server It is possible to verify the execution of the script with the command: systemctl status emby-server ● emby-server.service - Emby Server is a personal media server with apps on just about every device. Loaded: loaded (/lib/systemd/system/emby-server.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-01-01 09:46:44 CET; 7min ago Process: 8310 ExecStopPost=/opt/emby-server/bin/emby-data_sync.sh (code=exited, status=0/SUCCESS) Process: 8315 ExecStartPre=/opt/emby-server/bin/emby-data_sync.sh (code=exited, status=0/SUCCESS) Main PID: 8320 (EmbyServer) Tasks: 23 (limit: 4915) Memory: 676.5M CGroup: /system.slice/emby-server.service └─8320 /opt/emby-server/system/EmbyServer -programdata /var/lib/emby -ffmpeg /opt/emby-server/bin/ffmpeg More details can be found with the command: journalctl | grep emby-data_sync.sh emby-data_sync.sh[23844]: sending incremental file list emby-data_sync.sh[23844]: activitylog.db-wal emby-data_sync.sh[23844]: authentication.db-wal emby-data_sync.sh[23844]: library.db emby-data_sync.sh[23844]: library.db-wal emby-data_sync.sh[23844]: users.db-wal emby-data_sync.sh[23844]: ScheduledTasks/6330ee8f-b4a9-57f3-3981-f89aa78b030f.js emby-data_sync.sh[23844]: ScheduledTasks/81267bb8-bb49-51de-4b1b-446262cc7365.js emby-data_sync.sh[23844]: ScheduledTasks/d459f39d-7abb-81f5-fcce-03048a7ecf4d.js emby-data_sync.sh[23844]: SyncData/Emby.Kodi.SyncQueue.I.1.40.json emby-data_sync.sh[23844]: sent 255,467,606 bytes received 227 bytes 30,055,039.18 bytes/sec emby-data_sync.sh[23844]: total size is 257,320,410 speedup is 1.01 emby-data_sync.sh[23852]: sending incremental file list emby-data_sync.sh[23852]: sent 4,561 bytes received 44 bytes 9,210.00 bytes/sec emby-data_sync.sh[23852]: total size is 257,320,410 speedup is 55,878.48 The paths used in this post are the default ones for a Debian installation, in the case the distribution used is different could be necessary to change some path. But the main concept remain the same. On my installation I was able to speed up the "quick searches" by 100 times. This improvement is mainly due to the increase of speed obtained by moving the SQLite databases to RAM. In this article: https://www.directionsmag.com/article/3794 is reported an interesting comparison on memory access vs disk access speed and is stated that: "If you have a problem with slow database access, placing the entire database in RAM can instantly provide a factor-of-100-thousand increase in access speed with no other programming or data structure changes required".
  23. Hello When I try to add a path on an external hard disk, it does not appear in the library section, but I can access it through the file browser on the system. attention: I am using raspberry pi OS. thank you.
  24. Inspired by this article on how to host a website using cloudflare and nginx, i intend to do the same for my emby server. Like swynol, i have nginx server and emby server running on the very same machine which i station on my local home network. My OS however is ubuntu instead of windows. Ive tried both swynol's and lukecarrier's github codes, no avail, it wont redirect to the emby server no matter what. My nginx server was indeed running as both ports 80 and 443 are opened as tested by canyouseeme.org. It just wont redirect whenever i go to https://emby.mydomainname.com I dont even know where should i put the code, of the guides online, some say /etc/nginx/conf.d/mydomain.com, some say /etc/nginx/sites-available/mydomain.com with /etc/nginx/sites-enabled linked to earlier. I highly suspect that the code is the culprit. sudo nginx -t show no error, systemctl status nginx operational Shed some light anyone? Appreciate it. Update 16/12/2020 Here's my nginx code where I put under sites-available and then linked to sites-enabled via ln -s server { listen [::]:80; ## Listens on port 80 IPv6 listen 80; ## Listens on port 80 IPv4 listen [::]:443 ssl http2; ## Listens on port 443 IPv6 with http2 and ssl enabled listen 443 ssl http2; ## Listens on port 443 IPv4 with http2 and ssl enabled proxy_buffering off; ## Sends data as fast as it can not buffering large chunks. server_name emby.mydomainname.com; ## enter your service name and domain name here access_log /var/log/nginx/embyaccess.log; ## Creates a log file with this name and the log info above. ## SSL SETTINGS ## ssl_session_timeout 30m; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; ssl_certificate /etc/ssl/mydomainname/cert.pem; ## Location of your public ssl_certificate_key /etc/ssl/mydomainname/key.pem; ## Location of your private PEM file. ssl_client_certificate /etc/ssl/mydomainname/cloudflare.crt; ##Authenticated Origin Pulls ssl_verify_client on; ##Authenticated Origin Pulls ssl_session_cache shared:SSL:10m; location ^~ /swagger { ## Disables access to swagger interface return 404; } location / { proxy_pass http://localhost:8096; ## Enter the IP here proxy_hide_header X-Powered-By; ## Hides nginx server version from bad guys. proxy_set_header Range $http_range; ## Allows specific chunks of a file to be requested. proxy_set_header If-Range $http_if_range; ## Allows specific chunks of a file to be requested. #proxy_set_header X-Real-IP $remote_addr; ## Passes the real client IP to the backend server. proxy_set_header X-Real-IP $http_CF_Connecting_IP; ## if you use cloudflare un-comment this line and comment out above line. proxy_set_header Host $host; ## Passes the requested domain name to the backend server. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ## Adds forwarded IP to the list of IPs that were forwarded to the backend server. ## ADDITIONAL SECURITY SETTINGS ## ## Optional settings to improve security ## ## add these after you have completed your testing and ssl setup ## ## NOTICE: For the Strict-Transport-Security setting below, I would recommend ramping up to this value ## ## See https://hstspreload.org/ read through the "Deployment Recommendations" section first! ## add_header 'Referrer-Policy' 'origin-when-cross-origin'; add_header Strict-Transport-Security "max-age=15552000; preload" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; ## WEBSOCKET SETTINGS ## Used to pass two way real time info to and from emby and the client. proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; } } Big thanks to @pir8radio for the configuration, my configuration is based on his. Setting up authenticated origin pulls is optional, here's where I download the cert. https://support.cloudflare.com/hc/en-us/articles/204899617-Authenticated-Origin-Pulls#section6
  25. HI i want to make custom homepage interface or theme or change little bit, but big but i cant find path where is located index.html. I need this path look picture. Emby server is running on raspbery pi DietPi OS (Linux)
×
×
  • Create New...