Stream the movies on your Windows laptop to your iPad, phone or TV over home Wi-Fi.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Watch the movies on your Windows PC, Mac or Linux computer from your iPad, iPhone, Android phone or TV, over your home Wi-Fi. No account, no internet upload, no subscription.
Website and download: kprakz.github.io/homeflix
.dmg and drag HOMEFLIX onto Applications.HOMEFLIX then lives in the menu bar at the top right of the screen. Everything else below works the same as on Windows.
sudo apt install ./HOMEFLIX-<version>-linux-amd64.deb. HOMEFLIX then appears in your apps menu.chmod +x HOMEFLIX-*.AppImage), then double-click it. On Ubuntu 22.04 and later, install libfuse2t64 (or libfuse2) once if it won't start.sudo: it doesn't need admin rights.sudo ufw allow from 192.168.0.0/16 to any port 8080 proto tcp.HOMEFLIX then lives in the system tray (on GNOME you may need the AppIndicator extension to see the icon). Everything else below works the same as on Windows.
⬇ Download HOMEFLIX for Windows, then double-click the downloaded HOMEFLIX-Setup-<version>.exe.
Requires Windows 10 or 11 (64-bit).
"Windows protected your PC"? This shows up for new apps that aren't from a big publisher. Click More info, then Run anyway.
Follow the installer. It puts HOMEFLIX on your Desktop and in the Start menu, and opens it when it finishes. No admin password is needed.
Click Choose your movies folder and pick the folder where your movies are, for example Downloads or Videos. Sub-folders are included, and you can add more folders any time.
HOMEFLIX checks Windows Firewall and shows a box at the top of its window if something needs doing:
The first time HOMEFLIX starts, Windows may ask "Allow HOMEFLIX to communicate on these networks?" It ticks whichever network type you're on at that moment. If your Wi-Fi was Public then, HOMEFLIX ends up allowed only on Public networks, and stops working once you switch the Wi-Fi to Private. The Allow on home networks button fixes that.
http://192.168.1.57:8080) into the browser.Open the address in Safari. Tap Share → Add to Home Screen to get a HOMEFLIX app icon.
Open the address in Chrome. Tap ⋮ → Add to Home screen (or Install app) to get a HOMEFLIX app icon. Videos go full-screen in landscape, and the phone's back button works as you'd expect.
Open your TV's web browser, such as Samsung Internet, LG Web Browser, or a browser app on Android TV / Google TV / Fire TV, and type the address.
| Remote button | What it does |
|---|---|
| Arrows / OK | Move around and choose |
| Back | Go back, or leave the movie |
| OK (while watching) | Pause / play |
| Left / Right (while watching) | Skip back / forward 10 seconds |
| Up / Down (while watching) | Show the controls: subtitles, skip, play/pause |
If HOMEFLIX doesn't switch to TV controls on its own, add ?tv=1 to the end of the address once, for example http://192.168.1.57:8080/?tv=1. Your TV remembers it.
From an iPhone or iPad you can also AirPlay to an Apple TV or an AirPlay-compatible TV.
Movies with several audio languages (for example Tamil, Telugu, Hindi and English in one file) get a language button in the player:
The movie continues at the same point in the new language. Each device remembers your choice for that movie, and the last language you picked becomes your default. Choose English once, and other multi-language movies start in English on that device.
Subtitles inside the movie, or a .srt / .vtt file next to it with the same name, appear in the player's subtitle menu (on a TV: Up → Subtitles).
Tips
Show S01E05 are grouped into series, and the next episode plays automatically.http://192.168.1.20:8080) or a home name (mypc.local), so a website can't reach your library through your browser.Settings → Apps → Installed apps → HOMEFLIX → Uninstall. This also removes HOMEFLIX's converted copies. Your own movie files are never touched.
| Problem | Fix |
|---|---|
| The page won't open on my phone | Same Wi-Fi? Then follow the box at the top of the HOMEFLIX window. To check by hand: Windows Security → Firewall & network protection → Allow an app through firewall → Change settings → homeflix.exe should have Private ticked, and your home Wi-Fi should be set to Private. |
| It only works when my Wi-Fi is Public | HOMEFLIX was allowed on Public networks only. Click Allow on home networks in HOMEFLIX (or tick Private for homeflix.exe as above), then set your Wi-Fi to Private. |
| The address changed | Your router gave the laptop a new address. Scan the new QR code in the HOMEFLIX window. |
| A movie shows "Downloading" | It's still being written to disk. Wait for the download to finish and reload the page. |
| Sound but no picture | Tap Picture missing? in the player. On a TV, press Up and choose it. |
| My TV shows the phone layout / no remote controls | Add ?tv=1 to the end of the address once. |
| "Not enough free space" | The laptop's drive is nearly full. Free some space. HOMEFLIX streams a converted version in the meantime. |
| No thumbnails / MKV won't play | Reinstall HOMEFLIX (its video tools are missing). |
| A device asks for a PIN I don't know | The owner of the HOMEFLIX computer turned on Require a PIN. The PIN is set (and can be changed or turned off) in Settings in the HOMEFLIX window. |
| "HOMEFLIX only works on the home network it runs on" | The device isn't on the same network as the computer: it's on mobile data, a guest Wi-Fi or coming from the internet. Join the same Wi-Fi. |
| Linux: phone can't connect | Allow the port in your firewall (see Install on Linux). |
Requirements: Node.js 20+, and ffmpeg on PATH (winget install Gyan.FFmpeg.Essentials).
npm install
npm run ffmpeg # copy ffmpeg/ffprobe into vendor/ffmpeg
npm start # run the desktop app
npm run dist # Windows: build dist/HOMEFLIX-Setup-<version>.exe
With npm run serve, set a PIN by adding "pin": "1234" to config.json.
Website and download map. The site in docs/ is served by GitHub Pages and by a Vercel project (homeflix-rho.vercel.app), which also runs the download counter in api/:
api/download.js counts a download for the visitor's country (Vercel's x-vercel-ip-country header; no IP addresses or personal data are stored), once per browser, then redirects to the installer on GitHub. It only redirects to HOMEFLIX's own release files.api/downloads.js returns the totals per country and platform for the map.docs/world-grid.json) is made by npm run world-grid.Mac builds are made by GitHub Actions (.github/workflows/mac.yml) on Apple Silicon and Intel Macs whenever a release is published. The workflow starts the built app with a test movie, checks it lists, streams and prepares it, and attaches HOMEFLIX-<version>-mac-arm64.dmg and -mac-x64.dmg to the release. To build on a Mac yourself: npm install --no-save ffmpeg-static ffprobe-static && npm run dist:mac.
Linux builds are made the same way by .github/workflows/linux.yml on x64 and ARM64 Ubuntu machines, with static ffmpeg from BtbN/FFmpeg-Builds. It installs the .deb, checks it lists, streams and prepares a test movie, refuses a foreign web address and asks for a PIN once one is set, checks the AppImage starts, and attaches HOMEFLIX-<version>-linux-*.deb and .AppImage to the release. To build on Linux yourself: npm install --no-save ffmpeg-static ffprobe-static && npm run dist:linux.
npm run serve runs only the streaming server (server.js), configured by config.json (copy config.example.json to start). npm run icons redraws the icons.
| Path | What it is |
|---|---|
server.js | Streaming server: library scan, byte-range streaming, MKV→MP4 remux, on-the-fly H.264 HLS (hardware encoders when available), thumbnails, subtitles, disk-space management |
public/index.html | The Netflix-style web player that phones and TVs open (per-device format choice, TV remote navigation) |
electron/ | Desktop app: tray, setup window (control.html), settings, PIN |
build/ | Installer icons and NSIS uninstall script |
vendor/ffmpeg/ | Bundled ffmpeg (not committed; created by npm run ffmpeg) |
App settings live in %APPDATA%\HOMEFLIX\settings.json (Mac: ~/Library/Application Support/HOMEFLIX/settings.json, Linux: ~/.config/HOMEFLIX/settings.json). The PIN is stored there only as a salted scrypt hash. Converted copies live in %LOCALAPPDATA%\HOMEFLIX\cache (Mac: ~/Library/Caches/HOMEFLIX, Linux: ~/.cache/HOMEFLIX).
HOMEFLIX ships unmodified FFmpeg programs, which are GPL-licensed. See vendor/ffmpeg/LICENSE.txt and SOURCE.txt, which are installed to resources\ffmpeg.