All Activity
- Past hour
-
Description: My Emby Server running on an Nvidia Shield (Android 11) is experiencing frequent and predictable crashes the past couple of monthes. The crashes happen in a tight loop and always seem to correlate with a client requesting a specific missing image asset. (Apple TV on remote location) After running the logs through an AI analyzer I followed its suggestions and de-installed and re-installed the client app on the Apple TV to exclude this first and in the hope the issue is now resolved. Maybe this is already a known issue, not sure, but I sure would appreciate any advice or further suggestions that could pinpoint the error may it still consist later on. I will be monitoring it further. Note on the attached logcat (crash_log.txt): The logcat contains continuous logging spanning multiple days. While the file starts with timestamps from June 2nd, the actual crashes being analyzed here occurred on June 4th and can be found towards the bottom of the log file. PS. I tried to look up item ID 132993 via the server's web interface and by querying the '/emby/Items?Ids=132993' API endpoint (with my admin API key), but it returns {"Items":[],"TotalRecordCount":0}. This indicates that the item does not exist in the database anymore. It appears to be a stale/ghost ID being requested by a client's cache. Conclusion: The server should gracefully handle a request for a non-existent asset by serving a 404 error back to the client, rather than letting the image-processing / fallback handler trigger a native runtime crash (SIGSEGV). kind regards, Ronald Vrijsen Emby Server Version: 4.10.0.13 (Android Arm64 / .NET 8.0.27) Hardware: Nvidia Shield TV (Darcy) Sequence of Events & Analysis: When monitoring the Emby server logs alongside the Android logcat (attached), a fatal pattern emerges down to the exact millisecond. A client (e.g., Apple TV) requests a Thumb image for a specific Item ID (in my logs, this is ID 132993). The Emby Server handles this and logs a ResourceNotFoundException. Exactly 4 to 25 milliseconds later, the server process terminates abruptly due to a Segmentation Fault (signal 11 (SIGSEGV)) handled by Android's runtime, forcing a Fatal signal 6 (SIGABRT) to kill the process. Querying the /emby/Items?Ids=132993 endpoint returns {"Items":[],"TotalRecordCount":0}, confirming that the requested ID no longer exists in the server's database (a ghost/stale ID cached on the client). Logcat Backtrace Snippetcrash_log.txt 06-04 19:11:46.987 3758 6237 F libc : exiting due to SIG_DFL handler for signal 11 06-04 19:11:46.987 3758 6237 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 6237 (.NET TP Worker), pid 3758 (emby.embyserver) ... 06-04 19:11:47.588 6940 6940 F DEBUG : backtrace: 06-04 19:11:47.588 6940 6940 F DEBUG : #00 pc 000000000004e2cc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) 06-04 19:11:47.588 6940 6940 F DEBUG : #01 pc 000000000000506c /system/bin/app_process64 (art::SignalChain::Handler(int, siginfo*, void*)+1112) 06-04 19:11:47.588 6940 6940 F DEBUG : #02 pc 0000000000000690 [vdso] (__kernel_rt_sigreturn) 06-04 19:11:47.588 6940 6940 F DEBUG : #03 pc 000000000002c334 <anonymous:2d89fb4000> 04-06_embyserver-63916197567.txt 04-06_embyserver-63916192833.txt 04-06_embyserver-63916193086.txt 04-06_embyserver-63916195806.txt 04-06_embyserver-63916197111.txt
-
Thanks @hatharryi dont see anything like that in the log. 2026-06-04 19:34:14.642 Info SessionManager: Creating new access token for user 1 username 2026-06-04 19:34:14.643 Debug Notifications: Sending notification to Activity Log Activity Log: username has Authenticated on X99 2026-06-04 19:34:14.643 Debug ConnectService-0HNM0S8DL8O6I:00000001: http/1.1 Response 200 to 3.90.164.233. Time: 2ms. GET https://xxx.xxx.xxx/emby/Connect/Exchange?api_key=3a948cdd9b974d448c4e043c51af6d72&ConnectUserId=165. 2026-06-04 19:34:14.736 Info SessionsService-0HNM0S8DL8O6I:00000002: http/1.1 POST https://xxx.xxx.xxx/emby/Sessions/Capabilities/Full?api_key=68f6efbc75c54761a1f1d60ae5edbbd8&Id=22f1fa656fbfeae53f386bd4cc34bf89. Source Ip: 3.90.164.233, UserAgent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch) 2026-06-04 19:34:14.737 Debug AuthenticationRepository: UpdateCapabilities id: 181 2026-06-04 19:34:14.737 Info SessionsService-0HNM0S8DL8O6I:00000002: http/1.1 Response 204 to 3.90.164.233. Time: 1ms. POST https://xxx.xxx.xxx/emby/Sessions/Capabilities/Full?api_key=68f6efbc75c54761a1f1d60ae5edbbd8&Id=22f1fa656fbfeae53f386bd4cc34bf89. 2026-06-04 19:34:18.629 Debug ActivityLogService-0HNM0S8DL8O6J:00000001: http/1.1 GET http://192.168.4.162:8096/emby/System/ActivityLog/Entries?StartIndex=0&Limit=10&MinDate=2026-05-28T18:34:18.625Z&hasUserId=true&EnableTotalRecordCount=false&X-Emby-Client=Emby Web&X-Emby-Device-Name=Chrome Windows&X-Emby-Device-Id=85c51e9e-c5ca-4e70-93ab-b84e0cfc0ae2&X-Emby-Client-Version=4.10.0.13&X-Emby-Token=08ee0c9906974dccaa8b70809aa33763&X-Emby-Language=en-gb. Source Ip: 192.168.4.162, UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 2026-06-04 19:34:18.629 Debug ActivityLogService-0HNM0S8DL8O6K:00000001: http/1.1 GET http://192.168.4.162:8096/emby/System/ActivityLog/Entries?StartIndex=0&Limit=4&MinDate=2026-05-28T18:34:18.626Z&hasUserId=false&EnableTotalRecordCount=false&X-Emby-Client=Emby Web&X-Emby-Device-Name=Chrome Windows&X-Emby-Device-Id=85c51e9e-c5ca-4e70-93ab-b84e0cfc0ae2&X-Emby-Client-Version=4.10.0.13&X-Emby-Token=08ee0c9906974dccaa8b70809aa33763&X-Emby-Language=en-gb. Source Ip: 192.168.4.162, UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 2026-06-04 19:34:18.641 Debug ActivityLogService-0HNM0S8DL8O6K:00000001: http/1.1 Response 200 to 192.168.4.162. Time: 11ms. GET http://192.168.4.162:8096/emby/System/ActivityLog/Entries?StartIndex=0&Limit=4&MinDate=2026-05-28T18:34:18.626Z&hasUserId=false&EnableTotalRecordCount=false&X-Emby-Client=Emby Web&X-Emby-Device-Name=Chrome Windows&X-Emby-Device-Id=85c51e9e-c5ca-4e70-93ab-b84e0cfc0ae2&X-Emby-Client-Version=4.10.0.13&X-Emby-Token=08ee0c9906974dccaa8b70809aa33763&X-Emby-Language=en-gb. 2026-06-04 19:34:18.657 Debug ActivityLogService-0HNM0S8DL8O6J:00000001: http/1.1 Response 200 to 192.168.4.162. Time: 29ms. GET http://192.168.4.162:8096/emby/System/ActivityLog/Entries?StartIndex=0&Limit=10&MinDate=2026-05-28T18:34:18.625Z&hasUserId=true&EnableTotalRecordCount=false&X-Emby-Client=Emby Web&X-Emby-Device-Name=Chrome Windows&X-Emby-Device-Id=85c51e9e-c5ca-4e70-93ab-b84e0cfc0ae2&X-Emby-Client-Version=4.10.0.13&X-Emby-Token=08ee0c9906974dccaa8b70809aa33763&X-Emby-Language=en-gb. 2026-06-04 19:34:26.486 Info SessionsService-0HNM0S8DL8O6L:00000001: http/1.1 POST https://xxx.xxx.xxx/emby/Sessions/Capabilities/Full?api_key=68f6efbc75c54761a1f1d60ae5edbbd8&Id=22f1fa656fbfeae53f386bd4cc34bf89. Source Ip: 3.90.164.233, UserAgent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch) 2026-06-04 19:34:26.487 Debug AuthenticationRepository: UpdateCapabilities id: 181 2026-06-04 19:34:26.487 Info SessionsService-0HNM0S8DL8O6L:00000001: http/1.1 Response 204 to 3.90.164.233. Time: 1ms. POST https://xxx.xxx.xxx/emby/Sessions/Capabilities/Full?api_key=68f6efbc75c54761a1f1d60ae5edbbd8&Id=22f1fa656fbfeae53f386bd4cc34bf89. 2026-06-04 19:34:26.574 Debug ItemsService-0HNM0S8DL8O6L:00000002: http/1.1 GET https://xxx.xxx.xxx/emby/Users/6cc6d0fa039849af8147592f5da46188/Items?api_key=68f6efbc75c54761a1f1d60ae5edbbd8&Fields=Id,Name,AlbumArtist,MediaType&SortBy=Random&IncludeItemTypes=Audio&Recursive=true&GenreIds=&ArtistIds=&ParentId=&Limit=400&EnableTotalRecordCount=false&EnableImages=false&EnableUserData=false. Source Ip: 3.90.164.233, UserAgent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch) 2026-06-04 19:34:27.003 Debug ItemsService-0HNM0S8DL8O6L:00000002: http/1.1 Response 200 to 3.90.164.233. Time: 428ms. GET https://xxx.xxx.xxx/emby/Users/6cc6d0fa039849af8147592f5da46188/Items?api_key=68f6efbc75c54761a1f1d60ae5edbbd8&Fields=Id,Name,AlbumArtist,MediaType&SortBy=Random&IncludeItemTypes=Audio&Recursive=true&GenreIds=&ArtistIds=&ParentId=&Limit=400&EnableTotalRecordCount=false&EnableImages=false&EnableUserData=false. Alexa on phone gives a bit more feedback. "media type audio is unsupported on amazon echo, please change to a supported device" If i dont see "Info UniversalAudioService" does that say the issue is with the server rather than how alexa is using the info..or does that bit of the log only show up once the client requests the URL it has been sent? So are some ddns not liked? i am using mywire.org from dynu systems. is there a known good ddns i should test?
-
Hi, did you try clicking the 3-dot button on the series screen?
-
Mohsinsd joined the community
-
Okay with "Date added" I get a recently added badge now, after applying the extra settings. But I dont have "Release Date" in my collection metadata editor to use your intended approach.
-
TanTan3 joined the community
-
RandalYT joined the community
-
Hi. The standard device limit is 30. Are you having a problem?
-
tvxtreme joined the community
-
josenightbreed started following Themes and Trailers python script
-
I want to share a script I made in python that creates theme videos and trailers from the existing movie library completely offline. Requirements ======================== ## Requirements ### Linux Install FFmpeg: ```bash sudo pacman -S ffmpeg '`` or use your distribution's package manager. ### Python Python 3.8+ recommended. Verify: ```bash python3 --version ``` ### Dependencies No external Python packages are required. The script only uses Python standard library modules and FFmpeg/FFprobe. ## Script was tested on 1,899 movies including: MP4 MKV HEVC/H.265 H.264 Multi-audio releases Anime releases with PGS subtitles NTFS media drives mounted under Linux in a intel n150 mini pc running linux mint. I use filebot for renaming and posters and stuff as it works great on movies, series and animes. The pc i run the script in is a AMD Ryzen™ 9 6900HX with Radeon™ Graphics × 16 Minis Forums mini pc and emby is running in a intel n150 mini pc running linux mint, drives i use for media on that server are all external usb formatted in ntfs and i mount all the media drives from the emby server via CIFS on my pc where i run the script in. As you can see i battle tested this lol I've only used it for movies, i have not tried it in series fearing that it will mess the library up. the output of the script is: Movies/ └── Ad Astra (2019) ├── Ad Astra (2019).mkv ├── Ad Astra (2019)-trailer.mp4 └── backdrops ├── theme.mp4 └── .processed I do the folder structure and renaming with filebot and the script generates the ├── Ad Astra (2019)-trailer.mp4 └── backdrops ├── theme.mp4 └── .processed The .processed file is to prevent duplication, and it tells the script to skip the movies already done. You can run it as many times as need it (I ran it multiple times after adding new additions to my library) It ran on 1880+ movies ≈10.5 hours runtime, and it did every single one them. If run locally on the server it should be faster. This is the script, I named mine backdrops.py, but you can name it what ever it makes sense to you: ********************************************************************************************************* #!/usr/bin/env python3 """ Emby Theme + Trailer Generator Creates: backdrops/theme.mp4 Movie Name-trailer.mp4 for every movie folder in a library. Features: - Multi-process - Resume support - MP4 / MKV support - Emby-compatible trailer naming - Offline operation - Handles anime and multi-audio releases Author: Jose Cortes License: MIT """ import os import subprocess from concurrent.futures import ProcessPoolExecutor # ===================================================== # CONFIG # ===================================================== VERSION = "1.0" MOVIE_ROOTS = [ "/mnt/media/NucBoxG9/disk1/Movies", "/mnt/media/NucBoxG9/disk2/Movies", ] WORKERS = 1 THEME_LENGTH = 12 TRAILER_CLIP_LENGTH = 15 TRAILER_POSITIONS = [ 0.10, 0.18, 0.26, 0.34, 0.42, 0.50, 0.58, 0.66, 0.74, ] # ===================================================== # UTILITIES # ===================================================== def get_duration(movie_path): output = subprocess.check_output([ "ffprobe", "-v", "error", "-show_entries", "format=duration", "-of", "default=noprint_wrappers=1:nokey=1", movie_path ]) return float(output.decode().strip()) # ===================================================== # THEME VIDEO # ===================================================== def create_theme(movie_path, output_path, duration): start = int(duration * 0.30) cmd = [ "ffmpeg", "-y", "-ss", str(start), "-i", movie_path, "-map", "0:v:0", "-map", "0:a:0?", "-t", str(THEME_LENGTH), "-c:v", "libx264", "-preset", "veryfast", "-crf", "23", "-c:a", "aac", "-ac", "2", output_path ] subprocess.run( cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True ) # ===================================================== # TRAILER GENERATION # ===================================================== def create_trailer(movie_path, trailer_path, duration): temp_files = [] for idx, pct in enumerate(TRAILER_POSITIONS): start = int(duration * pct) temp_clip = f"/tmp/trailer_clip_{os.getpid()}_{idx}.mp4" cmd = [ "ffmpeg", "-y", "-ss", str(start), "-i", movie_path, "-map", "0:v:0", "-map", "0:a:0?", "-t", str(TRAILER_CLIP_LENGTH), "-c:v", "libx264", "-preset", "veryfast", "-crf", "23", "-c:a", "aac", "-ac", "2", temp_clip ] subprocess.run( cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True ) temp_files.append(temp_clip) concat_file = f"/tmp/trailer_concat_{os.getpid()}.txt" with open(concat_file, "w") as f: for clip in temp_files: f.write(f"file '{clip}'\n") cmd = [ "ffmpeg", "-y", "-f", "concat", "-safe", "0", "-i", concat_file, "-c", "copy", trailer_path ] subprocess.run( cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True ) for clip in temp_files: try: os.remove(clip) except: pass try: os.remove(concat_file) except: pass # ===================================================== # FIND MOVIES # ===================================================== def find_movies(): movies = [] for root in MOVIE_ROOTS: if not os.path.exists(root): continue for folder in os.listdir(root): full = os.path.join(root, folder) if not os.path.isdir(full): continue candidates = [] for f in os.listdir(full): if f.lower().endswith(( ".mkv", ".mp4", ".avi", ".mov", ".m4v", ".webm" )): path = os.path.join(full, f) try: candidates.append( (os.path.getsize(path), path) ) except: pass if candidates: movies.append( (full, max(candidates)[1]) ) return movies # ===================================================== # PROCESS MOVIE # ===================================================== def process_movie(task): folder, movie_path = task backdrop_dir = os.path.join(folder, "backdrops") os.makedirs(backdrop_dir, exist_ok=True) processed_marker = os.path.join( backdrop_dir, ".processed" ) if os.path.exists(processed_marker): return movie_name = os.path.splitext( os.path.basename(movie_path) )[0] trailer_path = os.path.join( folder, f"{movie_name}-trailer.mp4" ) theme_path = os.path.join( backdrop_dir, "theme.mp4" ) try: print(f" Processing: {movie_name}") duration = get_duration(movie_path) create_theme( movie_path, theme_path, duration ) create_trailer( movie_path, trailer_path, duration ) if ( os.path.exists(theme_path) and os.path.exists(trailer_path) ): open(processed_marker, "w").close() print(f" Done: {movie_name}") else: print(f" Missing output: {movie_name}") except Exception as e: print( f" Failed: {movie_name} -> {e}" ) # ===================================================== # MAIN # ===================================================== if __name__ == "__main__": movies = find_movies() # TEST MODE # movies = movies[:20] print(f"\n Found {len(movies)} movies\n") with ProcessPoolExecutor( max_workers=WORKERS ) as executor: executor.map( process_movie, movies ) print("\n Library processing complete.\n") ************************************************************************************************************************ Change: MOVIE_ROOTS = [ "/mnt/media/NucBoxG9/disk1/Movies", "/mnt/media/NucBoxG9/disk2/Movies", ] To wherever you're disks are mounted. I would only modify: WORKERS = 1 to a higher value only if your pc can handle it. THEME_LENGTH = 12 TRAILER_CLIP_LENGTH = 15 Yields good file size results as is making the theme.mp4 around 12 secs and the *-trailer.mp4 around 2:15 minutes. They turned out to be pretty decent might I add specially compared to YouTube downloaded trailers that have branding and crappy resolution most of the time. I really hope it's useful for many of you, and please modify it as you see fit and share the results and mods so we can all benefit. I almost forgot, I'm not a programmer, I'm a retired pc tech and programming languages have always been my bane. This is the result of throwing ideas into ChatGPT and testing and troubleshooting the results. I finally found a way to use AI for something other than making cute cat girls. backdrops.py
-
hussain1405 joined the community
-
Jocrifer joined the community
-
MZoli87 joined the community
-
Eddiem54 joined the community
-
urr9939823 joined the community
-
nalofredggg joined the community
-
AlmostTonyStark started following Cloudflare + nginx + Emby (Windows)
-
Cloudflare + nginx + Emby (Windows)
AlmostTonyStark replied to JasonNalley's topic in General/Windows
How can we use CloudFlare http header authentication using an iOS app that connects to Emby? The native Emby iOS app doesn’t support this. -
Must admit i have purposely ignored doing anything to this plugin because i regret ever coming up with the idea for it. Almost every time i see it mentioned it's by people using it for their streaming shares (pirate Netflix servers) where they now (thanks to this plugin) now sell watching hours. I will look into this problem and after that i will delete everything to do with the plugin and hope the developers make something better and less beneficial for the pirates. This is nobody's fault other than those people using it for piracy!! Sorry you got to be the target of the rant, just had to get it off my chest.
-
vincen started following Problème chromecast/App
-
Salut, Tu as bien utilisé le bouton de Cast dans l'app Emby elle même ? pas celui d'Android ? Ton téléphone est connecté via l'url directe ? pas par emby connect ? Ton chromecast est sur le même réseau que ton téléphone et ton serveur emby bien sûr ?
-
NoMax started following Problème chromecast/App
-
Bonjour, j'ai Emby Server en local et je me suis link a emby connect. Mon serveur marche en localhost et en http://10.23.214.246:8096 Sur mon téléphone l'application reconnait mon serveur, donc j'essaye de cast depuis mon téléphone vers le chromecast et j'ai un "Ready to cast" avec un rond qui tourne indéfiniment lorsque je veux balancer une vidéo. J'ai installé Emby Android TV sur mon chromecast mais il ne trouve pas mon serveur en local host
-
TV episodes flagged as "watched" as soon as started.... no resume point if stopped early
OMGzilla replied to OMGzilla's topic in MacOS
Well that took me a hot minute to find, but that helped nudge me in the right direction. I had changed these some time back as part of my troubleshooting with no effect. Those are currently set to 5 / 99 / 30 -
Sorry, buddy. That doesn't work. Like the user above, I tried all that. Once they are gone, they never come back. Scan media and refresh metadata have no effect.
-
MaciekZd started following emby autoupdate on qnap
-
Hi everyone, Since Emby doesn't update automatically on QNAP and I like to keep everything up to date, I used some of my free time and spare tokens today to build a little app. It simplifies the update process or can even take it over completely (I know, I know – it's risky, reckless, etc., but that's what backups are for, right? :)). If anyone has similar needs, the project is hosted here It's definitely not a masterclass in coding, but it gets the job done Unfortunately, it requires Qbase24 and is only for x86_64 (compiled and tested on hs-453dx), but maybe someone will find it useful! Feel free to test it, use it, or dump it.
- Today
-
@johyphenelfirst post has the github link
-
LiveTV isn't working good on my TV but working good on my PC (Plugin)
XDavidT replied to XDavidT's topic in Android TV / Fire TV
@pünktchenAs you ask me embyserver.txt -
Neminem started following TV episodes flagged as "watched" as soon as started.... no resume point if stopped early
-
TV episodes flagged as "watched" as soon as started.... no resume point if stopped early
Neminem replied to OMGzilla's topic in MacOS
-
OMGzilla started following TV episodes flagged as "watched" as soon as started.... no resume point if stopped early
-
TV episodes flagged as "watched" as soon as started.... no resume point if stopped early
OMGzilla posted a topic in MacOS
Howdy all. I've been trying out Emby on and off for a couple years, and this is one problem that persists and has kept me from switching from Plex. For any given TV episode, the moment I start playback, it gets flagged as watched. So if I exit out partway through and return later, the subsequent episode is what's presented to me as next to watch. I've dug around on the forums and have seen references to a setting to set a "resume duration", but I cannot locate it anywhere. Any advice? I'm up-to-date with Emby Server, 4.9.5.0 on macOS 15.7.7 (Intel). -
Welcome/help/howto landing page (on another port)
dprovencher replied to dprovencher's topic in Feature Requests
Nice thanks, could be a workaround for now! -
NVidia Shield playback spinning/fails to start
warrencalvert replied to warrencalvert's topic in Android
Hi Luke Have you had a chance to look at this yet? Thanks, Warren. -
Welcome/help/howto landing page (on another port)
PuffyToesToo replied to dprovencher's topic in Feature Requests
Using text, arrows and circling things helps them a lot. -
Welcome/help/howto landing page (on another port)
PuffyToesToo replied to dprovencher's topic in Feature Requests
I used screenshots from a computer. I used Photos of the TV Screen, as well as videos. I also used editing software to add text or create text only instructions for them to accompany the image. Then I simply added them to a 'Mixed Content' library type. Each image/video was given a filename that tells my parents what it is. For example: 'How To Favourite Something", or "How to Add To Playlist". If it requires more than one step, I simply named it with 'Step 1', Step 2', etc. Hope that helps. -
Timeout still doesn't block watching on Emby web - 1.6.4.0 Is the code on github anywhere, happy to take a look to help track this down.
-
PapalPenguin started following chef
-
Please add the ability to disable the "On Now" row from the home page
plexrefugee99 replied to BillOatman's topic in Feature Requests
I too would really like to be able to disable the "On Now" section from the home screen. It seems like if I disable Live TV all the links to it go away (not sure why it's not on the sidebar as well under "my media" but it's not). We really do very little Live TV anymore, but need to be able to manage a couple of recordings. I hate having the home screen cluttered with random junk programs I don't watch. I love that Emby lets me have so much more control over the appearance of things than Plex did. This seems like a gap worth closing :)
