predvajalnik in rezalnik radijskega arhiva


povezava do tega časa in stanja rezalnika+lepilca

skoči na
.
lepilec:
za predvajalnik potrebujete JAVASCRIPT, ki trenutno ni omogočen.
tipkafunkcija
ctrl+klik na oznako komadaA <- začetek komada
shift+klik na oznako komadaB <- konec komada

namig za rezanje dolgih izrezkov: najprej nastavi rezalnik na željen konec izrezka (recimo na zadnji dve sekundi) in s poslušanjem generiranega izrezka preveri, če si konec pravilno ujel. Če ne, ga strimmaj s spreminjanjem milisekund v polju za izbiro časa konca izrezka. Šele ko si zadovoljen s koncem, nastavi začetek rezalnika na začetek željenega izrezka in strimaj še začetek s popravljanjem milisekund v polju za izbiro časa začetka izrezka. Zakaj pri dolgih izrezkih najprej konec? Zato, ker bi moral prenesti cel dolg izrezek v player izrezka (137 MB/uro), da vidiš, da si zajebal konec. Za krajše cute pa je čisto vseeno, ker se par sekund zvoka prenese takoj.

če želiš narediti dolg posnetek, ki je lepljenka več kratkih izrezkov, uporabi lepilec. gumb nov segment doda nov segment v lepilec, z "v rezalnik" pa izberemo, kateri segment urejamo v rezalniku.

sveža vsebina v ta predvajalnik pride vsako minuto avtomatično (ni treba osveževati strani)

pripombe/predlogi/težave/nedelovanje: kontakt anton@sijanec.eu ali antons na chatu


TODO (kako je treba izpopolniti ta program):
  • integracija s sajtom: link do arhiva na oddajah brez prispevka, link do oddaj brez prispevka (scrolling seznam, pozicioniran glede na glavo) v arhivu z gumbi za dodajanje trenutne lepljenke kot posnetek prispevka (opcijsko tudi za javnost, torej da javnost lahko posluša tudi 3h za in 3h pred začetki oddaj brez gesla -- generiramo seznam dni, ki vsebujejo oddajo, ki nima prispevka, dodamo vsakemu dnevu še en prejšnji in en naslednji dan in to damo nginxu, na client sideu pa naredimo bolj strikten checking. no, idealno bi bilo izboljšati auth, glej NOTE05)
  • naj tipke naprej/nazaj na oznaki B predvajajo zadnjo sekundo posnetka (doable client side, pač zahteva zadnjo sekundo od cut.sh)
  • onerror waveforma: če odpremo sajt tako da je kos v m3u ampak še ni waveforma, dobimo broken image namesto zadnjega waveforma. recimo to se lahko zgodi ko odpremo na začetku ure. v resnici je lahko tudi problem z waveformi če requestamo med generiranjem m3uja in waveforma, ker se dolžina v m3u ne ujema z waveformom. treba je na serverju updejtat m3u samo ko se zgenerirajo waveformi do konca
  • Switch from simple HTML5 audio to MediaElementAudioSourceNode for gapless playback that fetches pieces via cut.sh. To bo zajebano, ker so chunki zelo veliki. Recimo HLS libi ne znajo hendlat tega streama. Lahko pa naredimo en hack. Lahko naredimo nek konglomerat cut.sh in zadnji.sh, ki generira fake file za podan dan. Zakaj samo dan in ne cel arhiv? Ker je po mojem edini način, da seeknemo na n-ti bajt fake fajla, ki ga generira ffmpeg, da vržemo stran prvih n bajtov, ki jih generira ffmpeg. To bo hitro postalo potratno. En dan je dober kompromis. Uporabniki bodo doživeli kratek hiccup samo iz enega dneva na drugega, zdaj pa ga iz ene na drugo uro. Ja to je dobra ideja.
  • NOTE05: popravi auth na nekaj, kar lahko ujameš, da izboljšaš ne-logged in izkušnjo (trenutno vrže alert (2026-06-22: fixed) in treba je met un ogabn "prijavi se" gumb, najlažje z https://nginx.org/en/docs/http/ngx_http_auth_request_module.html in https://dev.to/gbhorwood/nginx-serving-private-files-with-x-accel-redirect-57dl za audio fajle