casskaydee 3 Posted June 17, 2024 Posted June 17, 2024 Server info: Version 4.8.8.0 Running via Docker on Raspberry Pi 5 (Linux raspberrypi 6.6.28+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux) contents of docker-compose: version: "2.3" services: emby: image: emby/embyserver_arm64v8 container_name: embyserver 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=1000 # A comma-separated list of additional GIDs to run emby as (default: 2) volumes: - /home/cass/.config/embyserver:/config - /mnt/nas/Video:/mnt/Video ports: - 8096:8096 # HTTP port - 8920:8920 # HTTPS port devices: - /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes restart: on-failure I have a 3-minute MKV (480i MPEG2 / AC3 Stereo) video file ripped from a DVD I own located at '/mnt/Video/Test/Test Movie.mkv' and another copy of the exact same file located at '/mnt/Video/Test/Extras/Test Extra.mkv' Emby has detected and added these to my movie library as a title called "Test" (which it apparently identified as a 2013 movie starring Scott Marlowe) I'm attaching a log from where I restarted the server and then did the following: Attempted to watch the Title version via Web (Chrome/Windows). Worked fine. Timestamp: 2024-06-16 23:43:17 Attempted to watch the Extras version via Web (Chrome/Windows). Error: "Playback Error No compatible streams are currently available. Please try again later or contact your system administrator for details" Timestamp: 2024-06-16 23:43:45 Attempted to watch the Title version via Android App. Worked fine. Timestamp: 2024-06-16 23:44:47 Attempted to watch the Extras version via Android App. Error: "Playback Error No compatible streams are currently available. Please try again later or contact your system administrator for details" Timestamp: 2024-06-16 23:45:08 embylog.txt
casskaydee 3 Posted June 17, 2024 Author Posted June 17, 2024 This was just a test I set up to make sure it wasn't a problem with the video files themselves. This is happening consistently with the Extras of every single movie title that has them. At one point in time I was able to get one to play on Android, but then a few minutes later (and since then) none of them will on either Web or Android. I haven't tested any other clients; I don't use any other clients.
Luke 42077 Posted June 17, 2024 Posted June 17, 2024 Hi, looks like the file isn't available? 2024-06-16 23:43:45.427 Error Server: Error processing request *** Error Report *** Version: 4.8.8.0 Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 Operating system: Linux version 6.6.28+rpt-rpi-2712 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PR Framework: .NET 6.0.25 OS/Process: arm64/arm64 Runtime: system/System.Private.CoreLib.dll Processor count: 4 Data path: /config Application path: /system System.IO.FileNotFoundException: System.IO.FileNotFoundException: smb://192.168.86.214/share/Video/_MOVIES/Test/Extras/Test Extra.mkv at Emby.Server.MediaEncoding.Api.Progressive.VideoService.Get(GetFile request) In any case, you might have better luck by mounting these smb shares to a local path in the docker container, and then using that local path in Emby Server.
casskaydee 3 Posted June 17, 2024 Author Posted June 17, 2024 The file is definitely available. I can play it just fine on VLC either on Windows or Android. And this is true for every single file that's under an "Extras" subfolder underneath a movie folder. If it's really that the file isn't available, why would it only be these files inside of "Extras" folders, and only Emby that can't read them? I can try the mount option I suppose. As you can see from the docker compose file I tried mapping the mounted folder in the host to '/mnt/Video' inside the container but then selecting that mounted path for the library did not seem to work. I haven't tried creating another image that actually mounts the nas inside the container itself. If I do that, is there a way to update my existing library to point at that instead without losing all of the metadata/images/etc I've tweaked for them thus far? 1
Happy2Play 9780 Posted June 17, 2024 Posted June 17, 2024 It chokes here also 2024-06-16 23:43:45.950 Error ProviderManager: Error in metadata saver *** Error Report *** Version: 4.8.8.0 Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 Operating system: Linux version 6.6.28+rpt-rpi-2712 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PR Framework: .NET 6.0.25 OS/Process: arm64/arm64 Runtime: system/System.Private.CoreLib.dll Processor count: 4 Data path: /config Application path: /system System.IO.IOException: System.IO.IOException: Create Handle Failed: Video\_MOVIES\Test\Extras. NTStatus: FILE_DOES_NOT_EXIST at EzSmb.Transports.Shares.Handlers.Bases.HandlerBase..ctor(SmbType smbType, ISMBFileStore store, String path, HandleType handleType, NodeType nodeType, HandleArgs args) at EzSmb.Transports.Shares.Handlers.Smb2Handler..ctor(ISMBFileStore store, String path, HandleType handleType, NodeType nodeType, HandleArgs args) at EzSmb.Transports.Shares.Smb2Share.GetHandler(String path, HandleType handleType, NodeType nodeType, HandleArgs args) at EzSmb.Transports.Shares.Bases.ShareBase.GetHandler(String path, HandleType handleType, NodeType nodeType) at EzSmb.Transports.Shares.Bases.ShareBase.CreateFolder(Node node, String folderName) at EzSmb.Node.CreateFolder(String folderName, String relatedPath) at Emby.Server.Implementations.IO.SmbFileSystem.CreateDirectory(String path) at Emby.Server.Implementations.IO.ManagedFileSystem.CreateDirectory(String path) at NfoMetadata.Savers.BaseNfoSaver.SaveToFile(Stream stream, String path, LibraryOptions libraryOptions, CancellationToken cancellationToken) at NfoMetadata.Savers.BaseNfoSaver.Save(BaseItem item, LibraryOptions libraryOptions, CancellationToken cancellationToken) at Emby.Providers.Manager.ProviderManager.SaveMetadata(BaseItem item, LibraryOptions libraryOptions, ItemUpdateType updateType, IMetadataSaver[] savers, CancellationToken cancellationToken) Source: Emby.Server.Implementations TargetSite: Void .ctor(EzSmb.Params.Enums.SmbType, SMBLibrary.Client.ISMBFileStore, System.String, EzSmb.Transports.Shares.Handlers.Enums.HandleType, EzSmb.NodeType, EzSmb.Transports.Shares.Handlers.HandleArgs) And can not probe the media 2024-06-16 23:43:46.044 Error App: Error in ffprobe *** Error Report *** Version: 4.8.8.0 Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 Operating system: Linux version 6.6.28+rpt-rpi-2712 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PR Framework: .NET 6.0.25 OS/Process: arm64/arm64 Runtime: system/System.Private.CoreLib.dll Processor count: 4 Data path: /config Application path: /system Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: ffprobe failed - streams and format are both null: -i "http://127.0.0.1:8096/Items/File?Id=smb%3A%2F%2F192.168.86.214%2Fshare%2FVideo%2F_MOVIES%2FTest%2FExtras%2FTest+Extra.mkv" -threads 0 -v info -print_format json -show_streams -show_chapters -show_format -show_data ffprobe version 5.1-emby_2023_06_25 Copyright (c) 2007-2022 the FFmpeg developers and softworkz for Emby LLC built with gcc 10.3.0 (crosstool-NG 1.25.0) [http @ 0x43d4e00] HTTP error 404 Not Found http://127.0.0.1:8096/Items/File?Id=smb%3A%2F%2F192.168.86.214%2Fshare%2FVideo%2F_MOVIES%2FTest%2FExtras%2FTest+Extra.mkv: Server returned 404 Not Found { } at Emby.Server.MediaEncoding.Probing.MediaProbeManager.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, String userAgent, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Boolean hasMixedProtocols, CancellationToken cancellationToken) at Emby.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](MetadataResult`1 metadataResult, MetadataRefreshOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken) at Emby.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, MetadataResult`1 itemResult, String logName, MetadataRefreshOptions options, LibraryOptions libraryOptions, RefreshResult refreshResult, CancellationToken cancellationToken) Source: Emby.Server.MediaEncoding TargetSite: Void MoveNext() But as mentioned all related to the smb share.
Solution casskaydee 3 Posted June 19, 2024 Author Solution Posted June 19, 2024 (edited) OK I did get this to work. I still can't figure out why it had no problems serving any movies or TV shows straight from the network path without mounting and only ever choked on Extras, or why my original attempt to simply map the host-mounted path and use that for my Library paths failed, but in any case, it does seem to be working now. Just in case anyone else has this issue and is running the Docker Raspberry Pi image like I am, here is what I had to do to fix it: In my `docker-compose.yml`, replace: image: emby/embyserver_arm64v8 with: build: . and add: cap_add: - SYS_ADMIN (I also removed my "/mnt/nas/Video:/mnt/Video" volume mapping since I never got that working in the first place) In the same directory, add a `Dockerfile`: FROM emby/embyserver_arm64v8 USER root RUN mkdir -pv /mnt/nas RUN mkdir -pv /usr/local/bin COPY mount-nas.sh /usr/local/bin/mount-nas.sh RUN chmod -v +x /usr/local/bin/mount-nas.sh ENTRYPOINT ["/bin/sh", "/usr/local/bin/mount-nas.sh"] In the same directory, add a file called `mount-nas.sh`: #!/bin/sh # Bail if the mount fails set -e # Check if the current user is root if [ "$(id -u)" -ne 0 ]; then echo "USER $(id -u)" >&2 echo "This script must be run as root" >&2 exit 1 fi # Mount the share mount -t cifs //192.168.86.214/share /mnt/nas -o user,rw,vers=3.0,user=root,pass=root,nofail # (Optional) Display success message cat /mnt/nas/path/to/mount-success.txt # Execute the original Emby entrypoint exec /init Then I followed the steps from this thread (minus the TypeBasedItems part since that table is only in previous Emby versions apparently). Started back up the server and my library is all there, unchanged, but now Extras will play. Thanks for the advice; I would have never guessed this to be the issue. Edited June 19, 2024 by casskaydee added note about removing volume mapping 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