A feladat videókat lejátszani végtelenítve, gombnyomásra másik videót lejátszani - végtelenítve, és új videó lejátszásakor minél mínőségibb átmenet az új videóba.
Gugliztam is meg törtem a fejem mókás és egyszerű megoldáson. Eddig jutottam:
framebufferbe lejátszani ffmpeg-gel.
- rpi bootol és belefut egy végtelen ciklusba: inotifywait egy.file írás figyelése
- egy.file tartalmazza a ffmpeg parancsot és persze a videofile nevét
- mini weblapon vagy ssh-n új tartalmat írok egy.file -ba és erre egyből
- előző ffmpeg killed és új ffmpeg játsza a következő videót framebufferbe (vt1-en)
Ez nem lesz interneten, csak lanon.
ffmpeg nem játszik le framebufferbe akármilyen pixelformatot.
Valakinek esetleg best practice meglátása? Kiost módban futtatott vlc X-en esetleg Wayland+Cage+VLC
Hozzászólások
mpv (webkamerákhoz használom)
Ez már döfi! :) Köszi!
videolooper.de
Van az rpi-n egy kétoldalas alumínium hűtőborda, ez persze melegszik....
Egyszerűbben dekódolható + optimális pixelformátumú videóval lehet-e hőtermelést spórolni?
Biztos, hogy csak framebuffer jó? Mert X-es alkalmazás is épp úgy használható, akkor nem lesz tearing, lesz hardveres gyorsítás, kirajzoláshoz és dekódoláshoz is. Ráadásul mert X van, ahhoz nem kell komplett ablakkezelő vagy asztali környezet, lehet mindjárt startx-szel a konkrét alkalmazást vagy szkriptet indítani.
Pl. a shell rc-jébe beleszerkeszted, hogy mikor tty2-őn lépsz be, akkor automatikusan indítsa a startx ~/videoloop parancsot, a videoloop nevű szkritpbe, meg beteszed végtelenített lejátszást vagy mpv-vel vagy ffmpeg-gel. Pl. startx mpv /eleresi_utja_a_videoknak/*
A ~/.config/mpv/mpv.conf-ba beteheted ezt a sort is
fullscreen=yes
Így teljes képernyőn nyomatja a videókat, a videók között a relációs jeles (kacsacsőrös) billentyűkkel tudsz ugrálni.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
Tehát framebuffer üzemben nem lesz hardveres gyorsításom?
Próbálgatom így is, úgy is, nézem mekkora a CPU load, a hőmérséklet, holnap majd a X-et is kipróbálom ablakkezelő nélkül.
Annyira szerettem volna mindig is valami framebuffer usecase-t találni, de ha az annyival hatékonytalanabb erre a feladatra, továbblépek.
Hardveres dekódolás lehet lesz, bár abban sem vagyok biztos, de kirajzolási gyorsítás semmiképp.
Az a baj, hogy a framebufferben nincs vsync, csíkozhat a képernyő, meg villódzás léphez fel, színhűség se biztos, hogy olyan jó lesz, ráadásul sok képjavító effekt is olyan, hogy GPU kell hozzá. A tty nagyon fapad, hidd el. Próbálgathatod, mert az mpv támogatja, de nem lesz jó élmény rajta a videózás.
“The world runs on Excel spreadsheets.” (Dylan Beattie)
Pi Zero 2 W = kis memóriás pi3.
A régi oprendszerével omxplayerrel konzolból is szépen tudott játszani fullhd h264-et (vagy megvett licensszel vc1 és mpeg2-őt is). Nem tudom az aktuális raspberry pi os alatt van -e ennek megfelelő tool vagy teljesen dobták a konzolos lejátszást. Bár a lenti link alapján gstreamer és cvlc lehet tudja.
Effektes áttűnéstes átmenetet kb el lehet felejteni, hardveres gyorsítás csak lejátszani tud, nem valós idejű videót renderelni úgy mint egy videóvágó program.
Itt valaki régi pi1-essel próbál konzolos lejátszást, ennél csak jobb lehet a pi3 alapú zero2.
https://www.downtowndougbrown.com/2024/06/playing-1080p-h-264-video-on-…
A régi zero1 a régi oprendszerrel és omxplayerrel (hang nélkül) képes volt 4 sd videót is játszani egymás meleltt konzolból https://www.youtube.com/watch?v=tLxiXDkzFo0
A 4 hang dekódoláshoz kevés volt az 1 magos procija, de zero2-vel valsz simán működne az is.
Teljesen másik irány az, hogy libreelec rendszerrel csinálsz meg hasonlót. Az X nélküli opengl es alapú felületen futtat Kodit. Elvileg azon is futhatnak háttérben scriptek, lehet okosítani, vezérelni a lejátszást.