Looking for testers for ES Video Preview on Raspberry Pi
-
@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.
-
@fieldofcows mkv is a container, if I recall correctly. It's likely that you have a mp4 inside (I.e. the codec for the video track would be mpeg4).
I've been looking and most of these consoles will have a resolution of 240p for most games, so I'll resize the videos anyway.
Still, if any of you'd have the chance to check your temperature with 5 mins or so of rendering a 640x480 30fps video on your list view and seeing if it gets anywhere close to 80C, that would be interesting. I'd definitely take you up on the offer @MWGemini - just for benchmarking. :)
But I understand that it can be time consuming.
Cheers and thanks.
-
@pjft Can you link me to a video that is problematic for you? And are you running the script you pasted above via SSH? Also, can you link me to the case you have? How warm is the room the Pi is in? I'l try to replicate your conditions to the best of my ability and will report back.
-
I ran mine for about 10 mins with the oldroom theme with one of the more busy videos and it reached about 75 degrees but went no higher. That's with no cooling and the RPi just sitting on my desk uncased. No temperature warning.
@pjft It's not far off the temperature you are seeing but far enough away that I don't see the throttling.
I'm just having a look at the code to see if there is any way I can cut down on CPU usage.
-
@pjft said in Looking for testers for ES Video Preview on Raspberry Pi:
@fieldofcows mkv is a container, if I recall correctly. It's likely that you have a mp4 inside (I.e. the codec for the video track would be mpeg4).
mp4 (https://en.wikipedia.org/wiki/MPEG-4_Part_14) is also a container (unless you mean mpeg 4 part 10 for example). @fieldofcows said the codec was H.264 (https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC)
-
@pjft You could try to download some movies from emumovies and see if that helps.
Been a member there for probably 7 years now and have never regretted signing up for a lifetime subscription.
With there download tool that you link to your rom folders you can select the quality of the videos that you want to download.
Or just try it out for free.
-
@Rion As far I know, if you are not member the maximum resolution for video you can download is 320x240.
-
@Nismo Oh thats a bummer. But then again 320×240 should put a lot less stress on the cpu.
But then again it's definitely worth signing up for the great service they provide.
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.