Remuxing or direct play buffers entire movie into RAM ? - Printable Version +- Jellyfin Forum (https://forum.jellyfin.org) +-- Forum: Support (https://forum.jellyfin.org/f-support) +--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting) +--- Thread: Remuxing or direct play buffers entire movie into RAM ? (/t-remuxing-or-direct-play-buffers-entire-movie-into-ram) Pages:
1
2
|
Remuxing or direct play buffers entire movie into RAM ? - wyvernshill - 2024-08-17 Latest windows portable install : 10.9.9 64 bit. Pointed the install directory and data to a separate SSD away from my operating system's disk and away from my hard drive that contains the media. Using the ios store latest version of swiftfin on appletv 4K. My "server" : Ryzen 3900X 2080 Super 32 GB ram 16 TB Hard drive (media) 1 TB NVME for Windows 11 pro 2 TB NVME for games. Description : So i tried Jellyfin on my pc and use the swiftfin player on appletv to connect to it. It all works fine except whenever a movie is started on the appletv and it starts without any transcoding (according to the dashboard on the pc) i see the entire movie being uploaded into RAM and even beyond. My computer has 32 GB of ram and if i start a 30 GB movie it'll ramp up the usage to about 36 GB which means it used 30 GB of RAM + the memory already in use for the operating system. At that point it starts swapping on the operating system's drive and the pc becomes unresponsive. Stopping the movie on the appletv (swiftfin) sees that the memory use is released. Starting a 6 GB movie that remuxes or direct plays and it uses about 12 GB of memory, it's each time exactly the size of the original file. If however i launch the same movie on that pc/server via the webinterface it tells me it's transcoding and suddenly there is no issue and memory use only goes up a few gigabytes but no more. Is there an issue with direct play or is this a swiftfin issue ? (I can't test on anything else but ios here, i have no other windows devices except the jellyfin server itself) Unfortunately there seems to be no way to force swiftfin to transcode. It seems weird that it tries to only remux in memory and not write it somewhere locally ? I do not see a log being generated either ? Thanks. RE: Remuxing or direct play buffers entire movie into RAM ? - TheDreadPirate - 2024-08-17 Where are you looking for the log? You can look in the Jellyfin Dashboard. In the left frame close to the bottom. Or in C:\ProgramData\Jellyfin\Server. RE: Remuxing or direct play buffers entire movie into RAM ? - wyvernshill - 2024-08-17 Well i wiped the log files and restarted and now i got this. Just like before i started the movie twice and each time after a few minutes it gobbles up all the RAM memory until it starts swapping. Note i removed the personal and internal ip addresses from the log [2024-08-17 22:27:18.655 +02:00] [INF] [1] Main: Jellyfin version: "10.9.9" [2024-08-17 22:27:18.669 +02:00] [INF] [1] Main: Environment Variables: ["[JELLYFIN_LOG_DIR, G:\Progs\jellyfin\data\log]"] [2024-08-17 22:27:18.672 +02:00] [INF] [1] Main: Arguments: ["G:\Progs\jellyfin\system\jellyfin.dll", "-d", "G:\Progs\jellyfin\data"] [2024-08-17 22:27:18.674 +02:00] [INF] [1] Main: Operating system: "Microsoft Windows 10.0.22631" [2024-08-17 22:27:18.674 +02:00] [INF] [1] Main: Architecture: X64 [2024-08-17 22:27:18.675 +02:00] [INF] [1] Main: 64-Bit Process: True [2024-08-17 22:27:18.676 +02:00] [INF] [1] Main: User Interactive: True [2024-08-17 22:27:18.677 +02:00] [INF] [1] Main: Processor count: 24 [2024-08-17 22:27:18.677 +02:00] [INF] [1] Main: Program data path: "G:\Progs\jellyfin\data" [2024-08-17 22:27:18.678 +02:00] [INF] [1] Main: Log directory path: "G:\Progs\jellyfin\data\log" [2024-08-17 22:27:18.679 +02:00] [INF] [1] Main: Config directory path: "G:\Progs\jellyfin\data\config" [2024-08-17 22:27:18.679 +02:00] [INF] [1] Main: Cache path: "G:\Progs\jellyfin\data\cache" [2024-08-17 22:27:18.680 +02:00] [INF] [1] Main: Web resources path: "G:\Progs\jellyfin\system\jellyfin-web" [2024-08-17 22:27:18.681 +02:00] [INF] [1] Main: Application directory: "G:\Progs\jellyfin\system\" [2024-08-17 22:27:18.783 +02:00] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: "G:\Progs\jellyfin\data\cache" [2024-08-17 22:27:18.852 +02:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies [2024-08-17 22:27:18.949 +02:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "REDACTED/12", "REDACTED/16"] [2024-08-17 22:27:18.950 +02:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions: [] [2024-08-17 22:27:18.951 +02:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Used LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "REDACTED/12", "REDACTED/16"] [2024-08-17 22:27:18.953 +02:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Filtered interface addresses: ["REDACTED", "REDACTED", "REDACTED", "127.0.0.1"] [2024-08-17 22:27:18.954 +02:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Bind Addresses ["0.0.0.0"] [2024-08-17 22:27:18.955 +02:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Remote IP filter is "Allowlist" [2024-08-17 22:27:18.955 +02:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Filtered subnets: [] [2024-08-17 22:27:24.060 +02:00] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: "TMDb" "10.9.9.0" [2024-08-17 22:27:24.061 +02:00] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: "Studio Images" "10.9.9.0" [2024-08-17 22:27:24.062 +02:00] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: "OMDb" "10.9.9.0" [2024-08-17 22:27:24.079 +02:00] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: "MusicBrainz" "10.9.9.0" [2024-08-17 22:27:24.080 +02:00] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: "AudioDB" "10.9.9.0" [2024-08-17 22:27:24.167 +02:00] [INF] [1] Main: Kestrel is listening on "0.0.0.0" [2024-08-17 22:27:24.688 +02:00] [WRN] [1] Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware: The WebRootPath was not found: "G:\Progs\jellyfin\wwwroot". Static files may be unavailable. [2024-08-17 22:27:24.725 +02:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Running startup tasks [2024-08-17 22:27:24.725 +02:00] [INF] [13] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory "F:\Media\Movies\Animatie" [2024-08-17 22:27:24.725 +02:00] [INF] [9] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory "F:\Media\Series\Animatie" [2024-08-17 22:27:24.725 +02:00] [INF] [7] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory "F:\Media\Series\Normaal" [2024-08-17 22:27:24.725 +02:00] [INF] [10] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory "F:\Media\Movies\Normaal" [2024-08-17 22:27:24.735 +02:00] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for "Generate Trickplay Images" set to fire at 2024-08-18 03:00:00.000 +02:00, which is 04:32:35.2647621 from now. [2024-08-17 22:27:24.745 +02:00] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for "Extract Chapter Images" set to fire at 2024-08-18 02:00:00.000 +02:00, which is 03:32:35.2549993 from now. [2024-08-17 22:27:25.005 +02:00] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version "6.0.1" [2024-08-17 22:27:25.165 +02:00] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available "decoders": ["libdav1d", "av1", "av1_cuvid", "av1_qsv", "h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8", "libvpx", "vp8_cuvid", "vp8_qsv", "vp9", "libvpx-vp9", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "dca", "flac", "mp3", "truehd"] [2024-08-17 22:27:25.328 +02:00] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available "encoders": ["libsvtav1", "av1_nvenc", "av1_qsv", "av1_amf", "libx264", "h264_amf", "h264_nvenc", "h264_qsv", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "mjpeg_qsv", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "alac", "dca", "flac", "libmp3lame", "libopus", "truehd", "libvorbis", "srt"] [2024-08-17 22:27:25.470 +02:00] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available filters: ["deinterlace_qsv", "hwupload_cuda", "overlay_opencl", "overlay_qsv", "overlay_cuda", "scale_cuda", "scale_opencl", "scale_qsv", "tonemap_cuda", "tonemap_opencl", "vpp_qsv", "yadif_cuda", "zscale", "alphasrc"] [2024-08-17 22:27:26.101 +02:00] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: "overlay_vaapi" with option "Action to take when encountering EOF from secondary input" is not available [2024-08-17 22:27:26.221 +02:00] [WRN] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: "overlay_vulkan" with option "Action to take when encountering EOF from secondary input" is not available [2024-08-17 22:27:26.355 +02:00] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["cuda", "dxva2", "qsv", "d3d11va", "opencl"] [2024-08-17 22:27:26.894 +02:00] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: "ffmpeg" [2024-08-17 22:27:26.895 +02:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: ServerId: "9c3190198dbb49ebbdcc3afd91761cf0" [2024-08-17 22:27:26.896 +02:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Core startup complete [2024-08-17 22:27:26.897 +02:00] [INF] [1] Main: Startup complete 0:00:08.3652624 [2024-08-17 22:27:27.762 +02:00] [INF] [9] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Clean up collections and playlists" Completed after 0 minute(s) and 0 seconds [2024-08-17 22:27:28.523 +02:00] [INF] [13] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Update Plugins" Completed after 0 minute(s) and 0 seconds [2024-08-17 22:28:26.619 +02:00] [INF] [20] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Test". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-17 22:28:26.619 +02:00] [INF] [24] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Test". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-17 22:29:05.675 +02:00] [INF] [13] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin tvOS" "1.0.1" playing "Avatar: The Way of Water". Stopped at "636000" ms [2024-08-17 22:29:05.718 +02:00] [INF] [27] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Test". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-17 22:30:59.536 +02:00] [INF] [10] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin tvOS" "1.0.1" playing "Avatar: The Way of Water". Stopped at "746000" ms [2024-08-17 22:30:59.569 +02:00] [INF] [27] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Test". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2024-08-17 22:31:18.043 +02:00] [INF] [30] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "REDACTED" request RE: Remuxing or direct play buffers entire movie into RAM ? - TheDreadPirate - 2024-08-17 Hmmm. Neither my main Linux Jellyfin server and my test Windows Jellyfin server showed any appreciable change in memory usage when direct playing. Tried both 1080P and 4K HDR content. The memory usage in Windows is from running Destiny, btw. Not Jellyfin server. RE: Remuxing or direct play buffers entire movie into RAM ? - wyvernshill - 2024-08-17 Well for me as you can see it keeps reading the file from disk F at about 140 MB/s and keeps storing it in RAM until i go over 32 GB of ram in use, at that point you can see my drive C/D (Windows) starting to swap. When i stop the playback it releases the file in memory but it keeps doing that with ALL files i try to direct play which is most of them. In this case the file is more than 30 GB but i have a few of my blurays which are even bigger so i can't even watch them because of this issue. https://imgur.com/NWleA8H P.S. thanks already for your responses. RE: Remuxing or direct play buffers entire movie into RAM ? - TheDreadPirate - 2024-08-17 Are you using an app to create a ram disk? RE: Remuxing or direct play buffers entire movie into RAM ? - TheDreadPirate - 2024-08-18 I was made aware of a dotnet bug being the culprit. Attempting to replicate with a particular set of conditions. RE: Remuxing or direct play buffers entire movie into RAM ? - TheDreadPirate - 2024-08-18 Hmmmm. No memory usage. Can you share the media info for the files in question? RE: Remuxing or direct play buffers entire movie into RAM ? - wyvernshill - 2024-08-18 Sure, a few examples : Avatar the Way of Water (2022) Container: mkv Path: F:\Media\Movies\Normaal\Avatar the Way of Water (2022).mkv Size: 29008 MB Subtitle Title: Latin America (Forced) - Spanish - SUBRIP Language: spa Codec: SUBRIP AVC: No Default: No Forced: Yes External: No Video Title: 4K HEVC SDR Codec: HEVC AVC: No Profile: Main 10 Level: 150 Resolution: 3840x2072 Aspect ratio: 1.85:1 Anamorphic: No Interlaced: No Framerate: 23.976025 Bitrate: 21024 kbps Bit depth: 10 bit Video range: SDR Video range type: SDR Color space: bt709 Color transfer: bt709 Color primaries: bt709 Pixel format: yuv420p10le Ref frames: 1 Audio Title: English - Dolby Digital+ - 5.1 - Default Language: eng Codec: EAC3 AVC: No Profile: Dolby Digital Plus + Dolby Atmos Layout: 5.1 Channels: 6 ch Bitrate: 768 kbps Sample rate: 48000 Hz Default: Yes Forced: No External: No Subtitle Title: English - SUBRIP Language: eng Codec: SUBRIP AVC: No Default: No Forced: No External: No Subtitle Title: Latin America - Spanish - SUBRIP Language: spa Codec: SUBRIP AVC: No Default: No Forced: No External: No This one is also direct playing and is a 10 GB file, it fills my ram to 16.5 GB trying to play it (10 GB movie + 6GB Windows use) Captain Harlock Arcadia Of My Youth Container: mkv Path: F:\Media\Movies\Animatie\Captain Harlock Arcadia Of My Youth.mkv Size: 10023 MB Video Title: U2 Encode (2-Pass x264 @ 9000 kbps) - 1080p - H264 - SDR Codec: H264 AVC: Yes Profile: High Level: 41 Resolution: 1920x1080 Aspect ratio: 16:9 Anamorphic: No Interlaced: No Framerate: 23.976025 Bitrate: 10778 kbps Bit depth: 8 bit Video range: SDR Video range type: SDR Pixel format: yuv420p Ref frames: 1 NAL: 4 Audio Title: 5.1 FLAC (2013 Blu-ray Mix) - Japanese - Default Language: jpn Codec: FLAC AVC: No Layout: 5.1 Channels: 6 ch Bitrate: 2880 kbps Sample rate: 48000 Hz Bit depth: 16 bit Default: Yes Forced: No External: No Subtitle Title: Styled DVD Translation - English - Default - ASS Language: eng Codec: ASS AVC: No Default: Yes Forced: No External: No Audio Title: 2.0 FLAC (Original Theatrical Mix) - Japanese - Stereo Language: jpn Codec: FLAC AVC: No Layout: stereo Channels: 2 ch Bitrate: 960 kbps Sample rate: 48000 Hz Bit depth: 16 bit Default: No Forced: No External: No RE: Remuxing or direct play buffers entire movie into RAM ? - TheDreadPirate - 2024-08-18 Which track and subtitles are you using when this happens? I'm going to try making a Franken-file to as closely match your case. Also, can you go to the control panel and list out what versions of .Net you have installed? |