Looking for testers for ES Video Preview on Raspberry Pi
-
@HurricaneFan Please can you try the megadrive-genesis video pack i uploaded a few post ago?
https://mega.nz/#!h9lEERaY!Kk6AdgQXSp2FKXJDBbujHGPFNRPtYnaZuir8HznWCrw
Thank you.
-
So, my last inputs on this whole research for the week. Won't have access to my RPi for a few days as I'm out for work. @fieldofcows @MWGemini
- Kodi performs fantastically better at rendering the 640x480@60fps video (the one that ES couldn't as it rendered artifacts, and stuttered). Not only that, it does that at a temperature that's lower and needs lower CPU speed than EmulationStation idle. Likely because it's doing most of the work on the GPU, though I'm not an expert here. The only thing I think I read about in the past was that the reported speed was the rolling CPU clock speed average from the most recent (something) period. So that's interesting that in Kodi it's sometimes reported as 600Mhz when rendering the video.
- EmulationStation in idle state still heats the CPU more than Kodi in idle, or rendering the videos. I didn't leave it until it plateaued, but Kodi was in the 45C range rendering the video, whereas EmulationStation idle was climbing slowly towards 55C. I then ended up turning the RPi off as I have to do other things tonight still.
Here's the log, hope it helps:
-- In Emulation Station, just booted --
Time: 21:58:50 - CPU Speed: 1200 MHz - CPU Temp: 51.5°C - GPU Temp: 52.1°C
Time: 21:58:55 - CPU Speed: 1200 MHz - CPU Temp: 49.3°C - GPU Temp: 49.4°C
-- Opening Kodi --
Time: 21:59:00 - CPU Speed: 1200 MHz - CPU Temp: 48.3°C - GPU Temp: 48.3°C
Time: 21:59:05 - CPU Speed: 1200 MHz - CPU Temp: 47.2°C - GPU Temp: 47.2°C
Time: 21:59:10 - CPU Speed: 1200 MHz - CPU Temp: 46.6°C - GPU Temp: 46.2°C
Time: 21:59:15 - CPU Speed: 600 MHz - CPU Temp: 44.5°C - GPU Temp: 44.0°C
Time: 21:59:20 - CPU Speed: 600 MHz - CPU Temp: 42.9°C - GPU Temp: 43.5°C
-- Launched 640x480 60fps video --
Time: 21:59:25 - CPU Speed: 600 MHz - CPU Temp: 42.9°C - GPU Temp: 42.9°C
Time: 21:59:30 - CPU Speed: 600 MHz - CPU Temp: 42.9°C - GPU Temp: 42.4°C
Time: 21:59:35 - CPU Speed: 1200 MHz - CPU Temp: 46.1°C - GPU Temp: 46.2°C
Time: 21:59:40 - CPU Speed: 1200 MHz - CPU Temp: 46.6°C - GPU Temp: 46.2°C
Time: 21:59:45 - CPU Speed: 600 MHz - CPU Temp: 45.0°C - GPU Temp: 44.5°C
Time: 21:59:50 - CPU Speed: 1200 MHz - CPU Temp: 45.0°C - GPU Temp: 44.5°C
Time: 21:59:55 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 44.0°C
Time: 22:00:00 - CPU Speed: 1200 MHz - CPU Temp: 46.1°C - GPU Temp: 45.6°C
Time: 22:00:05 - CPU Speed: 1200 MHz - CPU Temp: 46.1°C - GPU Temp: 46.2°C
Time: 22:00:10 - CPU Speed: 600 MHz - CPU Temp: 45.0°C - GPU Temp: 45.1°C
Time: 22:00:15 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 44.0°C
Time: 22:00:20 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 44.0°C
Time: 22:00:26 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 44.0°C
Time: 22:00:31 - CPU Speed: 600 MHz - CPU Temp: 43.4°C - GPU Temp: 44.0°C
Time: 22:00:36 - CPU Speed: 600 MHz - CPU Temp: 43.4°C - GPU Temp: 44.0°C
Time: 22:00:41 - CPU Speed: 600 MHz - CPU Temp: 42.9°C - GPU Temp: 42.9°C
Time: 22:00:46 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 43.5°C
Time: 22:00:51 - CPU Speed: 600 MHz - CPU Temp: 42.9°C - GPU Temp: 43.5°C
Time: 22:00:56 - CPU Speed: 1200 MHz - CPU Temp: 45.0°C - GPU Temp: 45.1°C
Time: 22:01:01 - CPU Speed: 1200 MHz - CPU Temp: 45.6°C - GPU Temp: 45.6°C
Time: 22:01:06 - CPU Speed: 1200 MHz - CPU Temp: 45.6°C - GPU Temp: 45.6°C
Time: 22:01:11 - CPU Speed: 600 MHz - CPU Temp: 45.0°C - GPU Temp: 45.1°C
Time: 22:01:16 - CPU Speed: 600 MHz - CPU Temp: 44.5°C - GPU Temp: 44.5°C
Time: 22:01:21 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 44.0°C
Time: 22:01:26 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 44.5°C
Time: 22:01:31 - CPU Speed: 600 MHz - CPU Temp: 43.4°C - GPU Temp: 44.0°C
Time: 22:01:36 - CPU Speed: 600 MHz - CPU Temp: 44.0°C - GPU Temp: 44.0°C
-- Quit Kodi back to EmulationStation --
Time: 22:01:41 - CPU Speed: 1200 MHz - CPU Temp: 46.1°C - GPU Temp: 46.2°C
Time: 22:01:46 - CPU Speed: 1200 MHz - CPU Temp: 47.7°C - GPU Temp: 47.8°C
Time: 22:01:51 - CPU Speed: 600 MHz - CPU Temp: 45.0°C - GPU Temp: 45.6°C
-- Just leaving EmulationStation idle on list view (i.e. titles only, ) --
-- (no description, no artwork, no videos) --
Time: 22:01:56 - CPU Speed: 1200 MHz - CPU Temp: 48.3°C - GPU Temp: 48.3°C
Time: 22:02:01 - CPU Speed: 600 MHz - CPU Temp: 49.3°C - GPU Temp: 49.4°C
Time: 22:02:06 - CPU Speed: 1200 MHz - CPU Temp: 50.4°C - GPU Temp: 51.5°C
Time: 22:02:12 - CPU Speed: 600 MHz - CPU Temp: 50.4°C - GPU Temp: 50.5°C
Time: 22:02:17 - CPU Speed: 600 MHz - CPU Temp: 50.4°C - GPU Temp: 50.5°C
Time: 22:02:22 - CPU Speed: 600 MHz - CPU Temp: 51.0°C - GPU Temp: 50.5°C
Time: 22:02:27 - CPU Speed: 600 MHz - CPU Temp: 50.4°C - GPU Temp: 51.5°C
Time: 22:02:32 - CPU Speed: 600 MHz - CPU Temp: 50.4°C - GPU Temp: 50.5°C
Time: 22:02:37 - CPU Speed: 600 MHz - CPU Temp: 52.0°C - GPU Temp: 52.6°C
Time: 22:02:42 - CPU Speed: 600 MHz - CPU Temp: 51.5°C - GPU Temp: 51.5°C
Time: 22:02:47 - CPU Speed: 600 MHz - CPU Temp: 52.6°C - GPU Temp: 53.2°C
Time: 22:02:52 - CPU Speed: 600 MHz - CPU Temp: 52.6°C - GPU Temp: 52.1°C
Time: 22:02:57 - CPU Speed: 600 MHz - CPU Temp: 52.6°C - GPU Temp: 53.7°C
Time: 22:03:02 - CPU Speed: 600 MHz - CPU Temp: 53.6°C - GPU Temp: 52.6°C
Time: 22:03:07 - CPU Speed: 600 MHz - CPU Temp: 52.6°C - GPU Temp: 52.1°C
Time: 22:03:12 - CPU Speed: 600 MHz - CPU Temp: 52.6°C - GPU Temp: 52.6°C
Time: 22:03:17 - CPU Speed: 600 MHz - CPU Temp: 52.6°C - GPU Temp: 52.6°C
Time: 22:03:22 - CPU Speed: 600 MHz - CPU Temp: 53.1°C - GPU Temp: 52.6°C
Time: 22:03:28 - CPU Speed: 600 MHz - CPU Temp: 52.6°C - GPU Temp: 52.6°C
Time: 22:03:33 - CPU Speed: 600 MHz - CPU Temp: 53.6°C - GPU Temp: 53.7°C
Time: 22:03:38 - CPU Speed: 600 MHz - CPU Temp: 53.1°C - GPU Temp: 53.2°C
Time: 22:03:43 - CPU Speed: 600 MHz - CPU Temp: 53.6°C - GPU Temp: 53.2°C
Time: 22:03:48 - CPU Speed: 600 MHz - CPU Temp: 53.6°C - GPU Temp: 53.2°C
Time: 22:03:53 - CPU Speed: 600 MHz - CPU Temp: 53.1°C - GPU Temp: 53.2°C
Time: 22:03:58 - CPU Speed: 600 MHz - CPU Temp: 53.6°C - GPU Temp: 54.2°C
Time: 22:04:03 - CPU Speed: 600 MHz - CPU Temp: 53.6°C - GPU Temp: 53.7°C
Time: 22:04:08 - CPU Speed: 600 MHz - CPU Temp: 53.6°C - GPU Temp: 54.8°C
Time: 22:04:13 - CPU Speed: 600 MHz - CPU Temp: 54.7°C - GPU Temp: 54.8°C
Time: 22:04:18 - CPU Speed: 1200 MHz - CPU Temp: 54.2°C - GPU Temp: 54.2°C
Time: 22:04:23 - CPU Speed: 600 MHz - CPU Temp: 54.7°C - GPU Temp: 54.8°C
Time: 22:04:28 - CPU Speed: 1200 MHz - CPU Temp: 55.8°C - GPU Temp: 56.4°C
Time: 22:04:33 - CPU Speed: 1200 MHz - CPU Temp: 56.3°C - GPU Temp: 56.4°C
Time: 22:04:38 - CPU Speed: 1200 MHz - CPU Temp: 53.1°C - GPU Temp: 53.2°C
Time: 22:04:44 - CPU Speed: 1200 MHz - CPU Temp: 52.6°C - GPU Temp: 52.6°C
Time: 22:04:49 - CPU Speed: 1200 MHz - CPU Temp: 52.6°C - GPU Temp: 52.1°C
Time: 22:04:54 - CPU Speed: 1200 MHz - CPU Temp: 52.0°C - GPU Temp: 52.1°C
Time: 22:04:59 - CPU Speed: 1200 MHz - CPU Temp: 51.5°C - GPU Temp: 51.5°C
Time: 22:05:04 - CPU Speed: 1200 MHz - CPU Temp: 55.3°C - GPU Temp: 55.8°C
Time: 22:05:09 - CPU Speed: 1200 MHz - CPU Temp: 56.9°C - GPU Temp: 56.9°C@Nismo: maybe you missed it, but I tested one of your videos earlier and it did, indeed, show the same behavior as the other 640x480@30 videos, and led to overheating.
Have a great week!
-
@Nismo Downloading now. I'll try to get this tested tonight on my pi3.
-
@Nismo I've downloaded your videos, but I have to update my gamelist.xml. I haven't converted my genesis collection to use your new theme yet. So far I've tested NES and SNES videos so far.
-
@pjft Thank you very much for your testing, i hope you enjoy your travelling and not tooo much work.
@HurricaneFan Same for you, thanks for testing, you don't need to use my theme, you only need to use the videos with any theme with video support. Thanks again.
My interest it's on the videos not in the theme, because i did a lot of re-encoding and i'm affraid all that time re-enconding, it's time lost if i need to dowscale all the videos.
I was just about to open the thread for my theme, and if a need to dowscale all the videos again.... it will take to me almost one month to re-encode again.
My first idea was not to much filesize videos with good quality for previews for use with a little SD card, but now i'm thinking that downscale it's better for performance...
And I have to say, that i do that re-encoding process for all people helping this project, because i use full quality videos under windows, and I want to contribute this project as best i can, so that re-encoded videos are for the forum, not for me, that's because I need to know what's the best for rpi, because I don't have one.
I will upload more art, stay tuned.
Regards to both.
-
@Nismo Thank you for all that you have done so far. I use the application Handbrake to queue up all my videos to re-encode. It takes a while for the number of videos I have but its super nice just setting it up and letting it do all the work without me needing to do anything.
-
@HurricaneFan I know what is handbrake, and it's very limited, I know how to re-encode videos and how to batch re-encode, but I need to have all the advanced options available and handbrake it's a very limited program, I don't need programs for batch encoding, I only need people who can test videos, and find the best parameters for a rpi, because i don't have one, I know how to encode and batch encode videos and resize, apply effects, etc, etc.
Only need people who can test my videos because I use windows and i don't want to loose my time if I need to reencode all my videos for downscale.
I don't need optimized videos for me, but i'll try to do it for people with rpi, optimizing filesize, and no temps problems, because I'm trying to do my best for this great forum.
-
@Nismo Thanks Nismo. As I stated, in its current incarnation it's not ideal, but I have hopes that maybe the EmulationStation video performance can be adjusted, so I'd hold off on re-encoding everything as maybe things will improve.
Thank you for all the hard work!
-
@pjft said in Looking for testers for ES Video Preview on Raspberry Pi:
but I have hopes that maybe the EmulationStation video performance can be adjusted
Funny you should say that. I had play with this last night trying to work out where the high CPU usage stems from. I disabled all rendering code and just left the VLC library rendering into a buffer and the CPU usage (measured through the temperature gain) was the same.
At the moment, VLC is configured to reformat the video pixels to RGBA8888 so I tried some different encoding formats. The native format for my videos takes a bit more work so I just tried some others such as RV16 and RV32. This seemed to make quite a significant difference to the temperature of the pi and is a fairly quick fix to try. I'll put a build together, hopefully tonight for some people to try out to see if it makes a difference.
I don't know much about video formats but is there a prevailing format that is used by most videos/codec? According to https://wiki.videolan.org/YUV/#I420, "I420 is by far the most common format in VLC. Most video decoders output raw pictures in I420 format". If I add direct translation from that format then maybe it will alleviate the problem.
-
@fieldofcows I didn't in any way mean it in a way to suggest anything or put pressure on anyone - apologies if that's how it came across. :)
I just meant, from a technical, conceptual point of view, all things equal the video rendering should be able to perform similarly in ES as outside of ES, or at least incrementally similarly.
Should we encode videos differently or is it a rendering tweak? If I'm honest, I believe my videos are encoded like yours. Also, if people resort to Emumovies as a common source, then I'd say optimizing for those would be best as it's more likely that this videos are used by the majority.
I'm thinking of checking how Kodi actually renders videos. Will see what I can find in the coming days.
Thanks for all!
-
@pjft I wasn't feeling pressured -I just like to fix things :)
I have two rpi 3s and both of them run the same temperature with my videos. I have spent some time watching the temperatures with the script and they do indeed increase over time but plateau at about 75-76 degrees. I'm sure putting them in a case would reproduce the issue.The problem is that we are at the mercy of VLC with regards to performance. All we can do is tweak the settings and configuration in VLC to reduce it's workload and try to perform an ES/rpi optimisation on the remaining work. That's what I'm currently trying. VLC is doing a fantastic job - I was surprised this worked at all without GPU acceleration.
However, looking at how kodi works is a good idea. Does it use VLC? Something else? Can it render into a window or is it full screen only? I've never used it myself so if you can provide some information on this then that would be fantastic.
-
@fieldofcows Have you never used kodi? Well then you have been missing out on alot 😉.
There is alot info avaliable on Wikipedia
-
@fieldofcows I actually don't know. I know there's a Github repository:
Will need to look into it when I'm back. As far as I'm aware, it uses its own player (DVDPlayer), and it states the codecs it's using for different purposes:
http://kodi.wiki/view/DVDPlayer
I see some mentions of omxplayer in the dependencies, though I am unsure whether that's the one it's using. However in the search I found this article on HW acceleration - see if this helps your work on VLC, though:
https://www.oblivion-software.de/index.php?id=56&type=98
If you have RetroPie on your RPi, you can install Kodi on it - I believe it's in the Optional Packages.
https://github.com/retropie/retropie-setup/wiki/KODI
Look into it if it suits.
Thanks!
EDIT: @fieldofcows is there a way to load VLC from the command line as a standalone, or open a video with it from the command line? I'd be happy to test things out as well that way. I'm unsure whether you're just linking to it and using it as a library, or if peer chance it's also installing a standalone player.
-
@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.
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.