From dcb5c0e92cc7b5525eed102fb016fe808c665c8a Mon Sep 17 00:00:00 2001 From: bridgem Date: Sat, 31 May 2025 14:44:29 +0100 Subject: [PATCH 01/10] Fix seek failing due to config variable not being set (moved db read of config to beginning of execute_action in webapp.py --- CHANGELOG.md | 6 ++++++ modules/webapp.py | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f85654d..66002c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +## 2025-05-31 + +### Fixed + +- Seek fails due to config variable not being set (moved db read of config to beginning of execute_action in webapp.py + ## 2025-05-28 ### Fixed diff --git a/modules/webapp.py b/modules/webapp.py index 2f34aa8..b772486 100644 --- a/modules/webapp.py +++ b/modules/webapp.py @@ -74,6 +74,7 @@ def save_configuration(): @app.route('/api/control/', methods=['POST']) def execute_action(action): result = {'success': True, 'message': '', 'action': action} + config = utils.get_configuration(db) # get the action if(action in ['pause', 'resume']): @@ -81,7 +82,6 @@ def execute_action(action): utils.write_db(db, utils.DB_PLAYER_STATUS, {'running': action == 'resume'}) # eval to True/False result['message'] = f"Action {action} executed" elif(action in ['next', 'prev']): - config = utils.get_configuration(db) if(config['mode'] == 'dir'): nextFile = utils.read_db(db, utils.DB_LAST_PLAYED_FILE) @@ -89,9 +89,9 @@ def execute_action(action): # use the info parser to find the next or previous file if(config['media'] == 'video'): - info = VideoInfo(utils.get_configuration(db)) + info = VideoInfo(config) else: - info = ImageInfo(utils.get_configuration(db)) + info = ImageInfo(config) # load how many skips are queued skip_num = utils.read_db(db, utils.DB_IMAGE_SKIP) @@ -133,7 +133,7 @@ def execute_action(action): if('file' in nextVideo): # see to this value - info = VideoInfo(utils.get_configuration(db)) + info = VideoInfo(config) nextVideo = info.seek_video(nextVideo, data['amount']) result['message'] = f"Seeking to {data['amount']:.2f} percent on next update" From bc2a7b28d110acb7df25a9b66e3a22ebcbb0b0aa Mon Sep 17 00:00:00 2001 From: bridgem Date: Sat, 31 May 2025 21:54:23 +0100 Subject: [PATCH 02/10] Fix seek command by ensuring the next frame calculation does no overwrite the seek --- CHANGELOG.md | 1 + vsmp.py | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66002c7..dd7a4ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Fixed - Seek fails due to config variable not being set (moved db read of config to beginning of execute_action in webapp.py +- Fix to seek commands being ignored (caused by data being over-written by update_display()) ## 2025-05-28 diff --git a/vsmp.py b/vsmp.py index da9d505..30d2d91 100755 --- a/vsmp.py +++ b/vsmp.py @@ -163,6 +163,8 @@ def update_display(config, epd, db): # get the file to display media_file = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE)) + # Save pos to cehck for db changes later + last_pos = media_file['pos'] # check if we have a properly analyzed file if('file' not in media_file): @@ -273,8 +275,13 @@ def update_display(config, epd, db): else: logging.info(f"Displaying {media_file['name']}") - # save the last played info - utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) + # If the current values in the database have changed since the start of update_display, + # then a change has been (such as a seek or an api/db update). So we do not write back the calculated + # values for the next run + media_file_now = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE)) + if media_file_now['pos'] == last_pos: + # save the last played info + utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) epd.sleep() From d6ddaeae29b8af4a0f74c595fc40c1e41b548299 Mon Sep 17 00:00:00 2001 From: bridgem Date: Sat, 31 May 2025 21:58:12 +0100 Subject: [PATCH 03/10] Fix hour value in seek tooltip --- CHANGELOG.md | 1 + web/templates/index.html | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd7a4ce..1aecdf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Seek fails due to config variable not being set (moved db read of config to beginning of execute_action in webapp.py - Fix to seek commands being ignored (caused by data being over-written by update_display()) +- Fix hour value in seek tooltip ## 2025-05-28 diff --git a/web/templates/index.html b/web/templates/index.html index bbfaa71..0c44a07 100644 --- a/web/templates/index.html +++ b/web/templates/index.html @@ -88,9 +88,10 @@ pos = percent * vInfo.frame_count; //turn pos into seconds/minutes/hours of video - seconds = ((pos/vInfo.fps) % 60) % 60; - minutes = ((pos/vInfo.fps)/60) % 60; - hours = (pos/vInfo.fps)/60/60; + totalSeconds = pos/vInfo.fps + hours = Math.floor(totalSeconds / 3600); + minutes = Math.floor((totalSeconds % 3600) / 60); + seconds = Math.round(totalSeconds % 60); //return hours.min of video return hours.toLocaleString('en-US', localeOptions) + ":" + From 1916043294375584d1465c2486fac18674a236a1 Mon Sep 17 00:00:00 2001 From: bridgem Date: Wed, 2 Jul 2025 18:00:16 +0100 Subject: [PATCH 04/10] Better handling of blank frames. Updated logic of main update_display loop --- CHANGELOG.md | 4 ++ modules/utils.py | 2 +- vsmp.py | 125 +++++++++++++++++++++++++++++++++++------------ 3 files changed, 99 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1aecdf1..7ed8761 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +## 2025-07-02 +### Fixed +- Skipping blank frames did not advance. Changed logic of main loop in update_display and use new function to get ffmpeg to find the next non-black frame. + ## 2025-05-31 ### Fixed diff --git a/modules/utils.py b/modules/utils.py index 963fc02..23e57ec 100644 --- a/modules/utils.py +++ b/modules/utils.py @@ -70,7 +70,7 @@ def frames_to_seconds(frames, fps): def seconds_to_frames(seconds, fps): - return int(seconds) * fps + return int(seconds * fps) # Check if a file is a video diff --git a/vsmp.py b/vsmp.py index 30d2d91..b088967 100755 --- a/vsmp.py +++ b/vsmp.py @@ -2,6 +2,7 @@ import ffmpeg import logging import os +import re import modules.utils as utils from modules.videoinfo import ImageInfo, VideoInfo from modules.twinepd import TwinEpd @@ -60,9 +61,35 @@ def changed_ip_check(config, db): config['display'].append('ip') utils.write_db(db, utils.DB_CONFIGURATION, config) +def find_next_non_black_frame(video_path, start_time, num_frames, fps): + # This ffmpeg method is unreliable for low num_frames (e.g. 2), + # Use fps as a minimum value + + num_frames = max(num_frames, int(fps)) + # Find the end of a black segment after a given time + try: + out, err = ( + ffmpeg + .input(video_path, ss=start_time) + .output('pipe:', vf='blackdetect=d=0.1:pic_th=0.98', format='null', vframes=num_frames, an=None) + .global_args('-hide_banner') + .run(capture_stdout=True, capture_stderr=True) + ) + + pattern = re.compile(r'black_start:(\d+(?:\.\d+)?)\s+black_end:(\d+(?:\.\d+)?)') + + for line in err.decode().splitlines(): + match = pattern.search(line) + if match: + return float(match.group(1)), float(match.group(2)) + except ffmpeg.Error as e: + logging.error(f"Blank frame detection FFmpeg error: {e.stderr.decode()}") + + return None def generate_frame(in_filename, out_filename, time): try: + # Extract the given frame ffmpeg.input(in_filename, ss=time) \ .filter('scale', 'iw*sar', 'ih') \ .filter('scale', width, height, force_original_aspect_ratio=1) \ @@ -193,38 +220,80 @@ def update_display(config, epd, db): pil_im = Image.open(grabFile).resize((width, height)) else: - validImg = False + logging.info(f"Loading {media_file['file']}") + + if(media_file['pos'] >= media_file['info']['frame_count']): + # set 'next' to true to force new video file + media_file = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE), True) + # Reset pos to start + media_file['pos'] = config['start'] * media_file['info']['fps'] + + # calculate the percent percent_complete + media_file['percent_complete'] = (media_file['pos'] / media_file['info']['frame_count']) * 100 + + # set the position we want to use + frame = media_file['pos'] - while(not validImg): - logging.info(f"Loading {media_file['file']}") + # Convert that frame to ms from start of video (frame/fps) * 1000 + msTimecode = f"{utils.frames_to_seconds(frame, media_file['info']['fps']) * 1000}ms" - if(media_file['pos'] >= media_file['info']['frame_count']): - # set 'next' to true to force new video file - media_file = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE), True) + # Use ffmpeg to extract a frame from the movie, crop it, letterbox it and save it in memory + generate_frame(media_file['file'], grabFile, msTimecode) - # calculate the percent percent_complete - media_file['percent_complete'] = (media_file['pos'] / media_file['info']['frame_count']) * 100 + # Open grab.jpg in PIL + pil_im = Image.open(grabFile) - # set the position we want to use - frame = media_file['pos'] + # image not valid if skipping blank (None == blank) + if config['skip_blank'] and pil_im.getbbox() is None: - # Convert that frame to ms from start of video (frame/fps) * 1000 - msTimecode = f"{utils.frames_to_seconds(frame, media_file['info']['fps']) * 1000}ms" + logging.info('Image is all black, skipping to next good frame') - # Use ffmpeg to extract a frame from the movie, crop it, letterbox it and save it in memory - generate_frame(media_file['file'], grabFile, msTimecode) + while True: - # save the next position - media_file['pos'] = media_file['pos'] + float(config['increment']) + # Get next non-blank frame after timecode within next frame increment + # Use ffmpeg to find the next non-blank instead of looping a fetch for each frame + # Could just get next frame increment, but ffmpeg allows use to search for the end of the blank sequence + blanks = find_next_non_black_frame(media_file['file'], msTimecode, config['increment'], media_file['info']['fps']) - # Open grab.jpg in PIL - pil_im = Image.open(grabFile) + if blanks is None: + break + else: + # We're on a blank frame + blank_start, blank_end = blanks - # image not valid if skipping blank (None == blank) - validImg = (not config['skip_blank']) or (pil_im.getbbox() is not None and config['skip_blank']) + secsTimecode = float(msTimecode.rstrip("ms")) / 1000 + frame = secsTimecode * media_file['info']['fps'] + + next_non_blank_frame = frame + utils.seconds_to_frames(blank_end, media_file['info']['fps']) + + logging.info(f"Black frame skip to {next_non_blank_frame}") + + if next_non_blank_frame < media_file['info']['frame_count']: + # Jump to end of blank period + frame = next_non_blank_frame + media_file['pos'] = frame + # else all the remaining frames are blank and the increment will take care of moving + # to next file (dir mode) or reset to beginning (file mode): + + # Recalculate msTimecode again if we skipped some blank frames + msTimecode = f"{utils.frames_to_seconds(frame, media_file['info']['fps']) * 1000}ms" + + # Generate new frame at end of black section + generate_frame(media_file['file'], grabFile, msTimecode) + + # Fetch new image in PIL + pil_im = Image.open(grabFile) + + # save the next position + media_file['pos'] = media_file['pos'] + float(config['increment']) + + # If the current values in the database have changed since the start of update_display, + # then a change has been (such as a seek or an api/db update). So we do not write back the calculated + # values for the next run + media_file_now = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE)) + if media_file_now['pos'] == last_pos: + utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) - if(not validImg): - logging.info('Image is all black, try again') if(len(config['display']) > 0): font18 = ImageFont.truetype(utils.FONT_PATH, 18) @@ -266,23 +335,17 @@ def update_display(config, epd, db): if(config['media'] == 'video'): # do some calculations for the next run secondsOfVideo = utils.frames_to_seconds(frame, media_file['info']['fps']) - logging.info(f"Diplaying frame {frame} ({secondsOfVideo} seconds) of {media_file['name']}") + logging.info(f"Displaying frame {frame} ({secondsOfVideo} seconds) of {media_file['name']}") if(media_file['pos'] >= media_file['info']['frame_count']): # set 'next' to True to force new file media_file = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE), True) + # Reset pos to start + media_file['pos'] = config['start'] * media_file['info']['fps'] logging.info(f"Will start {media_file} on next run") else: logging.info(f"Displaying {media_file['name']}") - # If the current values in the database have changed since the start of update_display, - # then a change has been (such as a seek or an api/db update). So we do not write back the calculated - # values for the next run - media_file_now = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE)) - if media_file_now['pos'] == last_pos: - # save the last played info - utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) - epd.sleep() From e8dc10fbd06580e525a4a6d7dc7201a247071adc Mon Sep 17 00:00:00 2001 From: bridgem Date: Wed, 2 Jul 2025 19:36:48 +0100 Subject: [PATCH 05/10] Merged Image enhancement, Full screen images, Startup screen layout & Skipping blank frames --- web/static/images/splash.png | Bin 0 -> 202594 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 web/static/images/splash.png diff --git a/web/static/images/splash.png b/web/static/images/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..10055ae2d0c4e1f8d35da44ff810a7a4041699f5 GIT binary patch literal 202594 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�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 Date: Wed, 2 Jul 2025 18:46:16 +0100 Subject: [PATCH 06/10] Image enhancement (Experimental), Full screen images (no black bars), QR Code & layout change of startup screen --- .gitignore | 13 ++++ CHANGELOG.md | 12 ++++ vsmp.py | 185 ++++++++++++++++++++++++++++++++++++++++++++------- 3 files changed, 186 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index a7109fe..19a5cfb 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,16 @@ __pycache__/* modules/__pycache__/* waveshare_lib/build/* waveshare_lib/dist/* +custom-conf.conf +debug.log +mbridge-changelog.md +test_app.py +test_frame.py +.idea/.gitignore +.idea/misc.xml +.idea/modules.xml +.idea/vcs.xml +.idea/vsmp-plus.iml +.idea/inspectionProfiles/profiles_settings.xml +.idea/inspectionProfiles/Project_Default.xml +web/static/images/original-splash.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ed8761..1ecb085 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## 2025-07-02 + +### Fixed +- Pos now reset when starting a new file + +### Added +- Image enhancement using PIL contrast & brightness settings for better +- Full screen images without black bars +- Startup messages now appear on RHS of screen, image on LHS +- QR Code on RHS of startup screen for config URL + +## 2025-07-02 + ### Fixed - Skipping blank frames did not advance. Changed logic of main loop in update_display and use new function to get ffmpeg to find the next non-black frame. diff --git a/vsmp.py b/vsmp.py index b088967..16e8ef0 100755 --- a/vsmp.py +++ b/vsmp.py @@ -2,6 +2,7 @@ import ffmpeg import logging import os +import fcntl, struct import re import modules.utils as utils from modules.videoinfo import ImageInfo, VideoInfo @@ -13,11 +14,13 @@ import redis import socket import shutil +import qrcode import modules.webapp as webapp from omni_epd import displayfactory from croniter import croniter from datetime import datetime, timedelta -from PIL import Image, ImageDraw, ImageFont +from PIL import Image, ImageDraw, ImageFont, ImageOps, ImageEnhance, ImageStat + # create the tmp directory if it doesn't exist if (not os.path.exists(utils.TMP_DIR)): @@ -89,14 +92,40 @@ def find_next_non_black_frame(video_path, start_time, num_frames, fps): def generate_frame(in_filename, out_filename, time): try: - # Extract the given frame - ffmpeg.input(in_filename, ss=time) \ - .filter('scale', 'iw*sar', 'ih') \ - .filter('scale', width, height, force_original_aspect_ratio=1) \ - .filter('pad', width, height, -1, -1) \ - .output(out_filename, vframes=1) \ - .overwrite_output() \ - .run(capture_stdout=True, capture_stderr=True) + scale_method = 3 + match scale_method: + case 1: + # Original + ffmpeg.input(in_filename, ss=time) \ + .filter('scale', 'iw*sar', 'ih') \ + .filter('scale', width, height, force_original_aspect_ratio=1) \ + .filter('pad', width, height, -1, -1) \ + .output(out_filename, vframes=1) \ + .overwrite_output() \ + .run(capture_stdout=True, capture_stderr=True) + case 2: + # Don't pad to add the black bars until after enhancement + ffmpeg.input(in_filename, ss=time) \ + .filter('scale', 'iw*sar', 'ih') \ + .filter('scale', width, height, force_original_aspect_ratio=1) \ + .output(out_filename, vframes=1) \ + .overwrite_output() \ + .run(capture_stdout=True, capture_stderr=True) + case 3: + # Crop images to fill display + screen_aspect_ratio = f'{width}/{height}' + scale_filter = ( + f"scale='if(gt(a,{screen_aspect_ratio}),-1,{width})':" + f"'if(gt(a,{screen_aspect_ratio}),{height},-1)'" + ) + crop_filter = f"crop={width}:{height}" + full_filter = f"{scale_filter},{crop_filter}" + ffmpeg.input(in_filename, ss=time) \ + .output(out_filename, vframes=1, vf=full_filter) \ + .overwrite_output() \ + .run(capture_stdout=True, capture_stderr=True) + + except ffmpeg.Error as e: logging.error(e.stderr.decode('utf-8')) @@ -151,38 +180,114 @@ def find_next_file(config, lastPlayed, next=False): return result +def enhance_image(img): + # EXPERIMENTAL + # Apply auto contract & brightness to output image + MIN_MEAN_BRIGHT = 0 + MAX_MEAN_BRIGHT = 190 + TARGET_BRIGHTNESS = 128 # Target mean brightness (e.g., 128 for mid-gray) + + stat = ImageStat.Stat(img.convert("L")) + logging.debug(f"1: Frame Mean Brightness = {stat.mean[0]:6.2f}") + logging.debug(f"1: Contrast = {stat.stddev[0]:6.2f}") + + # Auto contrast + img = ImageOps.autocontrast(img) + + # Calculate mean brightness + stat = ImageStat.Stat(img.convert("L")) + mean_brightness = stat.mean[0] + + logging.debug(f"2: Auto contrast -> Brightness = {mean_brightness:6.2f}") + logging.debug(f"2: Contrast = {stat.stddev[0]:6.2f}") + + if MIN_MEAN_BRIGHT < mean_brightness < MAX_MEAN_BRIGHT: + target_brightness = TARGET_BRIGHTNESS + # target_brightness = min(TARGET_BRIGHTNESS, 3 * mean_brightness) + + # Don't overbrighten dark images + adjustment_factor = min(3, target_brightness / mean_brightness) + + logging.debug(f"3: Adjust brightness Target = {target_brightness:6.2f}") + logging.debug(f"3: Adjust brightness, Factor = {adjustment_factor:6.2f}") + + enhancer = ImageEnhance.Brightness(img) + img = enhancer.enhance(adjustment_factor) + + stat = ImageStat.Stat(img.convert("L")) + logging.debug(f"3: Adjust brightness -> Brightness = {stat.mean[0]:6.2f}") + else: + logging.debug(f"3: (Brightness Unchanged)") + + return img + + +def pad_image(img, target_size, color=0): + # TODO: Incorporate this in enhance_image? + + # Pad given Pillow Image to the target_size (width, height), centering it. + target_width, target_height = target_size + original_width, original_height = img.size + + result = Image.new(img.mode, target_size, color) + + # Center the original image on the new canvas + x = (target_width - original_width) // 2 + y = (target_height - original_height) // 2 + result.paste(img, (x, y)) + + return result + + def show_startup(epd, db, messages=[]): epd.prepare() # display startup message on the display font30 = ImageFont.truetype(utils.FONT_PATH, 30) - font24 = ImageFont.truetype(utils.FONT_PATH, 24) + font_normal = ImageFont.truetype(utils.FONT_PATH, 18) current_ip = utils.read_db(db, utils.CURRENT_IP) - messages.append(f"Configure at http://{current_ip['ip']}:{args.port}") + config_url = f"http://{current_ip['ip']}:{args.port}/setup" + messages.append(f"Go to {config_url}") # load a background image - splash_image = os.path.join(utils.DIR_PATH, "web", "static", "images", "splash.jpg") + splash_image = os.path.join(utils.DIR_PATH, "web", "static", "images", "splash.png") background_image = Image.open(splash_image).resize((width, height)) draw = ImageDraw.Draw(background_image) - # calculate the size of the text we're going to draw + # Calculate the size of the text we're going to draw title = "VSMP+" left, top, right, bottom = draw.textbbox((0, 0), text=title, font=font30) tw, th = right - left, bottom - top - draw.text(((width - tw) / 2, (height - th) / 4), title, font=font30, fill=0) + # Center on RH Half of image + draw.text((3 * width / 4 - tw / 2, (height - th) / 4), title, font=font30, fill=0) offset = th * 1.5 # initial offset is height of title plus spacer for m in messages: - left, top, right, bottom = draw.textbbox((0, 0), text=m, font=font24) + left, top, right, bottom = draw.textbbox((0, 0), text=m, font=font_normal) mw, mh = right - left, bottom - top - draw.text(((width - mw) / 2, (height - mh) / 4 + offset), m, font=font24, fill=0) + draw.text((3 * width / 4 - mw / 2, (height - mh) / 4 + offset), m, font=font_normal, fill=0) offset = offset + (th * 1.5) - epd.display(background_image) + # Create QR code instance + qr = qrcode.QRCode( + version=1, # Controls size (1 to 40), 1 is smallest + error_correction=qrcode.constants.ERROR_CORRECT_M, # L, M, Q, H (higher = more robust, bigger QR) + box_size=6, # Pixel size of each "box" + border=4 # Thickness of the border (minimum is 4) + ) + qr.add_data(config_url) + qr.make(fit=True) + + # Generate the image + qr_img = qr.make_image(fill_color="black", back_color="white") + qw, qh = qr_img.size + + background_image.paste(qr_img, (3 * width // 4 - qw // 2, height // 2)) + epd.display(background_image) epd.sleep() @@ -190,8 +295,9 @@ def update_display(config, epd, db): # get the file to display media_file = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE)) - # Save pos to cehck for db changes later + # Save pos to check for db changes later last_pos = media_file['pos'] + last_file = media_file['file'] # check if we have a properly analyzed file if('file' not in media_file): @@ -205,9 +311,6 @@ def update_display(config, epd, db): return - # Initialize the screen - epd.prepare() - # save grab file in memory as a bitmap pil_im = None grabFile = os.path.join('/dev/shm/', 'frame.bmp') @@ -327,10 +430,17 @@ def update_display(config, epd, db): left, top, right, bottom = draw.textbbox((0, 0), text=message, font=font18) tw, th = right - left, bottom - top # gets the width and height of the text drawn # draw timecode, centering on the middle - draw.text(((width - tw) / 2, height - th), message, font=font18, fill=(255, 255, 255)) - # display the image + # Black background rectangle behind text for visibility + x1, y1 = (width - tw) / 2, height - th + x2, y2 = (width + tw) / 2, height + # draw.rectangle([(x1-2, y1-2), (x2+2, y2+2)], fill=(0, 0, 0)) + draw.text((x1, y1), message, font=font18, fill=(255, 255, 255)) + + # Initialize the screen & display the image + epd.prepare() epd.display(pil_im) + epd.sleep() if(config['media'] == 'video'): # do some calculations for the next run @@ -342,10 +452,37 @@ def update_display(config, epd, db): media_file = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE), True) # Reset pos to start media_file['pos'] = config['start'] * media_file['info']['fps'] + + # MBRIDGE - shouldn't we reset the pos to the beginning? + # REMOVE - not needed bc of commit 1916043 branch + # media_file['pos'] = config['start'] * media_file['info']['fps'] + # utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) + logging.info(f"Will start {media_file} on next run") else: logging.info(f"Displaying {media_file['name']}") + # If the current values in the database have changed since the start of update_display, + # then a change has been (such as a seek or an api/db update). So we do not write back the calculated + # values for the next run + + # REMOVE - check against previous commit: 1916043 + # media_file_now = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE)) + + # if media_file_now['file'] != last_file: + # # We are now on a new file + # utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) + # else: + # # Same file, but only write if we haven't done a seek + # if media_file_now['pos'] == last_pos: + # # save the last played info + # media_file['pos'] = next_pos + # utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) + # pass + # else: + # # Got a seek, so don't update DB + # pass + epd.sleep() @@ -438,7 +575,7 @@ def update_display(config, epd, db): # show the startup screen for 1 min before proceeding if(config['startup_screen']): logging.info("Showing startup screen") - show_startup(epd, db, [f"Next Update: {nextUpdate.strftime('%m/%d at %H:%M')}"]) + show_startup(epd, db, [f"Next Update: {nextUpdate.strftime('%d/%m/%Y at %H:%M')}"]) time.sleep(60) # reset cronitor to current time From 63cb27fb4cf3d6171843b80f3da505d188341c40 Mon Sep 17 00:00:00 2001 From: bridgem Date: Wed, 2 Jul 2025 18:53:42 +0100 Subject: [PATCH 07/10] omni-epd.ini --- omni-epd.ini | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/omni-epd.ini b/omni-epd.ini index a158558..1408e5f 100644 --- a/omni-epd.ini +++ b/omni-epd.ini @@ -1,3 +1,11 @@ [omni_epd.mock] mode=color file=tmp/screenshot.png + +[Display] +#dither=simple2d +dither=FloydSteinberg +#dither=FalseFloydSteinberg +dither_strength=1.0 +dither_serpentine=True + From ad89b58ca4a1ee3102b3109aab6b67a773d4a0b5 Mon Sep 17 00:00:00 2001 From: bridgem Date: Wed, 2 Jul 2025 18:57:39 +0100 Subject: [PATCH 08/10] WIP: local work before rebase --- .gitignore | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.gitignore b/.gitignore index 19a5cfb..9bc30ee 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,17 @@ test_frame.py .idea/inspectionProfiles/profiles_settings.xml .idea/inspectionProfiles/Project_Default.xml web/static/images/original-splash.jpg +.idea/.gitignore +.idea/misc.xml +.idea/modules.xml +.idea/vcs.xml +.idea/vsmp-plus.iml +.idea/inspectionProfiles/profiles_settings.xml +.idea/inspectionProfiles/Project_Default.xml +mbridge-changelog.md +custom-conf.conf +omni-epd.ini +test_app.py +web/static/images/original-splash.jpg +web/static/images/splash.png +test_frame.py From 1f62b0a1777821b4d33d378311d38a46f0f286d5 Mon Sep 17 00:00:00 2001 From: bridgem Date: Tue, 29 Jul 2025 19:52:36 +0100 Subject: [PATCH 09/10] Add calls to enhance frame --- vsmp.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/vsmp.py b/vsmp.py index 16e8ef0..e7a89be 100755 --- a/vsmp.py +++ b/vsmp.py @@ -387,6 +387,14 @@ def update_display(config, epd, db): # Fetch new image in PIL pil_im = Image.open(grabFile) + w, h = pil_im.size + logging.debug(f"Image size: {w} px, Height: {h} px") + pil_im = enhance_image(pil_im) + + # Pad image with black bars to screen size if needed + # This is so that the enhancement doesn't include the black bars + pil_im = pad_image(pil_im, (width, height), color=(0, 0, 0)) + # save the next position media_file['pos'] = media_file['pos'] + float(config['increment']) @@ -432,8 +440,8 @@ def update_display(config, epd, db): # draw timecode, centering on the middle # Black background rectangle behind text for visibility - x1, y1 = (width - tw) / 2, height - th - x2, y2 = (width + tw) / 2, height + x1, y1 = (width - tw) / 2, height - th - 20 + x2, y2 = (width + tw) / 2, height - 20 # draw.rectangle([(x1-2, y1-2), (x2+2, y2+2)], fill=(0, 0, 0)) draw.text((x1, y1), message, font=font18, fill=(255, 255, 255)) @@ -596,7 +604,11 @@ def update_display(config, epd, db): # check if the display should be updated pStatus = utils.read_db(db, utils.DB_PLAYER_STATUS) - if(nextUpdate <= now): + # MBRIDGE NO DELAY + # if(nextUpdate <= now): + if(True): + logging.debug("Ignoring cron!!") + if(pStatus['running']): update_display(config, epd, db) utils.write_db(db, utils.DB_LAST_RUN, {'last_run': now.timestamp()}) @@ -610,4 +622,7 @@ def update_display(config, epd, db): changed_ip_check(config, db) # sleep for one minute - time.sleep(60 - datetime.now().second) + # MBRIDGE NO DELAY + # time.sleep(60 - datetime.now().second) + logging.debug("Sleep 1") + time.sleep(1) From 34bc984a54861ad0f3beb8a3de0de1b7e7523d76 Mon Sep 17 00:00:00 2001 From: bridgem Date: Sat, 2 Aug 2025 17:10:35 +0100 Subject: [PATCH 10/10] small tidy --- vsmp.py | 40 ++++++---------------------------------- 1 file changed, 6 insertions(+), 34 deletions(-) diff --git a/vsmp.py b/vsmp.py index e7a89be..cfb2fe9 100755 --- a/vsmp.py +++ b/vsmp.py @@ -440,13 +440,14 @@ def update_display(config, epd, db): # draw timecode, centering on the middle # Black background rectangle behind text for visibility - x1, y1 = (width - tw) / 2, height - th - 20 - x2, y2 = (width + tw) / 2, height - 20 - # draw.rectangle([(x1-2, y1-2), (x2+2, y2+2)], fill=(0, 0, 0)) + x1, y1 = (width - tw) / 2, height - th + x2, y2 = (width + tw) / 2, height + draw.rectangle([(x1-2, y1-2), (x2+2, y2+2)], fill=(0, 0, 0)) draw.text((x1, y1), message, font=font18, fill=(255, 255, 255)) # Initialize the screen & display the image epd.prepare() + logging.debug("Updating EPD") epd.display(pil_im) epd.sleep() @@ -470,29 +471,6 @@ def update_display(config, epd, db): else: logging.info(f"Displaying {media_file['name']}") - # If the current values in the database have changed since the start of update_display, - # then a change has been (such as a seek or an api/db update). So we do not write back the calculated - # values for the next run - - # REMOVE - check against previous commit: 1916043 - # media_file_now = find_next_file(config, utils.read_db(db, utils.DB_LAST_PLAYED_FILE)) - - # if media_file_now['file'] != last_file: - # # We are now on a new file - # utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) - # else: - # # Same file, but only write if we haven't done a seek - # if media_file_now['pos'] == last_pos: - # # save the last played info - # media_file['pos'] = next_pos - # utils.write_db(db, utils.DB_LAST_PLAYED_FILE, media_file) - # pass - # else: - # # Got a seek, so don't update DB - # pass - - epd.sleep() - # parse the arguments parser = configargparse.ArgumentParser(description='VSMP Settings') @@ -604,10 +582,7 @@ def update_display(config, epd, db): # check if the display should be updated pStatus = utils.read_db(db, utils.DB_PLAYER_STATUS) - # MBRIDGE NO DELAY - # if(nextUpdate <= now): - if(True): - logging.debug("Ignoring cron!!") + if(nextUpdate <= now): if(pStatus['running']): update_display(config, epd, db) @@ -622,7 +597,4 @@ def update_display(config, epd, db): changed_ip_check(config, db) # sleep for one minute - # MBRIDGE NO DELAY - # time.sleep(60 - datetime.now().second) - logging.debug("Sleep 1") - time.sleep(1) + time.sleep(60 - datetime.now().second)