How to properly convert video snaps for emulationstation?
Can anybody confirm what they are using to correctly convert video snaps so they are displayed correctly in themes that use them?
I've attempted to convert several videos with built in converter in VLC player and Handbrake and nothing I do seems to show the video file correctly once I transfer it over to retropie. I've ensured that the dimensions and format (mp4) are the same.
They will work perfectly fine on my PC and I am keeping the filenames the same as the ones from the scrape so can only imagine the issue is with the format I am converting them to. I've also tried keeping the file the unchanged from the source (without conversion) but that has also failed.
For reference, I am getting the snaps from:
@batman there is no way to retain quality by re-encoding. The only way to have proper quality is to rerecord the videos at native resolution
@herb_fargus I'm not looking at changing or improving the quality of an existing snap. Just looking to replace a video snap that has already been scrapped and as part of the XML with the correct one if it's missing?
do you see any errors related to video snaps in /opt/retropie/configs/all/emulationstation/es_log.txt ?
@chipsnblip I won't get a chance to check till the weekend but I will have a look and report back.
I used HandBrakeCLI to convert many at once.
Two other possibilities which may be causing the issue are a problem with the gamelist.xml file not pointing to the correct file, or the file format (e.g. flv files would not play for me, had to convert to mp4).
I used Handbrake quite successfully, especially for those arcade videos recorded via MAME which are encoded in a specific format that doesn't play well with OMX player.
I'm not sure if my problem relates to you but you might be able to do something similar to fix your issues.
All I can tell you that the HQ videos from emumovies where creating grey screens in the video preview window and whats worse it was crashing my Attract Mode Front end on my PI
I used a generic video converter WinX Video Converter to
resize videos from 480 to 320
scale down the FPS from 60 to 30
used the .h264 MP4 video encoder
after I did all this I was no longer getting grey screens in my video preview window and
Attract Mode was running smoother.
its up to you if you want a HQ video image or better performace from your PI
I was getting the White Screen of Death on my Pi
scroll 3:00 min mark
the main problem was the Flash heavy Hyperspin themes, but scaling the videos down helped allot.
@32assassin Thanks for posting the actual settings you used. I'll try those first as as've unsuccessful using handbrake.
I'm sure it's the particular mp4 format that I'm using that's causing the issue.
You need to make sure that you give the GPU at least 325 MB RAM
The scraped videos are 320x240 30 fps and it uses handbrake to convert them down IF you enable the convert_videos flag when scraping .
Some video packs are 640x480..if not higher at 60fps
you'll have better performance this way converting them and giving more ram to the GPU...or at least I did.
I used the following:
HandBrakeCLI -e x264 -B 64 -r 25 --gain -20.0 -X 320 -q 20 -i source.mp4 -o destination.mp4
The --gain is to decrease the volume, as I found that the sound of the video previews was way too loud, and I could find no way within RetroPie/EmulationStation to decrease it (the volume control on the ES menu didn't make a difference).
@jell Hmm..I'll have to try that. I have been trying to figure out what the scrapper uses. I tried the CLI version to batch..and it worked..except that the snaps were twice the size of the original! :o
using mediainfo, you can see what encoding settings were used
is that program or part of the gui?
I can see the "command line info" from the gui...but my eyes glaze over...
and I know how to use a command line! lol
@akafox Yeah, that happened to me at first too. By size, do you mean dimensions or file size? The X parameter will limit the width of the output file. The -q 20 parameter will decrease the file size at the cost of video quality.
Ok this is what I used:
HandBrakeCLI -e x264 -B 64 -r 29.97 -w 320 -l 240 -q 20 -i path/"file.mp4" -o path/"file.mp4"
I took the gain out...I'll run them ALL back through and lower them.
I changed the framerate to (NTSC) that's what I have here
The quotes are needed because of spaces in the video snap names
I made a batch file using a spreadsheet program and was able to let it run all night. Yes I was talking about file size not picture size.
The reason I was being picky is because this is what the scraper uses when downloading the videos and then converting them for the pi. Just trying to keep "everything the same"
Thanks for the help..made it SOOO much easier!
@akafox So glad you got it working! I was surprised how much the video snaps added to the experience. It's fun browsing through and easier to pick games you've never played before. Happy tinkering!
Yeah it does. And it helps a lot when choosing a game..it really surprising.
I am wondering if we can do wheel art in the future. I mean I don't want it to look like Attract Mode or Hyperspin..but I do like the "pop" that wheel art gives the games list.
But the point of ES is that it is supposed to be "lean" so adding that might bog ES down. Even Herb has said that.
@akafox I've heard about the wheel art, but haven't looked too much into it. Actually, the pi was my gateway into emulation, dabbled before, but now am enjoying it very much!
I meant to tell you about your HandBrakeCLI settings. I did the -w and -l settings the first time too, but the issue I ran into was that for my arcade games, it would stretch the vertical videos to 320x240, whereas the -X would make the video 320 at the widest, but if it were a vertical video, it would be less than 320 and maintain the aspect ratio.
To process a folder from the command line I made a "converted" subfolder in the main folder then used the following:
for f in *.mp4;do HandBrakeCLI -e x264 -B 64 -r 25 --gain -20.0 -X 320 -q 20 -i "$f" -o "./converted/$f";done
@akafox Wheelart is available today in ES. It's called Marquee in the gamelist.xml.
Example xml entry: