Looking for testers for ES Video Preview on Raspberry Pi
-
@fieldofcows I don't pretend to be an expert by any means on any of this video stuff, three main libraries I know of are ffmpeg, omxplayer, and VLC . I do wonder if there are pi specific optimisations for compilation or if the libraries are more or less standardised. I suppose that's where the difference between hardware acceleration comes in perhaps. Kodi may be a good reference to at least understand how it works for them, but I'm not sure if it would require an optimised build for the pi vs a PC. Just throwing ideas out there
-
Here is some info i found browsing the web.
FFmpeg is a free software project that produces libraries and programs for handling multimedia data. FFmpeg includes libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line program for transcoding multimedia files. FFmpeg is published under the GNU Lesser General Public License 2.1+ or GNU General Public License 2+ (depending on which options are enabled). FFmpeg is developed mostly on Linux,...
FFmpeg is use by a lot of sofware like vlc, firefox, mpv, chromium and a lot more !
It use libavcodec library which is part of FFmpeg which contains all decoders, encoders and parsers of each type of video/audio formats.libavcodec is a free and open-source library of codecs for encoding and decoding video and audio data. libavcodec is an integral part of many open-source multimedia applications and frameworks. The popular MPlayer, xine and VLC media players use it as their main, built-in decoding engine that enables playback of many audio and video formats on all supported platforms. It is also used by the ffdshow tryouts decoder as its primary decoding library. libavcodec is also used in video editing and transcoding.
-
This post is deleted! -
Attract Mode uses FFmpeg, no one has yet reported the same overheating issues with it?
-
I may have a solution to the overheating problem. Give me a couple of hours and I'll try to get a version out for people to try.
-
@fieldofcows I haven't yet had time to replicate what @pjft posted earlier, but I'm hoping to get to that today. Do you want me to do a before and after test, or just test one or the other?
-
@MWGemini before and after would be fantastic.
-
@fieldofcows You got it. I'll see if I can do the "before" test now. Give me an hour or so to get it reconfigured, and I'll report back.
-
@MWGemini I suspect that a before and after test may help, not because of replicating the overheating issue necessarily, but to be able to compare and validate the improved temperature performance with @fieldofcows 's tentative fix by comparing temperature progression and plateaus for the same videos.
I'll only be back in the weekend, so I'm sure to try it out then.
Thanks all!
-
@pjft @fieldofcows Having trouble getting the watch command to work (still figuring out why), so I'm manually running it every few seconds with bash, but here's some initial reports:
With my open case and fan on, my Pi was idling at the carousel view with:
CPU Speed: 600 MHz - CPU Temp: 43.4°C - GPU Temp: 42.9'CAs soon as I started playing a video, temps jumped approx 10°C. After about 3 minutes on a video, they were at:
CPU Speed: 1200 MHz - CPU Temp: 62.3°C - GPU Temp: 62.3'C
Max I saw, after about 7 minutes of letting a video loop, was:
CPU Speed: 1200 MHz - CPU Temp: 63.3°C - GPU Temp: 63.4'CIt seemed to stabilize at these numbers. Specs for this video ('88 games): 640x480, 59 frames per second, 942kbps data rate, 1036kbps total bit rate, 94kbps audio bit rate, 2 channels, 48kHz, 38seconds in length.
I switched to another video, one that has always appeared graphically glitchy (I assumed it was a bad video, but it looks to be decoding issue, since it plays fine on my PC), and let it run for another 5-7 minutes. Max temps I saw there:
CPU Speed: 1200 MHz - CPU Temp: 65.5°C - GPU Temp: 65.0'C
I also noticed additional graphical glitches that were inconsistent with each loop of the video, so there's definitely something going on.
Specs on that particular video (19xx): 640x480, 59 frames per second, 1646kbps data rate, 1802kbps total bitrate, 156kbps audio bit rate, 2 channels, 48kHz, 35seconds in length.I have not yet had a chance to put in the videos that @pjft linked me to earlier or reconfigure my gamelists to show them, but wanted to get some initial data out there. I'll pull my fan and close up the case and repeat these tests.
-
@MWGemini thanks. Yes, sorry - in my last tests I just put together a small self-invoking script of
<Call temperature script>
<sleep 5 seconds>
<Repeat>Thanks for testing. Yes, 60fps videos I found that they end up glitching at different stages in different loops. Sometimes they are not very noticeable but glad you confirmed that.
These are good results with the fan - it took me a bit to understand that you had the fan on - but great nonetheless. I'll be curious with the new build in regards to:
- potentially better temperatures;
- 60fps video performance becoming non-glitchy
Thanks!
-
My Pi idles in the low 50s with the screensaver off, but not doing anything. It's in the low to mid 40s with the screensaver on (this is with the fan on).
With the fan removed and the case closed up a bit, those numbers become low 60s (i.e. 61/62) and 49/50, respectively. These numbers are rough, since I was waiting a while for a steady state to be achieved (or fairly close to it- I only waited about 10-15 minutes max for each trial, often more like 5).
After another ~3 minutes on '88 games (the "good" video), max temps I saw were:
CPU Speed: 1200 MHz - CPU Temp: 75.7°C - GPU Temp: 75.8'C
I also noticed a few graphical glitches (black sections of the video on some frames, or the entire video darkened for a few frames). At 5 minutes in, I saw the temperatur warning, briefly, and had the following measurements:
CPU Speed: 1200 MHz - CPU Temp: 79.5°C - GPU Temp: 80.1'CI switched over the the "bad" video (19xx) for another minute, and temps rose up to:
CPU Speed: 1200 MHz - CPU Temp: 81.1°C - GPU Temp: 81.1'C
At this point, the temperature warning indicator was steadily on, so I opened up the case and reconnected the fan.Summary: Closed case and no active cooling increases temperatures by about 20 °C. Difference between idling with screensaver on and screensaver off is about 10°C. Difference between idling with screensaver off and playing a video is about 10-20°C.
Based on my quick tests, I don't recommend that people keep their Pi in a tightly confined case with no ventilation or cooling. Mine was in a cardboard box about half the size of a shoe box (Amazon size A1, actually).
-
@MWGemini Thank you - that's great (even if unfortunate) to hear. I appreciate you taking the time to perform these thorough tests.
I'm now super excited about the same tests with the new build!
-
@pjft No problem, happy to help! All the credit goes to @fieldofcows, though, as he did all the hard work to write the software to make it work. I'm just trying to make his job a little easier by helping to test and debug it. If/when he posts an update, I'll repeat these tests and post new numbers.
Side note: while playing a SNES game, my temps were the same as idling in a menu (maybe a degree or two higher- ~53-54). While playing an N64 game, my temps were about 58. Those numbers are with open case and fan on, by the way.
-
@MWGemini the only time I had temperature problems playing any games was with Hat Trick Hero 93/Euro Champ 92 on MAME. Other than that, no other game or system gives me trouble - psx, n64, arcade, dreamcast all run well.
Thanks for checking!
-
@pjft No problem.
I also forgot to mention, and this is mostly for @fieldofcows : I performed these tests using your latest release (v4 I believe) of the WSOD fix.
-
That took a bit longer than I hoped...
https://github.com/fieldofcows/EmulationStation/releases/tag/v0.3-RPi-5
Raspberry Pi 3 again (maybe 2 - I haven't tried it). This build launches an omxplayer process which then renders an overlay directly in the area of screen designated for video. So, we now get GPU acceleration.
It's not yet ready for general consumption. I haven't done much testing yet and there are at least these issues:
- The video is always on top. Nothing at present can be rendered over the video. This includes marquees in pixel video theme and the scanlines in oldroom
- The video is rendered on top of GUI menus
I'd appreciate some temperature numbers compared with the previous libvlc renderer from anyone that's willing to try, @MWGemini @pjft :D
-
@fieldofcows I'm on it. Will post numbers shortly.
-
@MWGemini Great, thanks. It makes a big difference to the temperature on mine.
-
@fieldofcows Thanks! As I mentioned earlier, much to my chagrin I'm traveling for work this week so I have no access to my RPi :(
I'll definitely be on it during the weekend. So you found omxplayer to perform better than libvlc so far? That's great to hear. Looking forward to hearing about @MWGemini 's tests, in particular not only about temperature (though that's something I'm definitely interested in!), but also whether it can render those 640x480 60fps movies with no glitches. :)
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.