Seems like a hot topic this days, with Baldrick's guide arriving just yesterday.
However, all of the 'straightforward methods', summed up in Baldrick's guide have one thing in common: they all assume that a CDDA audio player will skip the non-CDDA tracks.
Well, they don't.
Some players will refuse to play the disc, saying 'it is not an Audio CD'.
Some players will play the data tracks as silent tracks.
The worst players will actually play the data tracks. And though John Cage might have wanted to use such a sound - alas, he's dead, and playing a data track gets pretty much on your nerval system after, say, ten, eight, maybe three seconds.
And, of course, some players will play it fluently, merilly skipping along the data tracks as if they never existed.
However when creating a 'Hybrid CD', which should play seamlessly on both a VCD/DVD/PC player (as VCD) and on an Audio CD Player/PC (as Audio CD), this isn't really the answer. WHen you say 'I want to pop it into my CD player and that it will behave like a CD', you don't mean 'and I will need to remember to skip several tracks each time' or 'and I will need to manually press the first audio track number' or 'and it will play fine in my house but God knows how it will play on a friend's player'.
Well, yes, my questions in recent days were tied to this subject, trying several methods to achieve exactly this. I was hoping to come by today or tomorrow with a full-fledged tutorial on a true seamless VCD/CDDA hybrid - yet I'm stuck. Piggie needs help.
I'll do my best to describe all of the steps and thoughts taken sofar.
First, the problems:The first two problems were problems that Multimedia CDs have faced for some time now. The Mixed-Mode CD has this exact problem, as I'm quoting from the Enhanced CD page:
- VCD tracks play on a CD-Audio player as garbage.
- VCD tracks are always at the beginning of the CD.
- Multiple of these tracks.
- Aside from VCDToolkit, which I doubt anybody understands, no VCD authoring software allows 'proper' CDDA tracks (by 'proper' I mean that they are defined and accessable through the /CDDA folder and possibly referred to on PBC). This means that the CDDA tracks will never be accessible with PBC set On (on VCD/DVD players).
Essentially, when creating a VCD then 'adding' CDDA audio to it and nothing else, we're creating a Mixed-Mode CD - only with more than one data track (as the MPEG tracks are, for a CD-Audio player, nothing more than a Data track - i.e., non-Audio track).Mixed Mode discs consist of a track of CD-ROM (Yellow Book) data followed by up to 98 tracks of CD Audio (Red Book) data. [...] By definition, the format requires that the CD-ROM data be in the first track only. If one of these discs were played on a CD audio player, the first, data track would produce effects ranging from silence to full-volume static, depending on the brand of CD audio player used.
A solution made for Multimedia CDs is the CD-Extra format. This is a two-session CD, with the first session containg the audio tracks, and the second containing the data. A CD-Audio player reads only the first session; a CD-Rom drive [usually] reads the last session first; so everyone is happy.
Alas, such is not a solution we can use. A VCD must be single session, with the Data track as Track 1, MPEG tracks following, and CDDA tracks last.
Rats.
So on we go to a third method: The CD-Rom ready or Hidden Track.
This basically goes back to the Mixed-Mode standards - single session, data first - but using the first track's pregap to cover all the data. Most Audio CD Players will start to play from the first index mark of the first track - however the track actually begins at mark 'zero', and the 'first' mark of that track can be further down the road.
This method has been used on several Audio CDs, to contain 'hidden bonus tracks'. The player begins to play when it's told that the first index number is - but you can manually 'rewind' to the pre-gap area.
This, actually, is also the flaw of this method regarding the use of data: you can 'rewind' into the data area, and get the same static noise you wanted to avoid by not using a 'standard' Mixed-mode CD.
On the other hand, why would you want to manually rewind into the data mode?
However, a CD-ROM always reads the track from the beginning - so I concluded that so does a VCD Player, if it needs, mandatory, to read the ISO track, which gives it the VCD version used, Chapter entries, etc.
So this method - the 'Hidden track' method, seems to be the right choice.
Hadn't there been multiple tracks on a VCD.
As only the pregap of the first track can be 'hidden'. While we may define long pregaps for other tracks as well, those pre-gaps will be skipped only when [i]selecting[/] or skipping to these tracks - while playing seamlessly, those gaps play seamlessly as well.
So the problem is, making a single-track VCD, which pretty much explain why did I ask about it yesterday.
Now.
Ahem ahem.
Both these problems have been Theoretically solved.
Em-em-em-emphasis on 'Theoretically'.
If I may, I will proceed to describe the 'how' (Heck, if you've read that far, then I guess I may) - then I will most appreciate any kind of feedback regarding why the f*** doesn't it work properly.
Do note that what I prepare is a PBC-only VCD. My (theoretical, again) solution to using it as an Audio CD both on a DVD player (hey, some people relay on a single player - I'm one of them) is the idea of 'PBC On = VCD; PBC Off = Audio.
First, the VCD image. I used VCDEasy as a front-end to VCDImager & CDRDAO.
Start a VCD project.
Disable 'Analyze MPEG files'.
Add your MPEGs.
Un-check the check-box near them, making VCDEasy treat them as still MPEGs (alternatively, check 'Set newly added files as MPEG still, by default').
VCDEasy treats all movie-MPEGs as sequence-items, to be put as tracks with a pointer at the MPEGAV folder. It treats any still-MPEGs as segment-items, which are put in the 'SEGMENT' folder, which exist only in the ISO data track. However, as far as VCDImager is concerned, nothing prevents you from using MPEG-movies as segment-items as well; It is mainly intended for 'short clips', which can be used also as background for menus. The usage of these is demonstrated in vitalis' excellent guides and demo vcd.
Should you want to do any 'fancy stuff' regarding the movie order, make use of the PBC similar as how you would deal with a Photo-VCD. Essentially, there's not really much of a difference between MPEG movies and MPEG stills when both are 'segments' - segment-items are segment-items are segment-items. You would normally think differently regarding how you would want a still to behave (for how long should it stay on-screen, what it should do after that-long, where would it go next automatically and if) but you could do just the same with movies - and if you don't do it with stills, than VCDEasy's defaults will give you a pretty straightforward slide-show - or, in our case, the MPEG movie-segments one after the other.
Now create the VCD image using TOC format (you can change it in Settings ==> VCDEasy ==> CD Image options). Though I've done this both with TOC/IMG and CUE/BIN formats, the TOC/IMG will allow me one step of flexibility down the road - and both produced the same (er, non-good) VCDs.
Got it. Great.
Open the TOC file in a text editor (e.g. Notepad).
You'll have:
On the issue of the mandatory Track 2, look here.Code:// CDRDAO TOC // generated by GNU VCDImager 0.7.12 [cygwin/i686] CD_ROM_XA // Track 1 TRACK MODE2_RAW COPY DATAFILE "Drive:/Path/Track_01.img" <== This is the ISO track, including all segment-items // Track 2 TRACK MODE2_RAW COPY DATAFILE "Drive:/Path/Track_02_pregap.img" <== gap between ISO data track and first [mandatory?] MPEG track. START DATAFILE "Drive:/Path/Track_02.img" <== [Mandatory?] MPEG track. // EOF
Now.
CUT OFF the track 2 data. Essentially, you don't need it. VCDEasy creates it with a provided 4-sec splash-screen, in case you don't have a VCD 2.0 compliant player (or in case you tried to watch it with PBC off). However, we do use the PBC off function - just not for video; That's our 'Audio-CD' area.
Now, change the above to the following:
And so on.Code:[...] // Track 1 TRACK MODE2_RAW COPY DATAFILE "Drive:/Path/Track_01.img" START <=== This tells CDRDAO to put Index 01 here, and not at the beginning of the file ZERO 0:4:0 <=== The track itself needs to be 4 secs long in order to comply with CD standard. You could try 'SILENCE' instead of 'ZERO', which should be more audio-quiet-related, however I seem to get the same results. // Track 2 TRACK AUDIO PREGAP 0:2:0 <=== After a data track, I'd advise you to make an audio pre-gap no matter what. AUDIOFILE "Drive/Path/AudioTrack01.wav" 0 TRACK AUDIO AUDIOFILE "Drive/Path/AudioTrack02.wav" 0 [...]
The resulting should logically work. The ISO track should have one pointer in the MPEGAV directory to a file which doesn't exist on Track 2, however since it's a sequence-item which is never used through the PBC, it shouldn't really change anything.
That's on the theoretical level.
On the practical level, the final CD:Another thing I tried, after remembering vitalis suggesting that the actual sector data is incorporated in VCDImager's VCD sturcture, Is using the complete VCD image created, but as a single track:
- Didn't mount well on a CD-Rom drive
- Mounted, but the file in the SEGMENT directory couldn't be read, giving an 'I/O error'.
- Both my standalone DVD player and VCD player didn't really like what they've seen; One plays it 'over-jumpy', the other gets stuck after the first few musical frames (don't think it ever displayed some video)
- When turning PBC off, one player behaved as expected (meaning, played the audio tracks); the other played all tracks but the first (which is, actually, the second on the CD) - probably expecting it to be an MPEG. However it did try to play it - it just played nothing and the Time Counter was running at about double-rate.
- On an old Audio CD-Player, it actually behaved almost as expected: it did play the few last seconds of first track (logical) as noise, but no matter what I did it refused to play silence (amongst what I did: using SILENCE isntead o ZERO; using it in addition to ZERO which are entered before START; using a RAW silent 4 second sound file as the 4 seconds data; Nada de nada).
This way - theoretically again - the original planned image is preserved, sector by sector, including the 'redundant' 2nd track (which is now included in the first).Code:[...] // Track 1 TRACK MODE2_RAW COPY DATAFILE "Drive:/Path/Track_01.img" DATAFILE "Drive:/Path/Track_02_pregap.img" DATAFILE "Drive:/Path/Track_02.img" START <== Any further changes should begin here, with possibly a 'ZERO' line preceding this. [...]
Same behaviour, no change.
Just for the test of it, I also tried to burn both original tracks, as planned - but with the first one in the Pregap (basically, my first method, with the second MODE_RAW track in place, and with Audio tracks beginning at Track 03 onwards). The only change was that this time, the first (that is, third) audio track was indeed played anywhere (with PBC off).
As of now, on the theoretical side, all is in place.
On the practical one, I believe I have nothing more to say but...
Help!...
-- Piggie
P.S.
Anyone brought refreshments to those survivng up to here?[/list]
+ Reply to Thread
Results 1 to 10 of 10
-
-
I'm no expert at this and the questions you have asked are beyond me... However, I like the way you are thinking and hypothetically, it might work.
What I don't know is whether or not the first subindex (that is index01) can be something other than 2 seconds (i.e., 150 sectors) from the beginning of the track if track1 is a data track. The reason I say this is conjectural.
If you could do this, then surely it would have been done for the early mixed-mode data/audio CDs so that audio players would AUTOMATICALLY skip the "data" part (i.e., the speaker killing part) of the data track...
Perhaps you should speak to hvr directly. He may be able to compile for you a version of vcdimager that makes the "mandatory track2" an option rather than enforced (or if you can work with the source code, do it yourself).
If you make a segment-item only VCD, it "should" work with at least some players (?? most) and then you limit the number of non-audio tracks down to 1. I am dubious as to whether you could get your scheme to work, however.
Regards,Michael Tam
w: Morsels of Evidence -
I admit: I was counting on a reply from you.
Originally Posted by vitualis
Why wasn't it done for the early Mixed-Mode CDs? Probably for the same reason that the Red Book took into account the existance of data tracks, which is basically the same reason that CDs weren't invented in the 50s - they didn't think about it yet. People make progress, many times using new methods, many times trying to fit new methods to old limitations.
Anyhow, this method was (still is?) indeed used to do exactly that - have a Mixed-Mode CD which auto-skips the data track. The 150 sector gap is a minimal requirement - it can be extended.
Originally Posted by vitalis
Currently, the problem is that the 'hidden' track part, actually doesn'tread well where I excpect it to. On a CD-ROM player, where I was sure it's going to work, I can't really read the .DAT files - I get 'Cannot copy AVSEG01: The request could not be performed because of an I/O device error' - making the whole point of hiding DATA tracks useless.
And on a standalone player, I get unpredictable results. One player reads the file as if it was using a 'shredder' audio plug-in, the other simply plays a few )audio) frames every now and again. On the whole, I couldn't really say they got along well.
But if I had been able to read it properly on a CD-ROM drive, then I'd say "the theory is incompatible with VCDs". But as the theory exist for CD-ROM drives, then as long as I didn't succeed making it work on a CD-ROM drive, then I still didn't really checked the theory on a working CD at all.
I stumbled upon this page, which also explains CD-ROM Ready format - and here it seems that the DATA track is actually combined with the audio track - Not 'Data, ending with pause, then audio track' - but a single track, containing both Data, Data post-gap, Audio pre-gap, then Audio.
However, if done this way, which mode should I define the track as? Audio? XA?
I just tried these two methods (yay, I'm on my Eleventh coaster since yesterday) - Defining the DATA+Audio track as Audio makes the CD-ROM drive & standalone treat it as audio. They don't see the hidden data, they don't see the MPEGs, They pretty much got to Pee, be not See.
Defining the track as MODE2_RAW resulted, again, with the CD-ROM drive giving an I/O error; The standalone stuttering heavily; Plus the Audio player not able to render the Audio portion (well, it's a MODE2 Data track, what'dyou expect?).
Still trying. Eleven gone, 89 more coasters to go 'till the package runs out.
-- Pedantic Piggie -
One problem I think I see is that the ISO9660 track on VCD's has a diffrent sector size ( more error correction ). Segment play items have a LOWER bitrate requirement than standard play/sequence items.
This could be lending to the choppy playback. -
Originally Posted by snowmoon
However -
Segment play items have a LOWER bitrate requirement than standard play/sequence items.
Best Regard,
-- Piggie -
The specs are the same.
Segment play items are still in Form2 type sectors despite begin in track1. The other data (e.g., files in the filesystem) are in Form1 sectors.
I've put short video clips as SPIs on VCDs to confirm this and they play fine on my stand-alone VCD player (which I'm pretty damn sure can't play anything over 1x).
As an aside, this is the only way of putting video clips < 4s in length on a VCD.
Regards.Michael Tam
w: Morsels of Evidence -
PigonWing:
I tried answering the other day, but it disappeared after I hit [SUBMIT] and never reappeared. I'll try it again.
You're right in guessing that VCD+CDDA is like a Mixed Mode, 3+track disc. That's because it IS exactly a Mixed Mode--specifically, a CDROMXA/Bridge+CDDA.
Unfortunately, you've got the solution right in front of you, but it's an imperfect solution, and you want a perfect one. Well, there just isn't one.
Let's back up...
What you want is, in essence, an Enhanced CD. You can get this info from lots of other sites on the net but I'll lay it out for you again. There are 3 different kinds of enhanced Audio CD formats.
1. Mixed Mode. 1st track(s) is data, later track(s) in same session is audio. VCD falls under this category. Obviously suffers from Audio CD player problems with Data hash noise.
2. Hidden track (aka AudioActive aka CDROM-ready). An offshoot of CDI-ready, it is like mixed mode, but the data track is prepended to the audio track and advanced into the Track 1 pregap (as T1I0). Doesn't specifically have a problem with Data hash noise (unless you REWIND), but does have recognition compatibility problems. I believe you have experience those during your recent quest.
3. CD Extra (aka CDPlus aka Bluebook). The most recent and the now the only industry-sanctioned version. 1st session is audio track(s). 2nd session is data track. Audio cd players only see 1 session, so only see audio. Recent CDROM drives (multisession capable) will see last or all sessions, which includes data.
You've already figured out the problems with VCD uses in CD Extra, namely that VCD players are also like Audio CD players-single session only. Also, the VCD spec requires that the track order remain as ISO, MPEG(s), CDDA(s), but all in one session. This is opposite what you get with CDExtra. Just won't work!
Now, let's go back to the possibility of VCD+CDDA thru Hidden Track.
Your idea of incorporating VCD into the Hidden track is based on 2 premises:
1. Shifting the material into the hidden track would retain the VCD functionality. --and--
2. Modifying the track count so all items would fit onto 1 data track would still work.
Both of these premises are faulty.
1. The VCD spec requires that items be in exact absolute places on the disc. Here is a quote from the VCDImager manual:
In general, a Video CD is made up of several mode 2 (and optionally cd-da) tracks. The
layout of a Video CD is as follows:
• lead-in area containing the TOC.
• Mandatory pre-gap consisting of 150 sectors (00:00:00 – 00:01:74).
• ISO-9660 data track. The beginning of this track is defined to have the lsn 0. See Section 1.4
[The ISO-9660 Track], page 6.
• ISO-9660 structure at 00:02:00 consisting of 16 empty sectors, primary volume de-scriptor
(PVD) and directory records with file pointers to information area structures
(described below) and external pointers to mpeg/cd-da tracks following the ISO-9660
data track.
• Optional karaoke area at 00:03:00. (not supported yet by vcdimager)
• Video CD information area at 00:04:00.
• Optional segment play item area with mpeg items aligned in 150 sector segments.
There can be up to 1980 segments on a disc.
• Optional program and data file area, for additional files added to the ISO-9660 track.
• Up to 98 mpeg mode 2 form 2 tracks wrapped in front and rear margin 2 empty sectors and
preceded by (at least) 150 empty sector pre-gaps.
• 150 sector post-gap after the last mpeg track, as required by the ECMA-130 standard.
• Up to 97 3 cd-da tracks. (not supported yet by vcdimager)
• Lead-out area.
So if you have a PBC that says that Segment Play Item 1 resides at LBA (logical block address) 520, then shifting everything earlier by a couple of seconds or minutes is gonna wreak havoc with all the pointers. This seems to be what is happening with your test discs, and it doesn't surprise me that you are having trouble with playback. also...
2. The VCD spec does specify 2 tracks as minimum (1 ISO/Filesystem/XA Mode2Form1+2, and 1 MPEG/XA Mode2Form2), with a failsafe bumper on track 2 even if you're just using ISO/Segment items.
I commend you on wanting to do a combo VCD+CDDA disc, and on trying to find minimal or no workarounds with playback--hating the extra things that have to be watched out for by consumers. But you've traded one set of difficulties for another, and your disc-to-drive compatibility has been lowered. As a matter of fact, most modern computers won't work with your discs at all, because in 1995 when Microsoft, Apple, Phillips and Sony agreed on the BlueBook, Microsoft (and possibly Apple) disabled driver functionality with Hidden Track discs. You have to go back to DOS/Win31 or use a hacked CDFS driver to recognize it. I don't think most consumers would want to do either.
So we're back to Mixed Mode. Well, I'm just waiting for VCDImager/VCDEasy to incorporate these and some other enhancements (LongFileNames / Hidden Attributes). I have contacted HVR and am hopeful.
But of course, if you DO find out how to get it to work, let us all know here. It's always great to increase your knowledge, and this is one GREAT forum.
Best of luck,
Scott -
Heya Scott,
Your answer has indeed been both eyeopening, and confirming what I've found out / tried / acknowledged in recent days ( and specifically yesterday), and to top it all layed out in an understandable manner.
Doing so twice, as the first time was lost due to the 'submit' button making the reply vanish, is appreciated in a manner I cannot describe - I remember it happening on my first posts to the forum (over a year ago), and the frustration of laying out a complete, detailed, careful description of what I'm after, then seeing it vaporize.
And now to the point.
Indeed I have found out (actually it was written before my eyes, in the last page I've linked to) that making an 'Enhanced CD' using the hidden-track method is no longer supported by at least Microsoft.
However, if I could get it to work on a standalone player, still hide-gapping it for CD-Audio players, that would be satisfying. Yes, indeed, it would be less than 'perfect' as I originally intended (Audio+Standalone VCD/DVD+CD-ROM would cross-off the CD-ROM), but would be satisfying at least for CD-Audio players.
As far as your quotes from the VCDImager manual go, I actually don't see why this can't be done:
Originally Posted by Cornucopia
But indeed, my own experiments proved faulty. While both the standalond DVD & standalone VCD players have recognized the CD as a VCD 2.0, they both had trouble playing it - one with choppy playback, the other with playback of a few [audio] frames at intervals of about 30-40 seconds.
So if you have a PBC that says that Segment Play Item 1 resides at LBA (logical block address) 520, then shifting everything earlier by a couple of seconds or minutes is gonna wreak havoc with all the pointers. This seems to be what is happening with your test discs, and it doesn't surprise me that you are having trouble with playback.) ignorant: What's an LBA? How does it refer to the index point, if at all? If it doesn't - then how, by shifting the index numbers, do I damage the pointers, which point to absolute time-frames on the CD?
2. The VCD spec does specify 2 tracks as minimum (1 ISO/Filesystem/XA Mode2Form1+2, and 1 MPEG/XA Mode2Form2), with a failsafe bumper on track 2 even if you're just using ISO/Segment items.
So my question now is. is this a restriction on the player's functionality (as the restriction on MS CD-ROM drivers), or is there something in the image created by VCDImager.
Yup, I think I'll try contacting hvr as well. I'll certainly keep this thread updated with anything new that might come around.
Many, many thanks again for your attention and time,
-- Piggie -
I think I see what you mean about Index 1 not completely conflicting with the absolute positioning, except I would guess that the firmware in Set-top VCD and DVD players is set up to act just like Audio CD players in this respect.
Code:Load Disc and figure type of disc. Jump to Index 1 of Track 1. Play
BTW, There is a hacked version of the MS cdrom driver that is floating around on the net. I used to have it. Sorry, don't now. I believe it was just taken from the DOS/Win3.11 floppies.
Also, you state that VCD players don't make use of Index stuff. Yet, they must to some degree. That is how the chapter/entrypoints are marked.
I don't believe this overall problem is in any way influenced by the way VCDImager creates disc images, though.
Good luck, this is an interesting mystery.
Scott -
Originally Posted by Cornucopia
BTW, There is a hacked version of the MS cdrom driver that is floating around on the net.
Also, you state that VCD players don't make use of Index stuff. Yet, they must to some degree. That is how the chapter/entrypoints are marked.
I don't believe this overall problem is in any way influenced by the way VCDImager creates disc images, though.
I'll update.
And thanks for your attention and thoughts!
-- Piggie
Similar Threads
-
Expert advice needed regarding mpeg2 (ts) to mpeg4 (h264) encoding issue
By janvandenberg in forum Video Streaming DownloadingReplies: 16Last Post: 13th Dec 2011, 17:52 -
Reading CDDA on my PC?
By DVDAl in forum Software PlayingReplies: 2Last Post: 9th May 2009, 12:44 -
Expert Advice Needed: VHS Conversion
By Maxac in forum Capturing and VCRReplies: 6Last Post: 17th Feb 2009, 13:33 -
CDDA on DVD, aka Audio DVD-Video
By DereX888 in forum User guidesReplies: 80Last Post: 9th Dec 2008, 20:26 -
How to make a VCD/SVCD with CD Audio (CDDA)
By Baldrick in forum User guidesReplies: 74Last Post: 24th Dec 2007, 18:37