Looking for testers for ES Video Preview on Raspberry Pi
-
@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.
-
-
Hi all, and apologies for the delay.
Thanks for all the replies, and for all the tips. Thanks @Rion for the Emumovies reference. I had seen others mentioning it in the past, may use them for the 320x240 videos, or end up paying for a sub though the 640x480 videos will just not be good for the RPi as I find that most resolutions above 480x360 end up causing the RPi to slowly, but surely, get hotter until it overheats, whereas this one can still plateau at around 77C-78C. Too close for comfort, but still good.
A question: do they have videos at native resolution - or, alternatively, is there a place with native resolution videos?
EDIT: @Rion - can a premium member download High Quality videos from EmuMovies at 320x240? Or are their HQ ones only at 640x480? Most of the arcade games and console games on these old systems ran at resolutions lower than 320x240, so I fail to see why there wouldn't be 320x240 videos with much crisper definition, like the ones at http://www.progettosnaps.net/videosnaps/ for MAME (great site).
@MWGemini for videos, it's not fully scientific, as the temperature will slowly grow until it plateaus (or crosses) the threshold. You may try this video:
http://www.progettosnaps.net/videosnaps/mp4/astdelux.mp4
Which is 640x480. It should slowly increase temperature until it hits the 80C threshold (or, depending on your air flow, maybe close enough to that).
http://www.progettosnaps.net/videosnaps/mp4/aburner.mp4
is 320x224 I believe, and it'll plateau at lower temperatures, about 73C-74C if I recall correctly.
My case is the official RPi case,
https://www.raspberrypi.org/blog/raspberry-pi-official-case/
Which is close to a full on plastic enclosure of the Pi (which will cause a difference in cooling - or heat release - to @fieldofcows ' experiment, as it was with the RPi out in the open, if I understood correctly).
I have removed two of the the side snap-on parts of the case (the ones where I plug the HDMI cable, and the one next to the GPIO pins) to increase the air flow a little bit around it (see image at https://www.raspberrypi.org/wp-content/uploads/2015/06/construct-500x270.jpg).
Last, I'm running the Carbon theme, with jrassa's pull request to incorporate video in it (https://github.com/RetroPie/es-theme-carbon/pull/20). Which means I downloaded the theme at his GitHub repository: https://github.com/jrassa/es-theme-carbon/tree/video-view
The only change I did was to set
<delay>0.2</delay>
to
<delay>0.01</delay>
like in the OldRoom theme, in the main carbon.xml file, line 103:
https://github.com/jrassa/es-theme-carbon/blob/video-view/carbon.xml
I believe that's the most I can state to help replicate my setup. Truth be told, the first video the problems showed up at were some 60fps, 640x480 video I got from a HyperSpin collection somewhere. You'll likely see the video fail to render properly quite easily.
While I can't remember the exact link for it, from the specifications I suspect you may be well able to replicate it using this video:
https://emumovies.com/files/file/1713-taito-classics-system-intros-hq-480p/
as it states there's one of them at 640x480, 60fps - which I hope free members can download. I'm not at my laptop - traveling for work this week - so I can't test it myself.
My experience (and I suppose expectation for those willing to test it out) is that:
- 640x480 at 60fps (the first video in the Emumovies download link): rendering problems, which was my first comment that led to @BuZz 's comment on hardware acceleration. @fieldofcows I suppose this one, if you all can indeed replicate the rendering problems with it, will be a good one to test hardware acceleration on. I could test it out on Kodi, actually, and see if it renders well.
- 640x480 at 30fps (the second video in the Emumovies download link): should render well, but eventually temperature will go past the threshold. 10 mins perhaps. Hopefully the other video I linked from Asteroids Deluxe would also do the trick - it was the first I found that I had a link for.
I was running
watch n 1 get_temp.sh
where get_temp.sh had the script I pasted earlier to show CPU and GPU 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: $gpuTemp0Still, I hope this helps - even though there'll be different things for all the scenarios.
Thank you all, tremendously, and have a great week!
-
@pjft I'm uploading a pack of videos for megadrive-genesis for your testing.
The videos are at 640x480 30fps but re-encoded by me. The videos aren't in the best quality but I think it's good enough for a little preview with good balance between filesize and quality.
Please can you do some test on the Rpi with my videos? because I don't have Rpi and I need to test if they work well or if I need to downscale the resolution.
I'm planning to upload pack with videos, images, and marquees (wheels) but I need to be sure than the videos will work well on rpi and don't waste time re-encoding if the videos need to be downscaled.
I'll post the download link here in about 1 hour.
Thanks in advance.
-
@Nismo Hi Nismo,
Thank you for the reply. I'll do my best - I'm traveling tomorrow, but today I may be able to squeeze a bit of time to test these out today. In fact, if you can just share one video, I'll just download that one and check it - I won't be able to test out all the videos, but assuming they're all the same, the result would be equivalent.
For the rest of the thread:
I'll try to make a log/report of the temperature using ES and Kodi for the same videos, if they fail. It'd be an interesting comparison, at least for me.
Thanks.
-
@pjft Here you have: https://mega.nz/#!h9lEERaY!Kk6AdgQXSp2FKXJDBbujHGPFNRPtYnaZuir8HznWCrw
Please try with a few of them, because not all videos have the same duration and in consecuence, filesize.
Thanks for testing. -
@pjft said in Looking for testers for ES Video Preview on Raspberry Pi:
EDIT: @Rion - can a premium member download High Quality videos from EmuMovies at 320x240? Or are their HQ ones only at 640x480? Most of the arcade games and console games on these old systems ran at resolutions lower than 320x240, so I fail to see why there wouldn't be 320x240 videos with much crisper definition, like the ones at http://www.progettosnaps.net/videosnaps/ for MAME (great site).
Sure you can. Just point EmuMovies Sync to your rom/roms folder and select the desired quality of the videos you want. It then scans the folder/folders and download the appropriate video snap for that roms with the same name.
-
@pjft said in Looking for testers for ES Video Preview on Raspberry Pi:
watch n 1 get_temp.sh
Thanks for the detailed post! I will try to pull those videos down and modify my gamelists to show them. It might not be today, since I've also got to deal with work stuff... Sometime in the next 48-72 hours or so, probably.
One last question- the command you are running to monitor temperature, you are logging into the Pi via SSH and running that script, correct? Or is that something you have modified EmulationStation to display?
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.