Página 1 de 1

Videos aleatorios de Intro en Recalbox

Publicado: 05 Mar 2017, 22:16
por jlbosch78
Para poder poner videos y que estos sean reproducidos de forma aleatoria cuando se inicia Recalbox (versión estable 4.0.1 y 4.0.2) debemos hacer lo siguiente:

NOTA: estos pasos debemos hacerlos posteriormente a mi anterior tuto viewtopic.php?f=17&t=3603 es decir, ya debemos ser capaces de poder poner cualquier video de Intro en Recalbox.

Ahora si , a ello:

1) Poner en modo escritura racalbox - En PuTTY mount -o remount,rw /

2) Poner algunos videos de Intro en /recalbox/system/resources/splash que no tengan mas de 20 seg. de duración, en formato MP4 y llamarlos CyberDreams0.mp4, CyberDreams1.mp4, etc. (este nombre es a modo de ejemplo, ustedes pueden poner el que deseen teniendo el cuidado de modificar el script para que coincidan).

3) Copiar y pegar el siguiente texto en el archivo S02Splash que se encuentra en /etc/init.d reemplazando el anterior contenido:
#!/bin/bash

do_start ()
{
minum=`echo $(($RANDOM%10))`
    #video="/recalbox/system/resources/splash/recalboxintro.mp4"
video="/recalbox/system/resources/splash/CyberDreams$minum.mp4"
    # odroid xu4 has not omxplayer, make it run this code make it flash
    if [[ -f $video && -f /usr/bin/omxplayer ]]; then

        # Initialize dbus session
        OMXPLAYER_DBUS_ADDR="/tmp/omxplayerdbus.root"
        OMXPLAYER_DBUS_PID="/tmp/omxplayerdbus.root.pid"
        exec 5> "$OMXPLAYER_DBUS_ADDR"
        exec 6> "$OMXPLAYER_DBUS_PID"
        dbus-daemon --fork --print-address 5 --print-pid 6 --session
        until [ -s "$OMXPLAYER_DBUS_ADDR" ]; do
            echo "waiting for dbus address to appear" >&2
            sleep .2
        done
        DBUS_SESSION_BUS_ADDRESS=`cat $OMXPLAYER_DBUS_ADDR`
        DBUS_SESSION_BUS_PID=`cat $OMXPLAYER_DBUS_PID`
        export DBUS_SESSION_BUS_ADDRESS
        export DBUS_SESSION_BUS_PID

        # Launch the video
        omx_fnt="--font=/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf"
        omx_opt="--no-keys --layer=10000 --aspect-mode=fill"
        omx_srt="--no-ghost-box --lines=1 --align=left $omx_fnt --font-size=20 --subtitles=/recalbox/system/resources/splash/recalboxintro.srt"
        /usr/bin/omxplayer.bin $omx_opt $omx_srt $video &
        PID=$!

        # Stop the video when ready
        if [[ $? -eq 0 ]]; then
            # Wait for emulationstation or Kodi, but not more than 20 seconds
            count=0
            while [[ ! -f "/tmp/emulationstation.ready" && ! -e "/var/run/kodi.msg" && $count -lt 20 ]]; do
                sleep 1
                ((count++))
            done
             # Finish with a one second fade out.
            audio_fade=1
            video_fade=250
            while [[ $video_fade -gt 0 ]]; do
                sleep .02
                dbus-send --print-reply=literal --session --dest=org.mpris.MediaPlayer2.omxplayer /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Volume double:$audio_fade >/dev/null
                dbus-send --print-reply=literal --session --dest=org.mpris.MediaPlayer2.omxplayer /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.SetAlpha objpath:/not/used int64:$video_fade >/dev/null
                audio_fade=`echo "$audio_fade .02" | awk '{printf "%.2f", $1-$2}'`
                ((video_fade=video_fade-5))
            done
            # Ready flag set or timeout occured; stop video process.
            dbus-send --print-reply=literal --session --dest=org.mpris.MediaPlayer2.omxplayer /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Action int32:15 >/dev/null
        fi
    fi

    # on some sytems, fb0 is not immediatly loaded, so, keep a chance by waiting a bit
    N=0
    while ! test -e /dev/fb0 -o $N -gt 15
    do
	sleep 1
	let N++
    done
    test -e /dev/fb0 && fbv -f -i /recalbox/system/resources/splash/logo-version.png
}

case "$1" in
    start)
        do_start &
        ;;
    stop)
	   ;;
    restart|reload)
	   ;;
    *)
esac

exit $?
Como verán lo único que cambia con su archivo original es que ahora con la línea minum=`echo $(($RANDOM%10))` creo una variable que va a contener un número aleatorio generado por la función RANDOM que va de 0 a 9 (por ende yo puse diez videos de Intro diferentes).
Luego la variable $minum la utilizo para armar el nombre del archivo que se va a mostrar (ver la línea VIDEO que no está comentada # ).
Como podrán deducir, cada vez que se inicia Recalbox se reproducirá uno de los archivos llamados CyberDreams0.mp4, CyberDreams1.mp4, CyberDreams2.mp4, CyberDreams3.mp4, etc.

4) Poner en modo solo lectura nuevamente Recalbox con PuTTY (mount -o remount,ro /)

Apagar el sistema y encenderlo nuevamente varias veces para apreciar el cambio del video. Esto es aplicable para las versiones estables 4.0.1 y 4.0.2 que aún no tienen la posibilidad de insertar un video (y mucho menos de forma aleatoria) la inicio de Recalbox.

Saludos.

Re: Videos aleatorios de Intro en Recalbox

Publicado: 06 Mar 2017, 00:01
por capoeira1984
Ostras! muy interesante.No sabía que se podían meter videos.

Re: Videos aleatorios de Intro en Recalbox

Publicado: 27 Mar 2017, 14:53
por canina2
Muy bueno, acabo de ver el anterior de cambiar, pero este es muy interesante, muchas gracias buen trabajo

Re: Videos aleatorios de Intro en Recalbox

Publicado: 27 Mar 2017, 18:56
por Coliflor
Gracias por el tutorial. :mrgreen:

A partir de ahora cuando encienda Recalbox se verán siempre vídeos de tías buenorras con big tetas. :idea:

Re: Videos aleatorios de Intro en Recalbox

Publicado: 31 Mar 2017, 12:01
por Retropie1981
para atrack mode sabes si se podría hacer?

Re: Videos aleatorios de Intro en Recalbox

Publicado: 31 Mar 2017, 20:58
por jlbosch78
Retropie1981 escribió:para atrack mode sabes si se podría hacer?
No te sabría decir.

Saludos.

Re: Videos aleatorios de Intro en Recalbox

Publicado: 11 Mar 2018, 00:18
por tecladomouse
hola, podrias actualizar el tutorial para la version de recalbox 4.1 ? ... intente como está y no funciono

Re: Videos aleatorios de Intro en Recalbox

Publicado: 11 Mar 2018, 00:29
por tecladomouse
tecladomouse escribió: 11 Mar 2018, 00:18 hola, podrias actualizar el tutorial para la version de recalbox 4.1 ? ... intente como está y no funciono
me cito a mi mismo. FUCIONA PERFECTO