Depechie 9 Posted January 6, 2022 Posted January 6, 2022 (edited) Hey, Had unfortunate event that the SSD of my Linux server crashed and everything was lost. Of course I did not have backups ( yeah I know ) so I needed to re-setup everything from scratch. I'm running Debian bullseye with docker to host emby server on my Intel NUC. I think I have everything correctly done, but still I'm unable to play media. I'm getting: Playback Error: No compatible streams are currently available. What do you think I missed with my setup? Weird part is that even though the folders are scanned correctly and all the movies are shown in the UI, the log says something about folder not found? This is my docker compose: HomeLab/docker-compose.yml at main · Depechie/HomeLab (github.com) hardware_detection-63777101912.txt ffmpeg-transcode-455a9e5b-8aa6-40d8-aea8-ae1bd826b396_1.txt Edited January 6, 2022 by Glenn
Depechie 9 Posted January 7, 2022 Author Posted January 7, 2022 (edited) Also the Emby server log show this... 2022-01-07 08:28:50.436 Error Server: Error processing request *** Error Report *** Version: 4.6.7.0 Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 Operating system: Linux version 5.10.0-10-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 Framework: .NET Core 3.1.21 OS/Process: x64/x64 Runtime: system/System.Private.CoreLib.dll Processor count: 8 Data path: /config Application path: /system System.IO.DirectoryNotFoundException: System.IO.DirectoryNotFoundException: Could not find a part of the path '/mnt/movies01/Tropic Thunder (2008)/Tropic Thunder (2008).mkv'. at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, Int32 bufferSize, FileOpenOptions fileOpenOptions) at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileStream(String path, FileOpenMode mode, FileAccessMode access, FileShareMode share, FileOpenOptions fileOpenOptions) at Emby.Server.Implementations.IO.IOManager.GetResponse(HttpRequestOptions options, MediaProtocol protocol) at Emby.Server.Implementations.IO.IOManager.GetResponse(HttpRequestOptions options) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetContent(StaticFileResultOptions options, Int64 offset, Int64 length, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.FileWriter.SetContentResponseHeaders(Nullable`1 reportedTotalContentLength, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpResultFactory.GetStaticResult(IRequest requestContext, StaticResultOptions options) at Emby.Server.MediaEncoding.Api.Progressive.BaseProgressiveStreamingService.ProcessRequest(StreamRequest request, Boolean isHeadRequest) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken) Source: System.Private.CoreLib TargetSite: Void ThrowExceptionForIoErrno(ErrorInfo, System.String, Boolean, System.Func`2[Interop+ErrorInfo,Interop+ErrorInfo]) Don't understand this to be honest... Also not sure if I read the ffmpeg transcoding log correctly, but it seems it is not using any hadware acceleration? Is my assumption correct? Is that not possible for the integrated GPU of the Intel NUC? Any pointers on that? Ow HA is only for paid subscription? ( Emby Premiere Feature Matrix : Emby ) Edited January 7, 2022 by Glenn
CassTG 113 Posted January 7, 2022 Posted January 7, 2022 Can you post your docker compose, and are you using Emby version of Docker or Linuxserver's, did you also add the devices: - /dev/dri:/dev/dri #optional To pass through the IGPU
Depechie 9 Posted January 7, 2022 Author Posted January 7, 2022 emby: image: emby/embyserver container_name: emby network_mode: host # Enable DLNA and Wake-on-Lan environment: - UID=1000 # The UID to run emby as (default: 2) - GID=1000 # The GID to run emby as (default 2) - GIDLIST=44,107 # A comma-separated list of additional GIDs to run emby as (default: 2) volumes: - /home/depechie/emby/config:/config - /home/depechie/emby/movies01:/data/movies01 - /home/depechie/emby/movies02:/data/movies02 - /home/depechie/emby/moviesarch01:/data/moviesarch01 - /home/depechie/emby/moviesarch02:/data/moviesarch02 - /home/depechie/emby/series01:/data/series01 - /home/depechie/emby/series02:/data/series02 ports: - 8096:8096 # HTTP port devices: - /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes restart: unless-stopped
Luke 42077 Posted January 7, 2022 Posted January 7, 2022 It looks like the server is being denied access to the media files.
Depechie 9 Posted January 7, 2022 Author Posted January 7, 2022 @Luke ok, I will investigate more in that area. Maybe my mounts are not correct. But still weird it loads all movies. What is the folder Emby uses for the ffmpeg transcoding? Could it be that it has not enough rights in that folder or something? Or is that covered in the docker scenario out of the box?
Luke 42077 Posted January 7, 2022 Posted January 7, 2022 1 hour ago, Glenn said: @Luke ok, I will investigate more in that area. Maybe my mounts are not correct. But still weird it loads all movies. What is the folder Emby uses for the ffmpeg transcoding? Could it be that it has not enough rights in that folder or something? Or is that covered in the docker scenario out of the box? That's the server's transcoding temporary files folder, but in this case, it can't even read the contents of the source media file.
Depechie 9 Posted January 7, 2022 Author Posted January 7, 2022 I remember that originally I have mounted my shares in Linux with CIFS, but this time I'm mounting with NFS. I did this, because my NAS only has guest access for CIFS so everything is read only, through NFS the folders are writable too. As test, I reverted 1 folder back to CIFS and tried playing a movie from there, but it gives the same error Another entry in the log of Embyserver 2022-01-07 17:53:30.695 Info App: ProcessRun 'StreamTranscode 07bf6d' Execute: /bin/ffmpeg -loglevel +timing -y -print_graphs_file "/config/logs/ffmpeg-remux-07bf6d59-d213-444c-89f7-3894c62292db_1graph.txt" -copyts -start_at_zero -f matroska,webm -c:v:0 h264 -i "/mnt/movies01/Tropic Thunder (2008)/Tropic Thunder (2008).mkv" -map 0:0 -map 0:1 -sn -c:v:0 copy -c:a:0 libmp3lame -ab:a:0 192000 -ac:a:0 2 -metadata:s:a:0 language=eng -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "/config/transcoding-temp/3813F1.m3u8" -segment_list_type m3u8 -segment_time 3 -segment_list_entry_prefix hls/3813F1/ -segment_start_number 0 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "/config/transcoding-temp/3813F1_%d.ts" 2022-01-07 17:53:30.706 Info App: AppendExtraLogData - Read graph file: /config/logs/ffmpeg-remux-07bf6d59-d213-444c-89f7-3894c62292db_1graph.txt 2022-01-07 17:53:30.706 Info App: AppendExtraLogData - Deserialized GraphData fileStream: {0:n} bytes Graph Count: 0 2022-01-07 17:53:30.706 Info App: AppendExtraLogData - File Deleted 2022-01-07 17:53:30.707 Info App: ProcessRun 'StreamTranscode 07bf6d' Process exited with code 1 2022-01-07 17:53:30.747 Error Server: Error processing request *** Error Report *** Version: 4.6.7.0 Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 Operating system: Linux version 5.10.0-10-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 Framework: .NET Core 3.1.21 OS/Process: x64/x64 Runtime: system/System.Private.CoreLib.dll Processor count: 8 Data path: /config Application path: /system System.Exception: System.Exception: Error starting ffmpeg at Emby.Server.MediaEncoding.Api.BaseStreamingService.StartFfMpeg(StreamState state, String outputPath, CancellationToken cancellationToken, Boolean acquireResources) at Emby.Server.MediaEncoding.Api.Hls.BaseHlsService.ProcessRequest(StreamRequest request) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken) Source: Emby.Server.MediaEncoding TargetSite: Void MoveNext() There has to be something obvious I'm missing, something I did with my previous Linux Debian install, but since I do not have a backup I have no clue what it could be Maybe something with security settings for a user?
CassTG 113 Posted January 7, 2022 Posted January 7, 2022 (edited) I would check the ID's you have used As a test you can fire up the docker using - UID=0 # The UID to run emby as (default: 2) - GID=0 # The GID to run emby as (default 2) This will run the docker as root, if the files play then we know it's an id issue I don't use the Emby own docker as i stick to Linuxserver.io dockers so i have no clue what this is for Quote - GIDLIST=44,107 # A comma-separated list of additional GIDs to run emby as (default: 2) So try without that as well. When you set the G/UID as 1000 i presume that actually matches a known user, i.e it matches your home user on the list if you do: cat /etc/passwd If it plays when docker set as root, then have to play around with folder permissions Also You could try setting up a seperate docker using Linuxserver.io image in the link below (use a diff container name), people often ask why i use their image and it's simple, i have never had any issues with any of their images (largest maintainer of images), and no offence to the emby team but they have a lot more documentation on what each parameter is for. Docker Hub Linuxserver.io Emby Image and Documentation Take a screengrab of your main mount folder as well so we can see which user group owns the top level folder and subsequent sub folders Edited January 7, 2022 by CassTG
Solution Luke 42077 Posted January 8, 2022 Solution Posted January 8, 2022 7 hours ago, Glenn said: I remember that originally I have mounted my shares in Linux with CIFS, but this time I'm mounting with NFS. I did this, because my NAS only has guest access for CIFS so everything is read only, through NFS the folders are writable too. As test, I reverted 1 folder back to CIFS and tried playing a movie from there, but it gives the same error Another entry in the log of Embyserver 2022-01-07 17:53:30.695 Info App: ProcessRun 'StreamTranscode 07bf6d' Execute: /bin/ffmpeg -loglevel +timing -y -print_graphs_file "/config/logs/ffmpeg-remux-07bf6d59-d213-444c-89f7-3894c62292db_1graph.txt" -copyts -start_at_zero -f matroska,webm -c:v:0 h264 -i "/mnt/movies01/Tropic Thunder (2008)/Tropic Thunder (2008).mkv" -map 0:0 -map 0:1 -sn -c:v:0 copy -c:a:0 libmp3lame -ab:a:0 192000 -ac:a:0 2 -metadata:s:a:0 language=eng -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "/config/transcoding-temp/3813F1.m3u8" -segment_list_type m3u8 -segment_time 3 -segment_list_entry_prefix hls/3813F1/ -segment_start_number 0 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "/config/transcoding-temp/3813F1_%d.ts" 2022-01-07 17:53:30.706 Info App: AppendExtraLogData - Read graph file: /config/logs/ffmpeg-remux-07bf6d59-d213-444c-89f7-3894c62292db_1graph.txt 2022-01-07 17:53:30.706 Info App: AppendExtraLogData - Deserialized GraphData fileStream: {0:n} bytes Graph Count: 0 2022-01-07 17:53:30.706 Info App: AppendExtraLogData - File Deleted 2022-01-07 17:53:30.707 Info App: ProcessRun 'StreamTranscode 07bf6d' Process exited with code 1 2022-01-07 17:53:30.747 Error Server: Error processing request *** Error Report *** Version: 4.6.7.0 Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 Operating system: Linux version 5.10.0-10-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 Framework: .NET Core 3.1.21 OS/Process: x64/x64 Runtime: system/System.Private.CoreLib.dll Processor count: 8 Data path: /config Application path: /system System.Exception: System.Exception: Error starting ffmpeg at Emby.Server.MediaEncoding.Api.BaseStreamingService.StartFfMpeg(StreamState state, String outputPath, CancellationToken cancellationToken, Boolean acquireResources) at Emby.Server.MediaEncoding.Api.Hls.BaseHlsService.ProcessRequest(StreamRequest request) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken) Source: Emby.Server.MediaEncoding TargetSite: Void MoveNext() There has to be something obvious I'm missing, something I did with my previous Linux Debian install, but since I do not have a backup I have no clue what it could be Maybe something with security settings for a user? That's totally differnet from the previous snippet. It's best to provide complete log files. thanks.
Depechie 9 Posted January 9, 2022 Author Posted January 9, 2022 Ok... thx for all the help and time!! But it was just stupid human error on my part. I'm sorry. So I did have a copy of my old emby config and the folders where pointing to /mnt/movies01 /mnt/movies02 etc... in the library manager of Emby. BUT I lost my docker compose and somehow I totally overlooked the fact I wrote /data/movies01 /data/movies02 etc... in the current docker. So of course Emby could not find the linux folders in it's container. Changing my docker compose fixed it all. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now