Someone asked me to get the data off of some old VideoCDs, which works well for the most part, but there are a few special ones that don't contain regular video but rather some sort of slideshows. From what I've gathered, this is a feature of the VideoCD 2.0 format, where the slideshows are stored as "segments" instead of the usual video. I can make images of the disks with cdrdao and extract the files with vcdxrip, but the slideshows aren't properly playable. If I open them for instance in mpv, all images flip through really quickly within the first second, as if the timestamps are completely messed up. I don't know if this is a special version of mpeg that normal video players don't support, or if there's some extra data on the VideoCD that isn't extracted by vcdxrip. I can recreate the slideshows by extracting the images with ffmpeg, and then just spreading them out over the music (which can also be automated with ffmpeg), but I'm wondering how exactly those slideshows are supposed to work in their original form. When I try to search for this problem, I only get guides on how to create slideshow VideoCDs, not how to get the slideshows off of them.
Does anyone know how exactly these slideshows are supposed to work? As mentioned, I can recreate the slideshows, but I'm wondering what exactly the original was supposed to be like. Thanks in advance for any answers!
+ Reply to Thread
Results 1 to 6 of 6
Slideshows on vcd could be done in one of 2 ways:
1. Timed, with possible sound/music.
2. Manually advanced stills with NO sound/music.
1st uses basic vcd rez mpeg video in AVSEQ folders. You already know how to deal with these.
2nd uses d1 rez mpeg stills, which are like single frame mpeg video. These are what is in the SEGMENT folder.
Being still frame, they have a different stream ID than std video, and their timestamps do work differently.
I have never had need to extract them, because I was always the one creating them so I had the source files.
I would expect with a bit of tweaking the headers you should be able to get them to appear like a standard clip where it was playable in something like vlc or vdub, then you should be able to step through each and do screen caps if necessary.
Note: being still frames they only take up a fraction of a second to play in realtime if played through. On presentation on the vcd, the player is supposed to loop playback of that single frame infinity until manually advanced.
Last edited by Cornucopia; 14th Sep 2023 at 01:24.
Thanks for the reply, especially the explanation of how it's supposed to work on a VCD player. I didn't realize that the VCD player was supposed to let the viewer go through the images manually. The VCDs I have seem to be a third option, though - they definitely include audio, but within the files in the SEGMENT folder. It seems each of the mpg files there includes an audio stream together with a video stream, but the video stream just includes a number of images, each only on one frame (or sometimes two). I'm not sure if the VCD player was supposed to just take those frames and evenly spread them out over the audio or if there was something more complicated.
My current approach for recreating the slideshows as normal videos is as follows (this is all using command-line tools on Linux):
- Extract all mpg files using vcdxrip.
- Demux these files with mpegdemux, for instance: Code:
mpegdemux -d -b stream_##.m1v -s all item0002.mpg
- Extract the frames from the high-res video file: Code:
ffmpeg -i stream_e2.m1v frames/%05d.png
- Spread the images out evenly over the audio to create a slideshow video (the second command gets the exact duration of the audio file so the images can be evenly spaced over that duration; based on https://stackoverflow.com/questions/14782077/expand-extend-a-video-to-an-specific-duration):
numimgs=`ls frames | wc -l` audio=`ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 stream_c0.m1v` ffmpeg -framerate "$numimgs/$audio" -pattern_type glob -i "frames/*.png" -i stream_c0.m1v -r 25 output.mp4
I guess this doesn't perfectly recreate the original slideshow experience, but maybe it's the best I can do without a real VCD player?
Well, that's something new. I haven't encountered any discs like that. Would be curious to know what tools put them together.
You seem to be on the right path with your workflow.
If you wanted to see how a vcd plays, my suggestion would be to use something like the Roxio vcd player app (which came bundled on many vcds), but unfortunately that is an app that works only on Windows Xp or earlier. I doubt there is anything newer available, considering the timeline of vcd popularity.
Well, it seems I'm in luck. I found one VCD that actually came with the Roxio VCD Player, and it even worked on the Windows 10 system I tested it on. I'm assuming that means the VCDs were also created with the Roxio VCD creation software, unless the player also came bundled with other software. The result was pretty much exactly the same as my recreated slideshows - the images were spread out equally over the music. The only additional feature was the menu to select a slideshow to play, but that isn't important. I think I'll just stay with my current workflow then.
There were a few apps that used the Roxio app (Adaptec, Roxio, etc), but it is a simple standalone app, and so I (and others) have often simply embedded it into the root (or similar Mode1/Mode2Form1 folder) on discs for ease of playback. I kind of remember that it wasn't an issue deployment/licensing-wise, which is probably why I did that, but don't quote me on that. It has been literally almost 2 decades since I worked with those.
Yes, one of the features of VCD 2.0 over 1.0/1.1 is playlists and "hotspots" (aka live linked button regions), which are VERY helpful for menus, compilation discs, etc.