Solved ogst odroid n64 case
-
@ViRuS-MaN ou tu veux c'est juste pour faire des tests.. pour l'instant le support n'est pas effectif, il faut faire à la mano avec les lignes de commande de @littlebalup
mais tu peux utiliser le rep/recalbox/share/system/
pour le gif d'intro et les reps de roms en créeant un rep video dans chaque systeme et y mettre la video logo.mp4ffmpeg -re -i /recalbox/share/roms/n64/video/logo.mp4 -c:v rawvideo -pix_fmt rgb565le -f fbdev /dev/fb1
je ne pense pas que les vidéos de
/recalbox/system/resources/splash
soient utilisables, il faut que je mes mette dans la résolution native de l'écran -
les ligne de commande il faut les mettre ou exactement car franchement je suis pas bon du tout sous linux et la je suis un peux perdu faudrais savoir quel fichier je dois editer et ou mettre la ligne pour jouer le logo
-
@ViRuS-MaN tu peux déjà faire un test en ligne de commande via ssh ensuite tu peux tenter d'éditer le fichier /etc/init.d/S02splash pour y placer les commandes de @littlebalup
-
bon j ai tester mais ca fonctionne pas j ai tester avec winscp et commande ssh ou putty mais pas moyen quand je lance sous winscp ca m ouvre une fenetre avec un long message d erreur
-
voila le message que j ai sous putty
ffmpeg -re -i /recalbox/share/roms/n64/video/logo.mp4 -c:v rawvideo -pix_fmt rgb565le -f fbdev /dev/fb1
ffmpeg version 3.2 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.4 (Buildroot 2016.11-00025-g5f691d1-dirty)
configuration: --enable-cross-compile --cross-prefix=/share/host/usr/bin/arm-buildroot-linux-gnueabihf- --sysroot=/share/host/usr/arm-buildroot-linux-gnueabihf/sysroot --host-cc='/share/host/usr/bin/ccache /usr/bin/gcc' --arch=arm --target-os=linux --disable-stripping --pkg-config=/share/host/usr/bin/pkg-config --enable-static --enable-shared --prefix=/usr --enable-avfilter --disable-version3 --enable-logging --enable-optimizations --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat --disable-x11grab --enable-network --disable-gray --enable-swscale-alpha --disable-small --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables --disable-memalign-hack --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels --disable-avisynth --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libcdio --disable-libdc1394 --disable-libgsm --disable-libilbc --disable-libnut --disable-libopenjpeg --disable-libschroedinger --disable-libvo-amrwbenc --disable-symver --disable-doc --enable-gpl --disable-nonfree --enable-ffmpeg --enable-ffplay --disable-ffserver --disable-avresample --disable-ffprobe --enable-postproc --enable-swscale --enable-indevs --enable-outdevs --enable-pthreads --enable-zlib --enable-bzlib --disable-libfdk-aac --disable-gnutls --disable-openssl --disable-libopenh264 --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis --enable-vaapi --disable-vdpau --disable-libopencv --enable-libopus --disable-libvpx --enable-libass --disable-libbluray --enable-librtmp --enable-libmp3lame --enable-libmodplug --disable-libspeex --enable-libtheora --disable-libwavpack --enable-libfreetype --enable-fontconfig --enable-libx264 --disable-libx265 --disable-yasm --disable-mmx --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-avx2 --enable-armv6 --enable-vfp --enable-neon --disable-altivec --enable-pic --cpu=cortex-a15
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.100 / 57. 64.100
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/recalbox/share/roms/n64/video/logo.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:01:48.20, start: 0.000000, bitrate: 87 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 320x240, 85 kb/s, 20 fps, 20 tbr, 10240 tbn, 40 tbc (default)
Metadata:
handler_name : VideoHandler
[swscaler @ 0x74130] No accelerated colorspace conversion found from yuv420p to rgb565le.
[fbdev @ 0x5aa30] Could not open framebuffer device '/dev/fb1': No such file or directory
Could not write header for output file #0 (incorrect codec parameters ?): No such file or directoryStream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Last message repeated 1 times -
@virus-man
L'initialisation de l'écran doit être faite à chaque démarrage/redémarrage de RC pour que l'écran soit reconnu par le système ( /dev/fb1 ).Ensuite tu peux lancer la commande ffmeg.
voir mon 2ème poste ci-dessus : https://forum.recalbox.com/post/116833
-
@virus-man said in ogst odroid n64 case:
[fbdev @ 0x5aa30] Could not open framebuffer device '/dev/fb1': No such file or directory
voila l'erreur, l’écran n'est pas configuré!
-
c est quoi la commande pour initialiser l ecran ???
tu aurais pas un fichier deja modifier que je pourrais mettre sur mon odroid pour qu a chaque fois j ai la possibilite de voir les animation sur l ecran tout en sachant que je n ai pas le logo recalbox que tu a fait et que j ai mis les animation dans le dossier roms /video comme dit mais que je n ai pas toutes les animation de tous les systemes car elle n etait pas tous dans l archive -
@virus-man
Les commandes d'initialisation sont sont dans l'ordre:[ `/sbin/lsmod | grep -c spi_s3c64xx` -ge 1 ] && rmmod spi_s3c64xx
modprobe spi_s3c64xx force32b=1
modprobe fbtft_device name=hktft9340 busnum=1 rotate=270
Sinon attends un peu. Je devrais pouvoir terminer le script d'installation ce soir.
-
ok je vais attendre un peu , sinon je voudrais savoir si tu va fournir ton logo recalbox avec et si tu a toutes les animation de tous les systeme emuler car moi dans l archive m en manque quelques une et je trouve pas sur le net
-
Le script d'installation est prêt. Voici comment procéder:
Avant toute chose, pensez a faire une sauvegarde de vos données.
Je l'ai testé dans tout les sens, sur la version stable et la version beta christmass. Mais juste au cas où...Note : J'ai tout fait pour que ce soit ultra simple (une seule ligne de commande est c'est fait). Cependant il est nécessaire d'être connecté à internet pour que les téléchargements se fassent. Plus bas je donne les liens de téléchargement de l'archive et du script d'installation pour les curieux qui veulent bidouiller.
L'installation va, entre autre, créer un fichier script
/recalbox/share/system/custom.sh
. Avant de commencer, assurez vous qu'il n'existe pas déjà (en principe non si vous ne l'avez pas créé vous même). Sinon il sera écrasé.-
ouvrer une session root via ssh : https://github.com/recalbox/recalbox-os/wiki/accès-root-sur-Terminal--(FR)
-
copiez dans le terminal et lancez la ligne de commandes suivante:
wget https://www.dropbox.com/s/jp85fh6j4lkoz8m/install.sh && chmod +x install.sh && ./install.sh
-
c'est tout
Alors maintenant, comment ça fonctionne? Quelques explications sans rentrer dans le dur :
- Au démarrage de la recalbox, le script de démarrage
/etc/init.d/S99custom
lance le script/recalbox/share/system/custom.sh
si il existe (C'est un script de démarrage natif inutilisé par défaut. Je me suis pas embêté à créer un autre script de démarrage...) qui lui va initialiser l'écran et charger l'image par défaut. - Quand on charge un jeu ou une appli, le lanceur (
emulatorlauncher.py
pour les intimes. Préalablement modifié par mon script d'install) va lui aussi lancercustom.sh
en passant comme paramètre le nom du système démarré pour que celui-ci affiche l'image/animation correspondante. - Le script
custom.sh
continu de tourner en fond pour surveiller si l'appli lancé tourne toujours (en fait il surveille le process python / emulatorlauncher). - Quand l'appli est quittée le script ré-affiche l'image par défaut.
Donc vous l’aurez compris, tout se passe dans
/recalbox/share/system/custom.sh
.Customisation:
- Toutes les images et animations sont stockés dans le répertoire
/recalbox/share/system/tft_logos
. - Par défaut vous retrouverez tout ce qu'il y a dans le package original d'OGST plus le logo par défaut et un logo Doom et Kodi que j'ai rajouté.
- Vous pouvez en rajouter, modifier, compléter, enlever... comme il vous chante mais il vous faudra éditer le fichier
/recalbox/share/system/custom.sh
en conséquence pour rajouter ou modifier les chemins vers les fichiers (veillez à conserver la structure de la fonction case). - Si tout par en sucette suite à une mauvaise manip, faite une sauvegarde de votre dossier
/recalbox/share/system/tft_logos
si vous avez modifié ou rajouté de éléments, puis relancer l'installation avec la commande ci-dessus. - Toutes les images et vidéos doivent être en 320 x 240 pixels. J'ai testé les mp4, jpg, png, gif. D'autres formats doivent fonctionner. Je vous laisse tester (tout ce que supporte ffmpeg doit passer en principe).
Et pour finir, voici les "sources" pour ceux qui veulent bidouiller: https://www.dropbox.com/sh/6ef219vlp2615rh/AADXF3mHeaJgEP12nFBNWqf_a?dl=0
Amusez-vous bien
P.S.: pour l'écran qui clignote au démarrage, c'est ici que ça se passe : https://forum.recalbox.com/post/117325
-
-
bon avant tout je voudrais te dire un grand bravo je viens d installer ton script et ca fonctionne nickel et sur l'ecran lcd ca donne d enfer , j adore , et je voudrais savoir s il y aurais pas moyen de faire tourner en boucle l animation au lieu d avoir un ecran noir a la fin de l animation ???
franchement installation tres rapide sur la version stable , mais je pense que des qu il y aura une mise a jour du systeme il faudra obligatoirement reinstaller le script... -
Merci.
L'écran laisse affichée la dernière image jouée. Si la vidéo se termine par un fondu enchainé noir, l'écran reste noir à la fin. Donc dans l'ideal il faudrait retravailler ces vidéos. (Tu peux comparer la vidéo NES et N64 par exemple). Je vais quand même voir a rajouter un paramettre de loop dans le script.
Et oui, après un mise à jour du système il faudra probablement refaire l'installation (re-patcher le launcher). -
"Je vais quand même voir a rajouter un paramettre de loop dans le script."
-stream_loop -1
"-stream_loop number (input) : Set number of times input stream shall be looped. Loop 0 means no loop, loop -1 means infinite loop."draw_logo () { dd if=/dev/zero of=/dev/fb1 2>/dev/null >/dev/null #clear before draw ffmpeg -hide_banner -re -stream_loop -1 -i $1/$2 -c:v rawvideo -pix_fmt rgb565le -f fbdev /d ev/fb1 2>/dev/null >/dev/null }
à tester
-
@ian57
Oui, c'est ce que j'ai en tête. En passant le paramètre de loop (0 ou -1) à la fonction. Paramètre configurable pour chaque système. -
j'ai testé sur la version stable. ça fonctionne avec la pluspart des vidéos mais pas avec d'autres. Erreur
Error while filtering: Operation not permitted
Il semble que c'est un bug ffmeg corrigé fin 2017 :
https://trac.ffmpeg.org/ticket/6139
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=59ad504696958fbd9db7b478b4b7e0a2b436b7f2Le build ffmpeg de la version stable actuelle est:
ffmpeg version 3.2 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.9.4 (Buildroot 2016.11-00025-g5f691d1-dirty)
Donc je vais quand même partir là dessus en espérant que ffmpeg sera mise à jour dans les prochaines versions. (j'ai pas envie de faire une boucle for ou while dégueulasse... )
-
moi sur odroid je suis en version stable pas essayer de beta , mais franchement c est que du bon ton script
-
J'ai mis le script a jour pour avoir la possibilité de jouer en boucle. Mais comme dit ci-dessous ça ne fonctionne pas pour tout...
Pour mettre à jour, relancez l'installation (ça écrasera tout). Ou téléchargez l'archive puis extrayez et remplacez manuellement le cusom.sh. -
@littlebalup on peut tenter de b*mp ffmpeg sur recal , je vais voir ce que je peux faire sur la beta... mais j'ai pas trop te temps en ce moment.
le ffmpeg semble est une partie de Buildroot et non de RB... du coup la maj de ffmpeg necessiterait un b*mp BR ce qui est vraiment un gros taf pour la team. On va plutot s'orienter vers l'intégration d'une version à jour de ffmpg dans RB -
@ian57 said in ogst odroid n64 case:
@littlebalup on peut tenter de b*mp ffmpeg sur recal , je vais voir ce que je peux faire sur la beta... mais j'ai pas trop te temps en ce moment.
le ffmpeg semble est une partie de Buildroot et non de RB... du coup la maj de ffmpeg necessiterait un b*mp BR ce qui est vraiment un gros taf pour la team. On va plutot s'orienter vers l'intégration d'une version à jour de ffmpg dans RBOk. En attendant j'ai fait un bricolage à la sauvage pour test en remplaçant le binaire avec celui-ci: https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-armhf-static.tar.xz
Il est largement plus lourd que celui présent. Mais ça fonctionne bien.