Homepage › Forums › RetroPie Project › Everything else related to the RetroPie Project › Splashscreen Question
Tagged: screensaver, splashscreen, video
- This topic has 11 replies, 3 voices, and was last updated 9 years, 6 months ago by
chito.
-
AuthorPosts
-
02/16/2015 at 21:06 #87723
herbfargus
MemberI made a pretty swanky boot video that utilises omxplayer instead of fbi. I was hoping to run the video for 40 seconds (the amount of time it takes to go from boot to the ES Splashcreen) and then once the video ends have it cut out, uninterrupted by boot text, directly into the ES splash screen. Instead no matter the length of the video it seems it just waits for the video to finish playing, then it goes into more boot text and then opens into emulationstation.
Maybe I’m just wicked OCD but is there any way to get emulationstation to boot in the background while omxplayer is playing so that once the video ends (if I time it right) it ends right at the splashcreen of Emulationstation?
02/18/2015 at 09:47 #87917herbfargus
MemberOk after much deliberation I found out my problem: I forgot an “&” in the asplashcreen script (which evidently is what tells the computer to run programs while your video plays)- so to walk anyone else through it:
Getting a video splash screen up and running:
sudo apt-get install omxplayer
Add your video using winscp (I just created a folder in the /home/pi/RetroPie-Setup/supplementary/splashscreens called video and I stuck my .mp4 video in there i.e. /home/pi/RetroPie-Setup/supplementary/splashscreens/video/myvideo.mp4)
sudo nano /etc/init.d/asplashcreen
Comment Out:
# line=$(head -n 1 /etc/splashscreen.list) # isMovie=$(echo $line | grep -o "*.mkv") # if [ -z "$isMovie" ]; then # /usr/bin/fbi -T 2 -once -t 20 -noverbose -a -l /etc/splashscreen.list & #else # mplayer $line & #fi
add:
/usr/bin/omxplayer -o hdmi /home/pi/RetroPie-Setup/supplementary/splashscreens/final/myvideo.mp4 &
Reboot and you are golden. I made my intro video 40 seconds and it ends right at the start of the emulationstation splash screen.
alternate options to clean up the boot text:
in /boot/cmdline.txt make it look like this:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty3 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait loglevel=3 quiet
you can also add logo.nologo to make the raspberry pi logo disappear (i like to keep it because I at least know my pi is working that way.)
EDIT see here for updated code: https://www.petrockblock.com/forums/topic/mushberry-video-splashscreen/
02/18/2015 at 10:22 #87921justinbeaird
Participantmind sharing your video? I am also annoyed by boot text. I was going to give one of these as a gift but boot text makes it look cheap.
02/18/2015 at 10:56 #87923herbfargus
Memberlinks are here:
Ok, so not quite as swanky as it could be but it does beat a static image. I’m still working on a few other ideas. (I can piece things together from other people’s work but it’s a fine line of copyrights and such so I’m trying to make things as original as I can to avoid legalities while respecting the hard work other people have done.)
I’ve found the best option for me was to find all the games I really like playing, do a screen capture while I play on my laptop and then squish them all together into a montage with remixed video game music in the background. That way you can customise it your childhood gaming experience while also getting it to boot with the right time scale for your pi.
02/18/2015 at 11:50 #87932chito
ParticipantDoes your video plays as soon as possible? maybe even as soon as power is turned on (so as to not see any terminal text?
There was a similar feature i asked to be added to the official retropie image so that it gives the machine a nice polished look. the feature i asked for was with splashscreen images though. But this is great.
02/18/2015 at 16:35 #87943herbfargus
MemberThere will always be a little bit of time from the time you power your pi on to when the video initialises since it has to load the boot sequence and the video player. I outlined how to hide all of the boot text in the post above. (I tested it last night and it was a solid black screen with no text at all until the video started.) The video plays within the first 10 seconds of booting.
BTW splash screen images are already a default feature in retropie- you can choose from a bunch in the set up script or add your own as well.
02/19/2015 at 05:16 #88055chito
ParticipantI think this video splash screen is a heaps great idea. opens many creative possibilities.
Herbfargus i was wondering if you could help develop another idea. Ive collected a few video gaming related artwork about 50 or so images. I would like to create a script that would go through a slide show of these images at random, showing each image for x seconds before it fades out/fades in the next image. and get it to do this until ES is booted up fully.
This could also be used as an idea for a screen saver
happy to share these images for anyone who wants them, click here. A lot of these images need to be fixed so they would work as splash screens (resize, crop boundaries etc). plan on adding to this collection as i find more.
02/19/2015 at 05:24 #88058herbfargus
MemberThis script should ideally do what you are thinking of. You might have to make some modifications but it gives the general idea. Give it a go and let me know what you come up with.
02/19/2015 at 06:37 #88064chito
Participantthanks. I def want to look into this. Especially for a screensaver since at the moment its so dull. It needs an attract mode or at least something nicer
so cool intro vids for hyperspin that could possibly be edited for the retro pie
Youtube vid 1
Youtube vid 2
Youtube vid 302/19/2015 at 06:40 #88065herbfargus
MemberThis also looks like more like what you are talking about. looks like its already been done:
p.s those intro videos are pretty alright. makes my attempts look juvenile ha ha
granted though in comparison to hyperspin, emulationstation looks a whole lot classier. Aloshi and Nils did a really good job.
02/19/2015 at 10:53 #88088chito
Participantyeah thats heaps close. If only it would also slideshow images. pick a new splashscreen every say 5sec until it finishes booting up. so say boot up takes 40 secs then it would have shown about 8 different splashscreens. but both of those are a good start i think.
02/20/2015 at 03:54 #88238chito
Participantfound this from an old old post i made when i first started with RetroPie and raspberry pie.
[quote=84784]
Using a video would definitely be more work as well as time consuming.
You can change the default behavior of stock retropie splashscreen script by modifying the ‘asplashcreen’ script in init.d
Modify this line:
/usr/bin/fbi -T 2 -once -t 30 -noverbose -a -l /etc/splashscreen.list &
to
/usr/bin/fbi -T 2 -once -t 4 -noverbose -a /home/pi/splashscreens/* &
With this you will also need to create a folder called “splashscreens” (using the ‘mkdir’ command) in /home/pi to save all of the splashscreens in.
The splashscreens will be displayed in alphabetical order, and each picture for 4 seconds.
[/quote]also smokinpuppy got a video to work as a screensaver..
havent tried any of these bits of code but they look very handy to have (maybe should start a collection of mods you can make)[quote=86872]If anyone is interested, I got the screensaver video to work. I forked the original ES git and added this to GuiMenu.cpp:
screensavers.push_back("video"); // Line 104 in the screensaver menu section
I also added changed the following in Window.cpp:
Under Window::input(), Change this:if(mSleeping){ // wake up mTimeSinceLastInput = 0; mSleeping = false; onWake(); return; }
to this:
if(mSleeping){ // wake up mTimeSinceLastInput = 0; mSleeping = false; onWake(); system("sudo pkill -9 -f \"/usr/bin/omxplayer\""); // Kill video playback return; }
Under Window::onSleep(), change this:
Renderer::setMatrix(Eigen::Affine3f::Identity()); unsigned char opacity = Settings::getInstance()->getString("ScreenSaverBehavior") == "dim" ? 0xA0 : 0xFF; Renderer::drawRect(0, 0, Renderer::getScreenWidth(), Renderer::getScreenHeight(), 0x00000000 | opacity); }
to this:
Renderer::setMatrix(Eigen::Affine3f::Identity()); unsigned char opacity = Settings::getInstance()->getString("ScreenSaverBehavior") == "dim" ? 0xA0 : 0xFF; if(Settings::getInstance()->getString("ScreenSaverBehavior") == "video"){ system("playvid"); } else { Renderer::drawRect(0, 0, Renderer::getScreenWidth(), Renderer::getScreenHeight(), 0x00000000 | opacity); }
Then install from “SOURCE” either using my fork for EmulationStaion (https://github.com/smokinpuppy/EmulationStation/) or my fork for RetroPie-Setup (https://github.com/smokinpuppy/RetroPie-Setup/) which already uses my fork of EmulationStation.
Finally, for this to work, you need to make a bash script and place it in /usr/bin like so:
sudo nano /usr/bin/playvid
#! /bin/bash # Play Video omxplayer --vol -3000 -o hdmi --layer 10000 --loop /home/pi/screensaver.mp4 & # Exit exit 0
Ctrl-X, Y, Enter
sudo chmod +x /usr/bin/playvid
I did have to set disable overscan for my setup to work as the video is 1080psudo nano /boot/config.txt set disable_overscan=1
And that’s it,
PS, I found that using the original RetroPie SD Image and then compiling by replacing the RetroPie-Setup folder with my fork of it then installing from source (option 2) using ./retropie_setup.sh and only selecting EmulationStation to be the best/easiest way.
PSS, If anyone knows of an easy way to have omxplayer loop seamlessly, that would be greatly appreciated.
[/quote] -
AuthorPosts
- The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.