All Activity
- Past hour
-
nadia1234@gmail.com joined the community
-
4lexxx joined the community
-
Lidorarie joined the community
-
uusr7884819 joined the community
-
36369898 joined the community
-
Evergel joined the community
-
Tmjahall joined the community
-
Agvony67 joined the community
-
Re:Zzinan joined the community
-
Apparently my ports are closed. I don't know why that would be? The rules still appear in my router's settings, and I've touched nothing...
-
-
TV Show episodes on old Samsung TV aren't visible
olgerd replied to olgerd's topic in Samsung Smart TV
Hello again! Any ways to fix this? Everything was working fine until the end of 2025, and then something broke -
Minimalist Colorful Library and Genre Icons
howllor replied to MickeyMori's topic in Fan Art & Videos
I saw in another thread that someone had made a library that's a help section for their users, with instructions on how to do different things in Emby. I thought that was a good idea so here is a home screen graphic for that type of library The icon is from https://www.flaticon.com/free-icon/help_1660114?term=help&page=1&position=6&origin=search&related_id=1660114 -
K1ng_Lear started following 2 verschieden Bibliotheken mit gleichen Filmen - in Sammlung alles doppelt?
-
2 verschieden Bibliotheken mit gleichen Filmen - in Sammlung alles doppelt?
K1ng_Lear replied to sylvio2000's topic in German
Wie Luke schon gesagt hat, Du musst die Versionen in ein Verzeichnis packen. Dann kannst du vor dem Start die Version die Du abspielen willst auswählen. https://emby.media/support/articles/Movie-Naming.html#multi-version-movies Die Auswahl sieht dann in der Web Ansicht so aus. -
It's sad when people take what should be a good thing and abuse it. I loved the notifications for direct play vs. transcoding, because it helped me to know when I need to adjust something, or why I may be having an issue. Maybe the emby devs can roll that into the core server.
- Today
-
But is is just as likely to make the experience much worse when a bunch of new shows come in and then all the stuff you are actually watching is buried. There are discussions about this in a couple places out here. Personally, I think new season Premieres should be called out in a separate line.
-
@soderlundI've added some of the features you requested in the latest update! Pre-filter submissions before media segment scan Add per file/folder selection for scan Add API key test https://github.com/TheIntroDB/emby-plugin/releases/tag/v1.0.3.0
-
Oui c'est bien le bouton cast de Emby et oui tout est sur mon réseau Wifi. J'ai ouvert les ports dans mon pare feu et la box
-
XtreamDownloader - VOD file & VOD STRM export from Live TV provider
sftech13 replied to Senna's topic in Tools and Utilities
There are other tools/plugin out there that do the same thing., Just need to look for them. -
There are similar solutions out there just need to look.
-
3-4 hours is way to long for a refresh. Have you check your connections speed if using external links.
-
Emby Remote Connections on CGNAT Internet Service
ginjaninja replied to ginjaninja's topic in General/Windows
Google says cgnat has a specific ip range and that my wan ip is not part of cgnat...so i may have been given a bum steer by my isp. I have opened a ticket on the alexa forum to discuss the alexa issue specifically. -
Segment Reporting - Dashboard, bulk editing, and custom queries for your intro/credits markers
sydlexius replied to sydlexius's topic in Plugins
Segment Reporting 1.5 is out, adding full screen-reader and keyboard accessibility (WCAG 2.1 AA) across every page and chart. As with 1.4.0.1, grab the download that matches your server: segment_reporting_emby_4.9x.zip for Emby 4.9.x or segment_reporting_emby_4.10x.zip for 4.10.x. https://github.com/sydlexius/Segment_Reporting/releases/tag/v1.5.0.0- 14 replies
-
2 verschieden Bibliotheken mit gleichen Filmen - in Sammlung alles doppelt?
Luke replied to sylvio2000's topic in German
HI, if you're willing to put them in the same library, then the server has features to merge them together. -
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? Edit: I dont think its related but the other change i made a few months ago was to change the Emby username of my main emby account. But i have since disabled and relinked the skill using my email address and password.
-
Hi, did you try clicking the 3-dot button on the series screen?
-
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.
-
Hi. The standard device limit is 30. Are you having a problem?
-
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
-
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.
