Looking for testers for ES Video Preview on Raspberry Pi
-
@pjft said in Looking for testers for ES Video Preview on Raspberry Pi:
a (humble) suggestion for you to consider, should you find it interesting.
That is a good idea, and I've added it to the metadata design proposal doc that I have on the go. You can see (and comment on) the doc here.
-
@mattrixk @pjft , I have already splitted the go-to-random feature out into a separate PR for @fieldofcows' Screensaver branch.
So if he has time to look at it, it might hitch a ride with that feature. -
@Zigurana Great to hear!
I'll hope to get back to the Kids features in the future, but right now my kids are yet too young to play, so it's not as short term a priority as the other ones. :)
Cheers!
EDIT:
By the way, 60fps videos struggle to render properly on my RPi3 - maybe there's a lot going on, or it's VLC, or the USB drive doesn't have enough speed to cope with the throughput (weird), but I find that 60fps videos will have a lot of artifacts and fail to render correctly, whereas 30fps work like a charm.
Just a note. Anyone else has the same experience?
I've converted mine to 30fps via Handbrake.
-
@pjft AttractMode with MMAL can just about run 480p videos on the Pi. Someone will correct me if I'm wrong but the ES video integration doesn't use hardware acceleration and therefore high quality videos will be slow (if they work at all).
-
@robertybob thanks for the note.
Indeed, after a while of fiddling, I notice that my RPi3 starts to overheat quite quickly when watching these videos. It's weird though, as I can stream stuff from Kodi without it overheating, as well as playing files from the drive with higher resolution.
I wonder what makes it so that in emulationstation it's much more taxing on the CPU/GPU. Any ideas? Is it VLC?
I guess I'll have to install a heat sink.
-
@pjft it doesn't use the RPI GPU for hardware video decoding like Kodi, so will use a lot more CPU.
-
@BuZz Got it. Thanks for the explanation.
Edit: though a follow up question (which maybe @fieldofcows will be better equipped to answer given it's his implementation): is that an issue with the VLC/Video plugin we're using in ES (meaning that it could eventually be improved) or is it endemic to ES, meaning we're out of luck for the foreseeable future?
Cheers, thank you.
-
@pjft It's something I've thought about in the past. There is no reason why we shouldn't be able to use the gpu for video rendering and vlc does support it. However I don't know if it's available for use outside X.
When I tried it many months ago with vlc and sdl it didn't seem to make any difference to the performance so I was either setting it up incorrectly or it wasn't supported. I'll try it again.
I guess for it to work we would have to let vlc render directly to the screen rather than through an ogl texture. This would mean we couldn't support alpha blending on top of videos when acceleration is used.
Does kodi use the hardware codec when X is not installed? If so then there is no reason why we can't use it.
-
@fieldofcows Thanks for the reply.
I know that what I'm about to say will be technically incorrect, but since I don't know how exactly you measured "performance" (CPU usage, memory, cycles...?), I'll venture a comment here about it. :)
It's not that the videos don't render full speed and with good performance currently, it's just that it seems to be somewhat more taxing on the CPU and causes it to heat up quite quickly - in fact, after a couple full 30 secs videos, it'll usually be showing the temperature warning.
On VLC and X, I don't have X installed to the best of my knowledge - at least not explicitly, only if it's a dependency on VLC/Kodi. It works perfectly fine there (unsure if it's GPU accelerated, though). But, as I said, I usually stream and view local 720p and 1080p videos there with no problem whatsoever, so I guess that's my benchmark.
I personally don't have a problem losing transparencies/alpha blending on top of the video, if we get better performance and lower temperatures.
Could it be the rendering via a texture that's taxing the CPU so much?
-
@fieldofcows yes. Don't need X. Jessie shipped libs probably don't have support. Newer ffmpeg needed etc.
-
@fieldofcows You know I still don't have a rpi, but maybe, and I thinking... maybe you didn't notice performance difference, but maybe.. you didn't pay attention to temperatures...
Maybe, (yes again maybe) rpi can handle videos very well, and you didn't see any difference, but with hardware support it's the same performance but better temps.
It's just my humble opinion since I can't test it.
If it's not way to solve this, maybe (yes again maybe) would be good to include on wiki that for make use of video preview you need a well cooler rpi....
Sorry for my poor english, i hope everybody can understand me.
Regards.
-
@Nismo @fieldofcows I've been stress-testing the WSOD fix recently, and have video previews for some of my games. I've never had the temperature warning, but I do also have a fairly well-cooled Pi (https://www.amazon.com/gp/product/B00M859PA6). I bought that case because I intend to eventually attempt overclocking the Pi, but have not done so yet.
@pjft Are you seeing this with short videos, or only after playing videos for an extended period of time? I.e. should I be able to replicate it by letting a short video loop, or should I go find a longer video and let that loop? Also, what sort of case and cooling do you have on your Pi?
-
@MWGemini I don't have any sort of cooling, I have a case just like @GtBFilms' one. That being said, I have no heatsink applied yet - I bought a separate case for overclocking (actually similar-ish to yours), with a fan and heatsinks to apply but since I hadn't really had the need to (everything I was doing was within reasonable temperatures), I never did it.
I may eventually do it, though the question does stand: if we can get videos performing well and within a good temperature range (even higher quality ones) in RPi3 without any cooling, is there anything we can do in ES or the current implementation to ease the burden on the RPi?
In my case, it really does it after 20-30 seconds into the video - a 30fps 480p mp4 - or, at most, when it loops and repeats (the videos are 30-40 secs long). The moment I stop playback (i.e. exit to the top systems menu) the temperature will start to go down. If you're not seeing it yet, you likely won't see it in your setup - which is probably for the best :)
A question, while you're at it: does your fan make a lot of noise? I really appreciate the RPi at the moment as it's silent.
Anyway, above all I'm extremely thankful that this is available to us even in this form. It's improved my RetroPie setup tremendously, so thank you all - in particular @fieldofcows - for the great work.
EDIT: Apologies. Even though I do not use the OldRoom theme as it is missing a few critical systems for me, @Nismo 's Powershell script to add the video metadata was super. Thank you Nismo as well!
-
@pjft I haven't installed heatsinks on mine either, just that case with the fan. And no, it's not very loud (at least to me), but that's probably very subjective. I also have the whole thing inside a cardboard box at the moment along with all my wiring and accessories, since I haven't gotten around to designing and 3d-printing a case for it yet.
I'll try it without the fan plugged in later and see if I notice any temperature changes. Are you monitoring the temperature solely via the warning indicator, or via some other script/setting/interface/device/etc.?
I imagine it's highly unlikely, but it's possible that your Pi has a manufacturing defect of some sort. If you've got a second Pi, try swapping SD cards and testing on new hardware.
-
@MWGemini Thanks.
I check with scripts as well. It's not a big deal, as I don't spend that much time watching the full movies, but I thought it'd be best to look into it.
As I said, if this happened when watching movies elsewhere, I would certainly side on the possibility of being endemic to my RPi - whether defect, or just being the way it is. But given that it's only in ES, I suspect there may be something we can do here.
And if not, it's alright anyway :)
Have a great evening!
-
@Nismo said in Looking for testers for ES Video Preview on Raspberry Pi:
maybe you didn't notice performance difference, but maybe.. you didn't pay attention to temperatures...
I must admit that I'm surprised that it's possible for software to cause hardware issues just by working the CPU hard. I would expect the CPU frequency to be throttled to the point where even if the cpu was in a tight loop it wouldn't cause the RPi to overheat.
Having said that, I have run my pi for many many hours testing the video preview and I've left it on all day with full-screen video screensaver running and never had an issue with temperature. I'm using a RPi3, not in a case with completely standard image and settings with no additional cooling. I've also never seen an over-temperature warning with my pi inside my mini arcade cabinet (with no fans). Maybe you need to ensure the videos are low resolution and easily decodable?
Maybe there is some optimisation that could be performed to reduce the CPU load - lowering the frame rate or resolution in software for example but I wouldn't have thought it necessary.
-
@fieldofcows I can certainly try to lower the resolution of the videos. Sounds fair, and doesn't shock me that it's suggested. What fps and resolution (and format, while you're at it) are your videos?
-
They seem to be 640x480, 30 FPS, H.264 with AC-3 Stereo 44100Hz 160 KBs audio.
-
@fieldofcows MP4, I assume?
Guess I'm stuck - same here. Happy to try the heatsink route then, or make it . I do live in a warm-ish apartment.
Just to clarify the CPU throttling on the Pi, it does happen after the thermal warning comes up. At that moment it does throttle it so it stops overheating, but at that stage the performance is slightly reduced (from reading, I think speed is throttled from 1200 to... 600?). So yes, it doesn't cause any hardware issues per se.
I'll try a bit more. I do have some videos at different resolutions, so maybe I'll just convert them all to a lower resolution, as soon as I find an optimal one. Have been watching a Dreamcast one for a while and no thermal warning. Temperature rose up to 74C or so, but seems to be stable.
Arcade ones at 320x240 also just take temp to 70C.
But yes, when I get to my HQ 640x480 videos, even at 30fps, it goes quickly to 75C, and after the 4th/5th loop as a texture (i.e. not full screen in the screensaver, but in the list view in Carbon or OldRoom themes), we're into 80C after 4-5 mins.
I'm using the following script to display temperature:
#!/bin/bash
cpuSpeed0=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)
cpuSpeed1=$(($cpuSpeed0/1000))cpuTemp0=$(cat /sys/class/thermal/thermal_zone0/temp)
cpuTemp1=$(($cpuTemp0/1000))
cpuTemp2=$(($cpuTemp0/100))
cpuTempM=$(($cpuTemp2 % $cpuTemp1))gpuTemp0=$(/opt/vc/bin/vcgencmd measure_temp)
gpuTemp0=${gpuTemp0//'/°}
gpuTemp0=${gpuTemp0//temp=/}echo
echo CPU Speed: $cpuSpeed1" MHz" - CPU Temp: $cpuTemp1"."$cpuTempM"°C" - GPU Temp: $gpuTemp0 -
@pjft said in Looking for testers for ES Video Preview on Raspberry Pi:
MP4, I assume?
No, actually MKV.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.