Jump to content

Strm files are returning 'No such file or directory' error


dberg
Go to solution Solved by roaku,

Recommended Posts

I'm running Emby 4.7.9.0 under docker and I'm trying to use .strm files to link films from my movie library to my holiday library with little to no success. 

I keep my holiday movies in their own Emby library that I enable during Christmas time and disable after the holiday season.  There are a handful of movies in the main movie library that I would also like to appear in the holiday library (Die Hard, Edward Scissorhands, Trading Places), but I don't want to keep duplicate copies of each video, so I was hoping to find a way to link between libraries.  It appears Emby doesn't support symlinks, but it does support strm files which I need some assistance to get working correctly.


My video libraries are mounted to the /media folder in the docker container and added to Emby as /media/movies, /media/holiday, /media/tvshows, etc.  Based on the Emby strm file documentation, I created a new folder under the holiday library Edward Scissorhands (1990) and in that folder a file labeled Edward Scissorhands.strm with the path to the video within the movie library:

/media/movies/'Edward Scissorhands (1990)'/'Edward Scissorhands.mkv'

I can verify this path is accurate by executing the ls command below in the Emby docker container which returns the path of the movie

docker exec emby ls /media/movies/'Edward Scissorhands (1990)'/'Edward Scissorhands.mkv'


Emby recognizes the .strm file and I see Edward Scissorhands appear in the holiday library, but when I attempt to play the video from Emby I'm getting errors indicating there are missing parameters from the stream file with "streams and format are both null", or Emby can't find the path to the video in the movie library with "No such file or directory", even though I can confirm the path in the .strm file is accurrate

2022-11-23 13:27:05.420 Info Server: http/1.1 POST http://host1/emby/Items/1467758/PlaybackInfo?UserId=7bb0d7c9ddef488db62fa2027535b8dc&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MediaSourceId=5fc97dc1faf049fb4b91f0433638a696&MaxStreamingBitrate=140000000&X-Emby-Client=Emby Web&X-Emby-Device-Name=Microsoft Edge Windows&X-Emby-Device-Id=4983c8d7-3ee9-4179-8dd8-5606bba583dd&X-Emby-Client-Version=4.7.9.0&reqformat=json. UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.56
2022-11-23 13:27:05.428 Info MediaProbeManager: ProcessRun 'ffprobe' Execute: /app/emby/ffprobe -i file:"/media/movies/'Edward Scissorhands (1990)'/'Edward Scissorhands.mkv'" -threads 0 -v info -print_format json -show_streams -show_chapters -show_format -show_data
2022-11-23 13:27:05.439 Info MediaProbeManager: ProcessRun 'ffprobe' Process exited with code 1 - Failed
2022-11-23 13:27:05.440 Error App: Error in ffprobe
	*** Error Report ***
	Version: 4.7.9.0
	Command line: /app/emby/EmbyServer.dll -programdata /config -ffdetect /app/emby/ffdetect -ffmpeg /app/emby/ffmpeg -ffprobe /app/emby/ffprobe -restartexitcode 3
	Operating system: Linux version 5.10.142+truenas (root@tnsbuilds01.tn.ixsystems.net) (gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1
	Framework: .NET 6.0.8
	OS/Process: x64/x64
	Runtime: app/emby/System.Private.CoreLib.dll
	Processor count: 8
	Data path: /config
	Application path: /app/emby
	System.Exception: System.Exception: ffprobe failed for file:"/media/movies/'Edward Scissorhands (1990)'/'Edward Scissorhands.mkv'" - streams and format are both null: 
	{
	
	}
	
	
	ffprobe version 5.0.0-emby_2022_05_27-u1 Copyright (c) 2007-2022 the FFmpeg developers and softworkz for Emby LLC
	  built with gcc 8.3.0 (crosstool-NG 1.24.0)
	file:/media/movies/'Edward Scissorhands (1990)'/'Edward Scissorhands.mkv': No such file or directory
	
	
	   at Emby.Server.MediaEncoding.Probing.MediaProbeManager.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, String userAgent, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Boolean forceEnableLogging, 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()
	
2022-11-23 13:27:05.511 Info App: User policy for Chris. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
2022-11-23 13:27:05.511 Info Server: http/1.1 Response 200 to host2. Time: 91ms. http://host1/emby/Items/1467758/PlaybackInfo?UserId=7bb0d7c9ddef488db62fa2027535b8dc&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MediaSourceId=5fc97dc1faf049fb4b91f0433638a696&MaxStreamingBitrate=140000000&X-Emby-Client=Emby Web&X-Emby-Device-Name=Microsoft Edge Windows&X-Emby-Device-Id=4983c8d7-3ee9-4179-8dd8-5606bba583dd&X-Emby-Client-Version=4.7.9.0&reqformat=json


Will Emby strm files work for my use case of linking videos between libraries?  If so, what corrections do I need to make to get this working correctly?

Link to comment
Share on other sites

  • Solution

I use Emby this way without issue.

My first guess is that it's the single quotes in the path. Needed for Linux, but not in the context of Emby.

My second guess is that there's a permission issue somewhere along the line.

  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...