[SCRIPT] RetroPie Convert Videos
-
Making some progress on supporting both
sselph
andskyscraper
:)ERROR: There are no systems with videos! You are using 'skyscraper' scraper. Remember to use the 'ROM folder for gamelists & media' option. Or maybe try using 'sselph'.
P.S. Which is better?
- There are no systems with videos!
- There aren't any systems with videos!
English is not my mother language :P
-
@hiulit Not an native English speaker also, but maybe start with videos:
- No videos found for
system
's games/roms - No videos found in any system.
Here's an additional challenge - why look up the folder when you can read the video path from the gamelists ? This way you don't have to assume the usage of a particular scraper or a certain path.
- No videos found for
-
@mitu Thanks! I'll use your examples ;)
As for reading the path directly from the
gamelist.xml
, wouldn't I have the same problem? I mean, I have to know where thegamelist.xml
is stored, and it can vary depending on what scraper is used and what options are set on where to store thegamelist.xml
on that particular scraper, right?ES will check three places for a gamelist.xml in the following order, using the first one it finds:
[SYSTEM_PATH]/gamelist.xml
~/.emulationstation/gamelists/[SYSTEM_NAME]/gamelist.xml
/etc/emulationstation/gamelists/[SYSTEM_NAME]/gamelist.xml
If you use another scraper (Steven Sselph's scraper or Lars Muldjord's `Skyscraper) you can choose whether your scraped data goes in
[SYSTEM_PATH]/gamelist.xml
(the rom folder) or~/.emulationstation/gamelists/[SYSTEM_NAME]/gamelist.xml
Taken from https://retropie.org.uk/docs/EmulationStation/#scraper.
If I have to know where the
gamelist.xml
is stored then I might just tell the user to use the option to store the media "where I want it" to be :P
Or "force" the user to have thegamelist.xml
"where I want it" to be). -
Here it is! RetroPie Convert Videos v2.0.0
[2.0.0] - 2019-04-15
NOTE: This release contains breaking changes!
Deprecated
now is--convert-system
--convert-systems
.now is--from-color
--from-ces
.now is--to-color
--to-ces
.
Added
- Support for Lars Muldjord's Skyscraper.
- New option
--scraper
to set the scraper. Available scrapers:sselph
andskyscraper
. --convert-systems
now accepts systems as (optional) arguments (e.g.--convert-systems "nes snes"
).- The script now detects the C.E.S of the video and if it is the same as the
from_ces
value, it won't convert the video. - New log system. Log files are stored in
logs/
. - Print script version with
--version
. - Added a progress bar!
Changed
- Search for all
.mp4
video files instead of just-video.mp4
so the script can work with many scrapers.
I've updated the first post with the new documentation :)
-
Great progress. Btw, you commented the actual conversion line in the
convert_video
function (the one that runsavconv
), so I'm not sure that conversion would work. -
@mitu Thanks! Yeah, now it's in
utils/progress-bar.sh
;) -
Hi all
first thank you for all the effort put in the script. I have a question: the script is still targetting Retropie host? Because I think that a lot of users have ROMs on a dedicated NAS, so it would be perfect if the script can run on a generic host.
In the end it needs to know only the ROMs root folder and little else
Bye -
@Menion Yes, right now it still targets only RetroPie in a Raspberry Pi, but I have in mind adding a parameter to set the path to the ROMS directory.
About running on a host machine, once this new parameter is added, it should just be a matter of where do you launch the script from, right? As long as it's a Linux machine.Also, I'm not an expert on video conversion, bitrates, etc. so I don't know if the actual
ffmpeg/avconv
command is the best one. That could be improved I guess.I looked at your code and there quite a few changes that I can't test because I don't have a VAAPI compatible GPU. So maybe the right think would be for you to wait until I add this new "add your own ROMS path" parameter, then merge your code with mine (or take mine, because there are many changes and recode it with your VAAPI changes), see if it works and if it does, then we can talk more about adding your changes to the my repository :)
-
Already a new version! RetroPie Convert Videos v2.1.0.
[2.1.0] - 2019-04-17
Added
- New option
--path
to set the path to the ROMs folder. By default it's/home/pi/RetroPie/roms
. - Warning dialog when using the
--convert-all
option saying that it can take a lot of time to convert all the videos. - Better detection of dependencies.
- Better error outputs.
I've updated the first post with the new documentation :)
- New option
-
Hi,
I'm having trouble getting this to work, any idea what I'm doing wrong? I'm trying to convert videos I've downloaded via sksyscraper that don't play due to using yuv444p.If I run
./retropie-convert-videos.sh --convert-systems "fba"
... it says ...
"Starting video conversion ..."
*.mp4 --> Can't convert! Doesn't use the Color Encoding System (C.E.S set in 'from_ces': 'yuv444p'.
1 video was unsuccessful...it only takes a few seconds for this to run so I don't think it could've checked every video in that time (there are thousands of them, which is why I only want it to convert yuv444p videos).
In the config files the following options are set:
from_ces = "yuv444p"
to_ces = "yuv420p"
scraper = "skyscraper"
roms_path = "" (I've left the roms path blank as I'm using the default folder).Any ideas?
Thanks! -
@ObscureUsername Hi there! From the looks of your log file it seems like it's not getting any video file at all.
Are you using ROM folder for gamelists & media option? Here you can see where your downloaded videos should be (expected by the script) when using that option https://retropie.org.uk/docs/Scraper/#where-are-my-scraped-media-and-metadata-saved
Also, are the downloaded videos
.mp4
? -
./retropie-convert-videos.sh --convert-systems "fba"
CLI mode -------- Inputted systems: 'fba'. Systems found: 'fba'. Starting video conversion ... fba --- Converting "*.mp4" ... (1/1) (standard_in) 1: syntax error ERROR: '*.mp4' has 0 frames! fba --- > "*.mp4" --> FAILED! 1 video failed.
I am using skyscraper and i have configured everything correctly i think.
-
@Rion Hmmm I'll take a look. It seems it has something to do with the videos path..
Did you you Use the ROM folder for gamelists & media option in Lars Muldjord's Skyscraper?
Did you set the scraper using the--scraper
option? Or via the config file? -
@hiulit said in [SCRIPT] RetroPie Convert Videos:
@Rion Hmmm I'll take a look. It seems it has something to do with the videos path..
Did you you Use the ROM folder for gamelists & media option in Lars Muldjord's Skyscraper?
Did you set the scraper using the--scraper
option? Or via the config file?@hiulit Hi again and sorry for the late reply.
I used Use the ROM folder for gamelists & media with Skyscraper and also set the scraper option to skyscraper
inside retropie-convert-videos-settings.cfg. But i did get it to work if a moved all my video files from/home/pi/RetroPie/roms/fba/media/videos
to
/home/pi/RetroPie/roms/fba/media
-
I'm not having much success. It seems like everything is setup correctly, but once it detects a video that is encoded in 444p it still decides not to convert it. Any idea what i might be doing incorrectly?
root@retropie:/home/pi/RetroPie-Convert-Videos# ./retropie-convert-videos.sh --convert-systems "arcade"
CLI modeInputted systems: 'arcade'.
Systems found: 'arcade'.Starting video conversion ...
arcade
3in1semi.mp4 --> Can't convert! Doesn't use the Color Encoding System (C.E.S set in 'from_ces': 'yuv444p'.
"numanath.mp4" --> Don't convert! Has the same Color Encoding System (C.E.S) as 'from_ces': 'yuv444p'.2 videos were unsuccessful.
-
@davidonabus said in [SCRIPT] RetroPie Convert Videos:
3in1semi.mp4 --> Can't convert! Doesn't use the Color Encoding System (C.E.S set in 'from_ces': 'yuv444p'.
"numanath.mp4" --> Don't convert! Has the same Color Encoding System (C.E.S) as 'from_ces': 'yuv444p'.2 videos were unsuccessful.
That output states those two videos aren't 444. That is why it decides not to process them.
-
@hiulit I was having this same exact error too and this solution worked for me. Maybe the path you have coded for skyscraper needs to be updated in your script?
-
Hey y'all! I've followed this little guide https://github.com/RetroPie/RetroPie-Setup/wiki/Scraper#where-are-my-scraped-media-and-metadata-saved to set up the paths to the images and videos for each scraper. In principle the script should work fine. Have those paths changed?
-
@hiulit For Skyscraper - I got this to work by copying the video files from /home/pi/roms/arcade/media/video to /home/pi/roms/arcade/media.
It wouldn't run otherwise with a few roms_path values I tried.
-
@memodellocos Where does Skyscrapper store the videos?
/home/pi/RetroPie/roms/<system>/media/video
or/home/pi/RetroPie/roms/<system>/media
Because I followed this guide https://github.com/RetroPie/RetroPie-Setup/wiki/Scraper#where-are-my-scraped-media-and-metadata-saved to get the paths for the scrapers, and here it says that Skyscraper, when setting the option ROM folder for gamelists & media, should store the videos in/home/pi/RetroPie/roms/<system>/media
.
And that's the path I have in my script (I think). Maybe Skyscraper changed the path?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.