[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80757":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":17,"lastSyncTime":27,"discoverSource":28},80757,"ASCILINE","YusufB5\u002FASCILINE","YusufB5","A high-performance, real-time ASCII video rendering engine. Streams binary-encoded frames via WebSockets for ultra-low latency, 60 FPS playback using HTML5 Canvas and requestAnimationFrame.","",null,"Python",43,7,41,0,1,2,2.71,"Other",false,"main",true,[],"2026-06-12 02:04:06","# 🌌 ASCILINE Engine\n\n**ASCILINE** is a high-performance, real-time ASCII video rendering engine. **Our core objective is to transform the web into a highly dynamic and interactive typographic canvas.** By moving away from traditional video players, ASCILINE streams visual data from a Python backend directly into the browser at **60 FPS** as raw, manipulable text.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcc38d219-b4d2-4873-82dc-2abb179b5665\" width=\"600\" alt=\"Animation\" \u002F>\n  \u003Cbr>\n  \u003Cbr>\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6bd7f5c0-81de-49fe-ba0d-9a8872ec8ae3\" width=\"600\" alt=\"Animation-after\" \u002F>\n  \u003Cbr>\n  \u003Csub>\u003Ci>* Showcases rendered using Mode 3 (32K Colors) from a 30 FPS source video. The engine naturally synchronizes up to 60+ FPS depending on the source material.\u003C\u002Fi>\u003C\u002Fsub>\n\u003C\u002Fp>\n\n## 🎯 Strategic Vision & Core Capabilities\n\n1. **Pure Typographic Manipulation**: The visual stream is not a standard media file—it's raw HTML\u002FCanvas text. This makes the impossible possible: you can apply real-time CSS filters (neon glows, text shadows) to a playing video, dynamically manipulate colors, or let users literally copy a moving visual element with their cursor.\n2. **Local AI & LLM Ready**: By reducing complex pixel streams into structured logical strings, ASCILINE acts as a perfect bridge for AI. Instead of feeding heavy computer vision models, lightweight text blocks can be fed directly to Local LLMs. Analyzing visual changes becomes as simple as taking a \"diff\" between two text strings.\n3. **Ultra-Low Bandwidth & IoT Compatibility**: Standard codecs (H.264\u002FVP9) choke microcontrollers and weak networks. ASCILINE processes the heavy lifting once on the backend, streaming only a few kilobytes of String packets per second via WebSockets. It enables zero-latency live streams on satellite connections, embedded systems, and extreme low-bandwidth environments.\n4. **Bypassing Browser Constraints**: Modern browsers aggressively throttle autoplay videos, and ad-blockers restrict traditional media frames. To the browser, ASCILINE is simply \"JavaScript updating text on a page.\" This circumvents traditional restrictions, allowing for immediate, unblockable visual streams.\n\n## 🚀 Technical Features\n\n-   **Real-Time Streaming**: Low-latency video-to-ASCII conversion.\n-   **High Performance**: Uses **HTML5 Canvas** for rendering instead of heavy DOM elements, enabling 60 FPS playback.\n-   **Binary Protocol**: Frames are encoded into `Uint8Array` (binary) for efficient bandwidth usage.\n-   **Multiple Color Modes**: Supports everything from classic B&W to 16M color ultra-fidelity.\n-   **Modern Aesthetic**: Premium dark-mode UI with interactive ripple dissolve effects.\n\n## 🛠️ Architecture\n\n1.  **Backend (Python\u002FFastAPI)**: Decodes video using OpenCV, maps pixels to ASCII characters via NumPy, and streams binary data.\n2.  **Frontend (Vanilla JS)**: Receives binary frames via WebSockets, manages a jitter buffer, and renders to a Canvas grid.\n3.  **Communication**: Optimized WebSocket protocol with a custom `INIT` handshake for dynamic resolution\u002FFPS adjustment.\n\n## 📦 Installation\n\n### 1. Clone the repository\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FYusufB5\u002FASCILINE.git\ncd ASCILINE\n```\n\n### 2. Install dependencies\n```bash\npip install fastapi uvicorn opencv-python numpy websockets\n```\n\n### 3. Run the Web Server\nPlace a `video.mp4` in the root directory and start the server:\n```bash\npython stream_server.py\n```\nOpen `http:\u002F\u002Flocalhost:8000` in your browser.\n\nAudio startup options\n```bash\npython ascii_video_player2.py video.mp4 --vol 0 #disable audio\npython ascii_video_player2.py video.mp4 --vol [1-5] #adjust volume level \n```\n\n### 4. Run directly in Terminal (Standalone)\nIf you prefer to bypass the web interface, you can render the video directly inside an ANSI-supported terminal (zero-flicker, true color):\n```bash\npython ascii_video_player2.py video.mp4 --quality 0\n```\n## 🎨 Customization\n\nYou can easily customize the look and feel of the engine:\n\n### Styling\nEdit `style.css` to change the accent colors and typography using CSS variables:\n```css\n:root {\n    --accent-color: #00ff41; \u002F* Classic Matrix Green *\u002F\n    --bg-color: #050505;\n}\n```\nYou can change the video size on the server by changing the width and height of the player container at the css.\n\n### Rendering Modes\nThe engine supports different fidelity levels via the `--mode` flag:\n- `1`: Black & White (DOM mode)\n- `2`: 512 Colors\n- `3`: 32K Colors\n- `4`: 262K Colors\n- `5`: 16M Colors (Ultra)\n\n```bash\npython stream_server.py --mode 5 --cols 240 --rows 100\n```\n\n## 📜 License & Ethical Guardrails\n\n**MIT License (with Anti-Ad Restriction)**\n\nASCILINE is distributed under the MIT License, but with a strict ethical guardrail.\nBecause this engine bypasses standard browser constraints and ad-blockers (by rendering pure text instead of video), we strictly prohibit its use by ad-networks to serve unblockable advertisements. \n\nSee the [LICENSE](LICENSE) file for the full text, which includes the **ANTI-ADVERTISEMENT RESTRICTION** clause.\n","ASCILINE 是一个高性能的实时ASCII视频渲染引擎。它通过WebSockets传输二进制编码的帧，利用HTML5 Canvas和requestAnimationFrame技术实现60 FPS的超低延迟播放。核心功能包括纯文本操作、本地AI及大语言模型就绪、极低带宽需求以及绕过浏览器限制的能力。项目使用Python作为后端处理视频解码，并通过WebSocket将数据流传输到前端进行渲染。适合需要在极端低带宽环境或嵌入式系统中提供流畅视频体验的应用场景，同时也为基于文本的视觉数据分析提供了新的可能性。","2026-06-11 04:01:55","CREATED_QUERY"]