{"id":8024,"date":"2026-04-08T13:48:19","date_gmt":"2026-04-08T11:48:19","guid":{"rendered":"https:\/\/www.rawk.at\/?p=6609"},"modified":"2026-05-31T00:12:59","modified_gmt":"2026-05-31T00:12:59","slug":"kai-zero-player","status":"publish","type":"post","link":"https:\/\/new.rawk.at\/?p=8024","title":{"rendered":"kAI zero Player"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8024\" class=\"elementor elementor-8024\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-560f537 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"560f537\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4eda297\" data-id=\"4eda297\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6cb7bae elementor-widget elementor-widget-text-editor\" data-id=\"6cb7bae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Type:<\/strong> Software\u00a0 <br \/><strong>Status:<\/strong> Beta<\/p><p><strong>Tech Stack: <\/strong>Python, python-vlc, pygame (Joystick), tkinter<\/p><p><strong>Problem Statement<\/strong><\/p><p>Art installations and exhibitions often need a dedicated, robust video player that works on retro hardware (CRT TVs) with unconventional input devices (joysticks). Standard media players are oversized for these scenarios, offer no joystick control, and no CRT-optimized interface. A minimalist, exhibition-ready player is missing.<\/p><p><strong>Description<\/strong><\/p><p>A minimalist fullscreen video player designed for CRT televisions with joystick control. Offers loop mode, volume control, 10-second skip, and a large CRT-optimized start screen. Controlled via joystick buttons\/analog stick or keyboard.<\/p><p><strong>Use Case<\/strong><\/p><p><em>Play music videos on a CRT television \u2014 controlled with a joystick.<\/em><\/p><p><strong>Link: <\/strong><a href=\"https:\/\/github.com\/rawk7000\/kaizero_player\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/rawk7000\/kaizero_player<\/a> (private repo)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-37e6b9a elementor-widget elementor-widget-gallery\" data-id=\"37e6b9a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;columns&quot;:2,&quot;lazyload&quot;:&quot;yes&quot;,&quot;gallery_layout&quot;:&quot;grid&quot;,&quot;columns_tablet&quot;:2,&quot;columns_mobile&quot;:1,&quot;gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;link_to&quot;:&quot;file&quot;,&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;overlay_background&quot;:&quot;yes&quot;,&quot;content_hover_animation&quot;:&quot;fade-in&quot;}\" data-widget_type=\"gallery.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-gallery__container\">\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Type: Software\u00a0 Status: Beta Tech Stack: Python, python-vlc, pygame (Joystick), tkinter Problem Statement Art installations and exhibitions often need a dedicated, robust video player that works on retro hardware (CRT TVs) with unconventional input devices (joysticks). Standard media players are oversized for these scenarios, offer no joystick control, and no CRT-optimized interface. A minimalist, exhibition-ready [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8055,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-8024","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8024"}],"version-history":[{"count":1,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8024\/revisions"}],"predecessor-version":[{"id":8056,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/posts\/8024\/revisions\/8056"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=\/wp\/v2\/media\/8055"}],"wp:attachment":[{"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/new.rawk.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}