💾 Archived View for bbs.geminispace.org › u › nikhotmsk › 14057 captured on 2024-05-10 at 12:56:22. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-03-21)
-=-=-=-=-=-=-
Re: "Big files over Gemini (was Video over Gemini)"
I am developing a video conference software called Trunk Line. It is not based on gemini, but who knows.
Jan 18 · 4 months ago
🚂 MrSVCD [OP] · Jan 18 at 18:20:
I have had some time to think about this and what I actualy want is a way to split up big files into smaller chunks so if you get an error on your download you can try again but not from the beginning.
I got to thinking about how a index file would look like. It needs a checksum in my head so I remember the sha256sum program on my system so I took inspitation from that. The checksum uses hex encoding so I desided that if a line start with a "T" it is a tag line that contains information.
T name 은채도 What a Good Morning☀️ #최예나 #예나 #YENA #LE_SSERAFIM #HONGEUNCHAE #GOOD_MORNING #확실한_건_Good_Morning [1tsP_r2Vzck].webm T hash sha256 0aa618f965cafb7c279bc94ceb8b5ff77f1a5829ddbf70ec7d26ae198dfb0b76 videoaa T size 1048576 42f6fe4e1747b8ed23c7728bc43ad7ba21ce6a04bf84103861901ee4559c9fb2 videoab T size 1048576 4f820b08f3427718a50b0243eb5d7673a7018488c94ba9523b71120253209757 videoac T size 1048576 2e28bb36fd424c347d5c8dd509f86e53727b7fb03808e268f0549f5d0a2b79e8 videoad T size 910796 T miliseconds 187180
Tags so far:
T name <file name>
This tag sets the name of the file to be downloaded. The index file name MUST be the same as the <file name> + .gembig If it is not the download does not start.
T hash <hash type>
This tag sets the hash to be used. This tag MUST be used.
T size <number of bytes>
This tag sets the expected size of the chunk to be downloaded. This tag MUST be after every hash/file line.
T miliseconds <miliseconds>
This tag specifies the legnth in miliseconds of the chunks since the last miliseconds tag. This tag is to be used when the file is a media file so the media player can potentionaly seek in audio/video.
This is inspiration and not even close to a final idéa. I think I have a RFC styleguide to read if nothing else.
Ps. After looking at what I have written I realized that I have not given up on the idea of Video transfer. I just envision it as media player and downloader in one.
Also big files in my mind for Geminispace is in the 10-100MByte range.
😎 flipperzero · Jan 19 at 11:51:
NGL I wouldn't mind video playback rendered right on client, maybe could even be possible utilizing such 3rd-party embedded media player defined by what's default on system, of which could be able to parse the video w.o downloading and saving locally to track between the timecode.
That out of the way, I would like to point out in case it's of any interest, but when you click an audio or video file on Lagrange it doesn't automatically permanently download it to your disk. Instead, it makes a temporary internal save of the media and either plays it out in client or prompts an application to open it in, after which is discarded after playback and closed program.
Big files over Gemini (was Video over Gemini) — I was thinking of how you could do Video over the Gemini protocol. And to quell any fears of bloat, I don't mean to embed video but a way to deliver video (and larger audio). My proposal is to use a playlist like file that includes the location of the video segments and timestamps of said segments, so if you want to jump around you only have to download the particular segment and not the whole file. I probably just over engineered something that...