Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #87723
    herbfargus
    Member

    I 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?

    #87917
    herbfargus
    Member

    Ok 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/

    #87921
    justinbeaird
    Participant

    mind 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.

    #87923
    herbfargus
    Member

    links are here:

    Mushberry Video Splashscreen

    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.

    #87932
    chito
    Participant

    Does 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.

    #87943
    herbfargus
    Member

    There 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.

    #88055
    chito
    Participant

    I 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.

    #88058
    herbfargus
    Member

    This 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.

    https://github.com/retropie/RetroPie-Setup/pull/668

    #88064
    chito
    Participant

    thanks. 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 3

    #88065
    herbfargus
    Member

    This also looks like more like what you are talking about. looks like its already been done:

    Splashscreen Randomizer

    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.

    #88088
    chito
    Participant

    yeah 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.

    #88238
    chito
    Participant

    found 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 1080p

    sudo 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]

Viewing 12 posts - 1 through 12 (of 12 total)
  • The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.