extends includes/layout.pug

block head
	title Eir's mods - EirTube

block content
	main.home-page
		.text-content
			h1.top-header #[img(src="/static/images/bow.png" height=64)]EirTube
			h2.tagline A heavily modified personal use version of #[a(href="https://git.sr.ht/~cadence/cloudtube") CloudTube].
			.encouraging-message
				img(src="/static/images/mini_eir.png" height=212)
				p
					| I found #[a(href="https://cadence.moe/") Cadence's] personal project #[a(href="https://git.sr.ht/~cadence/cloudtube") CloudTube] after Invidious
					| recently got brought to a standstill again (late 2024).
				| At the same time, I stumbled upon #[a(href="https://github.com/ftde0/yt2009/") yt2009], a niche 2009-themed YouTube frontend.
				p
					| To my surprise, the latter worked perfectly even now.
					| So, I decided to combine the two together.
				p
					| This is the end result!
				details
					summary Main features
					p Videos are downloaded and served on the server instead of streamed from YouTube.
					p Video data is cached so as to ping YouTube and NewLeaf/Invidious less.
					p Higher quality formats can be preloaded while you watch and switched to when ready.
					p Volume boosting above 100% and force mono audio (requires JavaScript).
					p Custom captions implementation supporting position, style, etc. (requires Javascript)
					p Download video to an mp4 file, or audio to an ogg file.
					p SponsorBlock and DeArrow integration.
					p Highly configurable.
					p Designed to (mostly) work with JavaScript disabled.
					p Has my cool theme :3
				br
				details
					summary Specific differences
					p Because videos are actually downloaded...
					ul
						li Videos are downloaded to EirTube first.
						li Videos are streamed to your browser during and after downloading.
						li If JavaScript is turned off, you may need to hit <code>CTRL+F5</code><br>if a video errors or skips to the end (not fully downloaded yet).
						li Each quality setting needs to download to completion before you can switch.
						li Videos are cleared from the cache when over !{converters.bytesToSizeText(constants.server_setup.video_cache_max_size)} and a new download starts.
						if constants.takedown
							li The #[a(href="/takedown") DMCA page] is different.
					p Video player has support for <code>c</code>, <code>m</code>, <code>,</code>, <code>.</code>, <code>f</code>, <code>Home</code>, <code>End</code>, <code>Up</code>, <code>Down</code> keys, like YouTube's player.
					p Custom video player controls wrote for compatibility with SponsorBlock integration.
					p When JS is disabled, video player is more likely to load a broken video.
					| Use CTRL+F5 if it suddenly skips to the end.
				br
				details
					summary Links
					p #[a(href="https://git.sr.ht/~cadence/cloudtube") CloudTube] (base for this project, and like 90% of the work)
					p #[a(href="https://cadence.moe/") Cadence's personal site] (they deserve the real credit for making CloudTube)
					p #[a(href="https://github.com/ftde0/yt2009/") yt2009] (lots of download-related code is directly from here)
					p #[a(href="https://github.com/iv-org/invidious") Invidious] (an inspiration to both of us)
					p #[a(href="https://sponsor.ajay.app/") SponsorBlock] and #[a(href="https://dearrow.ajay.app/") DeArrow], implemented into EirTube through optional #[a(href="/settings") settings]
					p #[a(href="https://github.com/shaka-project/shaka-player/") Shaka Player] (I used some of their code as reference for my captions implementation)
					p #[a(href="https://eir-nya.gay") My personal site] if you want :3
				br
				a(href="https://git.eir-nya.gay/eir/eirtube") Source code
