← Back to Chicken TVChicken TV v0.2
A static, Cloudflare Pages-ready app based on the user's v0.1. No build step, account, backend, subscription or keys required.
Update your existing site
1. Open Cloudflare Dashboard > Workers & Pages > chicken-tv.
2. Select Create a new deployment and choose Production.
3. Upload chicken-tv-v0.2.zip and select Save and Deploy.
4. Open https://chicken-tv.pages.dev and refresh (Ctrl+F5 if needed).
index.html is at ZIP root. Upload the ZIP itself, or extract it and upload its contents. Do not create another project. Cloudflare documentation: https://developers.cloudflare.com/pages/get-started/direct-upload/
Favourites keep the exact v0.1 key chicken-tv-favourites and IDs bunny, bipbop, bunny-alt, so no ID migration is required. Use the same browser profile and https://chicken-tv.pages.dev origin to retain them; preview deployments, a different browser, private mode and a new domain have separate storage. Unknown saved IDs are retained rather than silently deleted. Blocked storage falls back to memory for the current visit. No viewing history or analytics is stored by Chicken TV.
Channels and verification (20 October 2026)
- Al Jazeera English: https://www.aljazeera.com/video/live declares https://www.youtube.com/embed/gCNeDWCI0vo as its official embedUrl in VideoObject structured data. Schedule: https://www.aljazeera.com/schedule
- Al Jazeera Arabic: https://www.aljazeera.net/live declares https://www.youtube.com/embed/bNyUyrR0PHo as its official embedUrl. Schedule: https://www.aljazeera.net/schedule
- NASA Earth view: https://eol.jsc.nasa.gov/ESRS/HDEV/ contains the official YouTube iframe https://www.youtube.com/embed/awQzjn72bI0 . Darkness, loss of signal and changes in coverage are normal. NASA events: https://www.nasa.gov/live/
Live channels use the broadcasters' published YouTube player IDs through YouTube's documented privacy-enhanced embed host. No third-party IPTV playlists, extracted HLS URLs, proxies, DRM bypass or rebroadcast server are used. Embedding instructions: https://support.google.com/youtube/answer/171780 . The broadcaster controls availability, embedding and geographic restrictions; public access does not transfer ownership or grant a rebroadcast licence. If the player is blocked or a live ID changes, use Watch on official site. Update app.js with a newly verified official embed ID if necessary. YouTube receives connection data when a user selects a live channel; no YouTube player loads on initial page load.
Al Jazeera's logo is used only to identify its channels, sourced from https://www.aljazeera.com/static/media/aj-logo-white.24cf5afb.svg . It remains its owner's trademark, with no endorsement implied. Other tile logos are original text badges, not official NASA or Apple marks.
Original demos retained
- Big Buck Bunny and alternate rendition: https://test-streams.mux.dev/ . Original URLs and IDs retained. Blender Foundation / Big Buck Bunny, https://peach.blender.org/ , CC BY 3.0: https://creativecommons.org/licenses/by/3.0/ . No film files redistributed.
- Apple BipBop: https://developer.apple.com/streaming/examples/ and https://devstreaming-cdn.apple.com/bipbop_16x9/bipbop_16x9_variant.m3u8 . Public HLS test, not live TV; Apple owns the sample.
- Bundled hls.js retained from v0.1; see vendor/LICENSE-hls.txt.
- NASA media use guidelines: https://www.nasa.gov/nasa-brand-center/images-and-media/ . No NASA insignia bundled.
Guide and playback
The guide shares search, category and favourites filters with the channel cards. Click a channel in the guide to watch. Live rows explicitly say no EPG is supplied and link to the official schedule. No cached programme listings, guessed times or invented now/next entries are shown. Demos are on demand.
HLS uses bundled hls.js where MediaSource is supported, with native HLS fallback. Diagnostics show manifest quality count, HLS error type/detail and HTTP status where available, or native media error codes. One fatal media recovery is attempted; persistent errors stop with Retry and a direct stream link. A loading timeout and autoplay instructions are provided. Browser errors cannot reliably distinguish every CORS, network, codec or regional restriction. Embedded player diagnostics are explicitly limited: Chicken TV does not claim an iframe loaded means video is playing.
For local preview, serve this directory through an HTTP server. Opening index.html as a file can break embedded players and storage. Internet access is required for all media. Responsive desktop/mobile layouts, native controls and fullscreen are supported subject to browser capabilities.