RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Please test: Using OMXPlayer as video renderer

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiovideotemperature
    104 Posts 11 Posters 46.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • pjftP
      pjft @Nismo
      last edited by

      @Nismo Thank you sir! I had seen it earlier but I see you have added a few more now - I'll look into those and certainly update my OldRoom theme :)

      N 1 Reply Last reply Reply Quote 1
      • N
        Nismo @pjft
        last edited by Nismo

        @pjft Yes I'm uploading art regularly, so keep tuned. Also a big update is coming for the theme, with some bugfixes and more systems.

        Please if you try my videos, can you tell my if you have some temps or glitches problems?

        Thanks.

        1 Reply Last reply Reply Quote 2
        • pjftP
          pjft
          last edited by

          @Nismo I certainly will. Truth be told, I haven't had much time with tinkering with my Pi recently, but I definitely want to do so. I will let you know how those go!

          Thanks.

          1 Reply Last reply Reply Quote 1
          • M
            MWGemini @pjft
            last edited by

            @pjft Awesome writeup, and I agree. Personally, temperature is not a concern for me, as I have a fan on my case, and I plan to add heatsinks in the near future (and then try overclocking). My main concern is can the videos all play without graphical artifacts. I'm a little OCD about things, so if given the choice, I would want the higher resolution, higher framerate videos in my personal collection.

            @fieldofcows how difficult would it be to add a menu option (under UI options perhaps) for renderer switching? It would save me the trouble of having to exit ES and modify a config file every time I try to test, which saves me a ton of time, as ES takes about 8 minutes to load with my massive collection (we gotta get on that metadata fix... let's talk ;) ). It would also make it easy for non-technical users to switch, after they search for the "my videos look funky" problem (the new WSOD, since your fix eliminated that problem :) ) and discover that it's not really a bug in ES.

            And to reiterate what @pjft said, thank you for all your hard work. As a developer, I know how painful, frustrating, and time consuming it can be to fix problems like this, and I know how frustrating it can be to feel "defeated" by what seems like it should be a simple fix. You've done awesome work, you've helped breathe new life into the community, IMHO, and I know I'm not the only one who recognizes that.

            1 Reply Last reply Reply Quote 2
            • fieldofcowsF
              fieldofcows
              last edited by

              Lots of things to reply to here but I'll keep this brief.

              Firstly, thanks for all the recognition. However, I wouldn't be doing it if I didn't enjoy it so seeing people benefiting and enjoying the changes I make is a good reward.

              With the video renderer selection - I can add a menu option to change the player. That's not a problem. I'll add that in and build another version for testing.

              I think there is one more thing I would like to try before we put this to bed though. I'm going to see if the format conversion from the output of the codec to RGB in VLC is causing a significant CPU load (i.e. I'll comment it out and see if the temperatures stabilise) and if so I'll see if I can cobble together a shader to move the conversion into the GPU. That might just make enough difference to mean that the average pi doesn't need cooling.

              @MWGemini - I've started looking again at the metadata changes. That is next in my queue.

              @Nismo - thanks as always for your suggestions and support :)

              M N 2 Replies Last reply Reply Quote 5
              • M
                MWGemini @fieldofcows
                last edited by

                @fieldofcows I'm happy to help with the development (and testing too of course) of the metadata changes- it's too big of a task to have to do it alone.

                1 Reply Last reply Reply Quote 3
                • N
                  Nismo @fieldofcows
                  last edited by Nismo

                  @fieldofcows I have a little request for you "to do" list...

                  Option in ES UI to adjust the time to start scrolling description metadata. It can be values from 1 to 5, or values in milliseconds... actually it's very slow for my taste.

                  I have some ideas in my head, but I don't want to say anyone yet, you have enough work to do yet.

                  @MWGemini I really appreciate your interest in this project.

                  1 Reply Last reply Reply Quote 1
                  • pjftP
                    pjft
                    last edited by

                    @fieldofcows Only today have I managed to try out your latest release, and it doesn't seem to show any video in OMX mode, only in VLC.

                    I tried building it with the latest code, and still the same - only now it has the video screensaver, which is great!

                    Maybe something went awry with the refactoring? Any way I can debug it? Your initial OMX-only build worked perfectly. I was looking at the code changes, but they're just too many for me to be able to thoroughly revert on my own :(

                    Hope you're all doing well.

                    fieldofcowsF 1 Reply Last reply Reply Quote 0
                    • fieldofcowsF
                      fieldofcows @pjft
                      last edited by

                      @pjft Where did you get 'the latest code'? I haven't had any time recently and haven't managed to look at this for a while. I use my dev branches in github as a convenient way to move my current working set between systems so you cannot rely on them to be working all the time.

                      I'm still not sure really where to go with this. I like the embedded omxplayer but having seen the (few) themes that are using video, they do mostly overlay images on top of the video. I don't want to break them.

                      I have been investigating shaders as I said in a previous post. However, ES uses OpenGL ES V1 so shaders aren't available without a bit of rework. I am playing around with this though just for fun.

                      1 Reply Last reply Reply Quote 0
                      • pjftP
                        pjft
                        last edited by

                        @fieldofcows From your github video_process_dev branch - but even the one on the Releases, that's in the first topic of this thread, exhibits the same behavior.

                        It's fine, by all means - I was just going to test it out today as I had an hour or so.

                        I wasn't asking for any additional developments - even though, to be frank, your latest build with (theoretically) omxplayer and the screensaver would be ideal for me. Right now I'm running your latest VLC one with screensaver :)

                        Thanks anyway.

                        Do you have your new RPi3? :)

                        fieldofcowsF 1 Reply Last reply Reply Quote 0
                        • fieldofcowsF
                          fieldofcows @pjft
                          last edited by

                          @pjft said in Please test: Using OMXPlayer as video renderer:

                          Do you have your new RPi3? :)

                          Yep. Up and running again. And in a case this time :)

                          pjftP 1 Reply Last reply Reply Quote 3
                          • pjftP
                            pjft @fieldofcows
                            last edited by

                            @fieldofcows Great to hear! ;)

                            pjftP 1 Reply Last reply Reply Quote 0
                            • pjftP
                              pjft @pjft
                              last edited by

                              @fieldofcows Well, after digging a bit into the code and troubleshooting things, it turns out it's because there's a particular video profile that OMXPlayer still does not support:

                              https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142204

                              I noticed it when some videos actually worked where others didn't, and it stumped me.

                              I'm re-encoding my few videos that don't suit the profile, and should be good to go. I'm sticking to your latest OMX+Screensaver build for the time being :)

                              Thanks for everything here!

                              1 Reply Last reply Reply Quote 1
                              • pjftP
                                pjft
                                last edited by pjft

                                @fieldofcows I was going to submit a pull request for the OMXPlayer implementation, but in doing my changes I end up creating other problems. :)

                                Summary:

                                in VideoPlayerComponent.cpp , I had changed these two lines to the following:

                                const char* argv[] = { "", "--win", buf, "--layer", "10000", "--loop", "--no-osd", "-b", "--aspect-mode", "letterbox","", NULL };
                                argv[10] = mPlayingVideoPath.c_str();
                                

                                It keeps the aspect ratio of the movies (noticeable for vertically-oriented videos) :) But, on the flipside, for the screensaver it doesn't hide the background (theme, screen, etc).

                                It was a brief attempt at helping out, but the new problem makes it worse than before - I'd rather have stretched video than screensavers that hide only part of the screen :)

                                Have a great weekend!

                                fieldofcowsF 1 Reply Last reply Reply Quote 1
                                • fieldofcowsF
                                  fieldofcows @pjft
                                  last edited by

                                  @pjft I haven't tried this change to see what you mean about the screensaver but I'm guessing rendering a screen-sized black box behind the video in the screensaver will fix this.

                                  pjftP 1 Reply Last reply Reply Quote 0
                                  • pjftP
                                    pjft @fieldofcows
                                    last edited by

                                    @fieldofcows yes, that is correct, and it's what I ultimately am trying to do on my own, in a - what I imagine - very suboptimal manner :)

                                    I'll share whatever I come up with. It's been a very long time since I've done any C++ programming, but this does not in any way strike me as a tremendous challenge. And I've been meaning to do something, however minor, for the project, so this sounds like an easy thing (famous last words).

                                    I do have a very poor development workflow at the moment, though. I'm on a Mac, so I'm using Sublime (which is little more than a beefed up Notepad, kind of like the old UltraEdit) and then I scp my code to the Pi and attempt to compile there.

                                    I could perhaps go back to Eclipse, which should be a lot better than what it was in 10 years ago, but would love to get some way to test the code consistency.

                                    Any tips would be very much appreciated - even if just something that'd do some very basic error checking before I send it for compilation. Not syntax errors per se, but validating references, context, scope, etc.

                                    Thanks!

                                    pjftP 1 Reply Last reply Reply Quote 0
                                    • pjftP
                                      pjft @pjft
                                      last edited by

                                      @fieldofcows that's now sorted. :)

                                      I'm actually adding a few extra tidbits here and there on my limited time, mostly quality of life changes, nothing really significant.

                                      I'll send this one as a pull request for your review later, maybe in the coming days.

                                      I'm still trying to get my head around GitHub. I was under the impression I had committed a couple of things so far but can't seem to find them on the web.

                                      One thing at a time. :)

                                      Thanks!

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MWGemini @pjft
                                        last edited by

                                        @pjft With git, you have to do a commit (to the local repository) and then a push to get it to the remote repository. If you're used to things like CVS, SVN, or Perforce, it's a bit of a different workflow. This will be useful to you: https://git-scm.com/book/en/v2 .

                                        1 Reply Last reply Reply Quote 1
                                        • pjftP
                                          pjft
                                          last edited by

                                          @MWGemini Thanks! I have something sorted out now. :)

                                          https://github.com/pjft/EmulationStation/tree/omx-fade-letterbox

                                          I have submitted a PR to @fieldofcows - a very simple one, really - and am now looking into a few fun things. Will share if/when they become stable, in my limited time. Still, all credit to @fieldofcows 's work, as this is really all him. I'm just tweaking and adapting.

                                          Would still like to have a proper development workflow on my Mac that'd allow me to quickly test the code and compile it. Right now I zip the code, copy it to the Pi, unzip, compile, and debug a lot via logs. Like the good old days of printf() debugging :P

                                          Should have something interesting to share in the coming days, fingers crossed.

                                          M fieldofcowsF 2 Replies Last reply Reply Quote 0
                                          • M
                                            MWGemini @pjft
                                            last edited by

                                            @pjft I can't help with the development workflow on a Mac, since I'm not a Mac user, and haven't ben able to find time in my schedule to actually do any development on ES. I keep hoping work will slack off a bit, but that never seems to happen...

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.