Preface:
This guide is a revised and an edited version from Doom9. I have edited it in order to contain only what is needed when working with your Dream Box Recordings. Many thanks go out to the creators of this original Guide and to the people who have contributed with many other articles.
Hope this will help those who are wishing to create their first DVD from the recorded content of your Dream Boxes. If you follow the steps and don't try to experiment and skip any steps, you will have your first DVD playable on your DVD Player Set Top. I had 100% success and a 100% quality DVD on my first time up to bat. So can you !!!
This guide is setup up to make a simple DVD with as little authoring as
possible. There are many advanced programs out there with many special feature.
Once you learn the fundamentals you can then move on to these programs with a
good understanding from what you have grasped here. There are also programs that
do it all for you, from the beginning to the end. These programs also cost allot
of money!! All programs here are supplied free of charge..... and they do the
job!! .....So except for the Burning Software and the DVDs, which normally you
have paid for when you bought your DVD Writer....Everything else won't cost you
anything.....well maybe the coffee while you waiting for the burning ![]()
| N-Joy |
| Spartan
|
TS to DVD
You'll need the following software for this guide
These programs are attached with this guide when you downloaded it. All except for the DVD burning and viewing software. It is assumed that you have such Software or else you wont be able to burn your DVDs. The files are in the folder called "TS to DVD Programs" after you have Unzipped the "DreamBox TS to DVD" zip file.
A DVB viewing and Recording Software of your choice.
PVAStrumento or ProjectX & Java Runtime
Environment
MPEG2Schnitt (that's German for
MPEG2Cut)
DVDPatcher
IfoEdit
DVDFab
These steps are the same regardless of the output you're going to create (be it DVD, DivX or SVCD).
Step 1: Recording on HD of Dream Box
Choose the channel you want to record. Then press the "VIDEO" button of your remote control to get into the Video Recording mode. When you are ready, just press the Record symbol (red dot) usually the "RADIO" button found on your remote control. The process of recording the selected channel will start. When you have recorded all you need, stop the recording by pressing the STOP Symbol (black square) usually the "TV" button. Once you are finished recording, you can find the recorded content by entering the "FILE" mode of your Dream Box. This can been seen by pressing the "DREAM" button on the remote control and choosing "File Mod > Recorded Movies". By default the last recorded content will start. If you press the "Down Arrow" button you get the list of all recorded movies on the Dream Box HD if you have previous recording.
Step 2: Transferring the TS File
What you want to do now is transfer the recorded Content "TS File" to the HD of your PC for processing. First make a folder on your PC and give it a name of your choice, example "DB Recording". Then open your FTP program and FTP to the Dream Box. The recorded content can be found at /hdd/movie. Some times the movie is split into 2 or more files with TS extension. These are the file that you need to transfer to you HD of your PC. It is a good idea to have already created a folder that you will be using for your Recording processes. What I usually do is to create a Folder called "DB Recording" and in this folder I create 2 sub folder. The reason for this is during the whole process of TS to DVD, you will be transforming the files from one stage to another, and this way it helps me track them easier. My folder are setup as follows when I recorded "Dracula". D:\Dream movie process\Dracula\Dracula authoring.
For the moment it is not so important how you create your folders and I don't want to mix you up from the beginning of this guide. You will see the need for this as you move along with this guide.
Step 3: Demultiplex the DVB stream
Now that you have a TS file(s), it is time to extract the elementary streams (audio and video). You have two options here: PVAStrumento and ProjectX. PVAStrumento is easier to use, and should usually work fine, but ProjectX has proven to be more stable in my tests, and gives you about every option you could possibly desire.
We're not only demuxing in this step, we're also ensuring that our audio and video stay in synch even in the presence of transmission errors.
Bellow are the guides fro using PVAStrumento or ProjectX.
USING PVAStrumento :
Once you start up PVAStrumento, you might be a bit confused. It really doesn't look like your average Windows tool:

However, it's quite easy to handle. All you have to do is press the rectangle with the three dots right to the slightly reddish input stream box, then select the stream you captured (it can be pva or ts, even an MPEG-2 PS (mpg) is fine). In case you had your recording software split the movie at a certain position, just select all the captured files (shift/mouse) and put them in the correct order:

Then if you press the Info button, PVAStrumento will give you some interesting information about video and audio streams contained. Note the aspect ratio which in our example is 720x576, the same resolution as a DVD. In case the resolution is smaller (if PAL is your video system the vertical resolution will always be 576), you might have to patch your video file prior to importing it to a DVD authoring tool but more about that later.
Now press demux.
Here you have the option to configure the output. Basename indicates
how the output files will be named before the extension. Select the 3 dots
button and navigate to the folder you have created for these process and give it
a name. If you type movie in that field, your output will be named movie.mpv,
movie.mpa and movie.ac3 (in case you have both MP2 and AC3 audio).
Also check Write .idd files for MPEG2Schnitt. This creates information files about video and audio which the cutting program can use.
In case your file system is FAT32 (incapable of containing files larger than 4 GB) you might also set a split size in the Split tab (or better, convert your HD to NTFS.. for digital video it's the way to go).
Then, press start to start the demuxing process. Or,
if you want to handle multiple movies at once, press create/add job to
add another job for demuxing.
This will take a while, depending on the speed of your harddisk. If you have two harddisks, make sure the source is not on the same disk as the output.
Using ProjectX :
Where the heck is the exe file you might ask? There isn't any. ProjectX is a Java program. In order to run it, you'll need the Java Runtime Environment (JRE) installed. This program is included when you downloaed this guide, "j2re-1_4_2_03-windows-i586-p-iftw". After the installation, you can just double-click on ProjectX.jar and the program will launch.
At first, you'll feel like being on Mars.

Some people might like that "different" look, but if you rather stay closer to home, click on Options, then select com.sun.java.swing.plaf.windows.Windows (that's the 3rd and last option) from the installed look & feels dropdown list.
Now that the program will look a bit more like what you're used to, click on the extern tab, and check Mpeg2Schnitt idd version V2/A3:
This will create information files about video and audio which will
then be used by the cutting program and spare you from having to wait for a
while when you load the content into the cutting program. Having this analyzing
done while ProjectX goes over your movie is a lot quicker.
Now go back to the main tab, and right click in the
rectangular white area in the upper left:
Then select add from the list, and select your PVA or TS file. If
your recording software split up the movie, add each captured file using this
procedure.
Then press Go! to start the demux process.
This will take a while, depending on the speed of your harddisk. If you have two harddisks, make sure the source is not on the same disk as the output.
For more information about ProjectX, please refer to the ProjectX reference document.
Step 4: Cut out commercials
Don't you love it when your favorite movie is interrupted by commercials? Well, we're gonna get rid of them now. Start up MPEG2Schnitt.
Select File - Open video/audio and select your demuxed video file (normally that's a .mpv file). Don't worry about the audio, MPEG2Schnitt will automatically open associated audio files as long as they have the same name (for instance movie.mpv and movie.ac3). The example shows just one MP2 audio stream but the procedure is the same for multiple audio files and or AC3 audio.

In the left part of the window, MPEG2Schnitt will show a lot of
information about your source.
In the center, we have, big surprise, the vide preview and
right below it, a list of our sources:
Now in case you have multiple audio files of one format, MPEG2Schnitt
might now have added them all, so right click in that window and select add
audio, then add your additional audio stream.
At the bottom of the window, we have the controls:

First we have a slider which you can use to move around in the video stream. Then we have Play and Stop buttons, which have obvious functions. The < IN and IN > buttons jump to the previous / next I frame, the < OUT and OUT > buttons jump to the previous / next P frame. While the distinction between the frame types is not a must to know (if you want to know check out the glossary), it is important to know that a video must begin with an I frame, but can end with a P frame, hence the naming of those buttons. Use the slider, then the IN buttons to move the I frame that is closest to the start of your movie, then press the In button:
Then move the slider to the right, until you locate the first block of advertising. Then use the slider and OUT buttons to locate a suitable position to cut the video stream without getting any of the annoying advertising inside your video. Press the Out button to mark the end of the first cut, then press New to add this part of the movie to your Cut list. The cut list is shown to the right of the video preview. As you select your in and out position, the timecode of the selected cut points, along with the length of the part you're going to cut is shown to the right of the buttons. You can also use the go to In and go to Out buttons to go to the start and end of the current cut. Then repeat this position for the other parts of the movie.
Also note that the < and > buttons can be used to move one frame forward / backward, but keep in mind that you must cut at a I or P frame (but in fact MPEG2Schnitt won't let you press the In and Out buttons if the current video position is not appropriate).
In the end you'll have a cutlist like this:

If you want to edit an existing cut, click on it, then the Modify button at the bottom will become active. Change your in and / or out position, press Modify and the selected cut will be changed accordingly. Or if you want to delete a cut, right click on and select Delete selected marks.
It's now time to cut for real.
Just above the Cut button, you'll see the properties of your
output. Our project will only be 2.17 GB so there's plenty of room for another
movie on the same DVD.
Now if for some reason you'd rather want each cut to get a separate file, you could check to separate files, or if you want to extract just one cut, select the appropriate cut from the Cut list, then check selected only and press Cut.
Normally, you'd just press Cut without using any of those options.
The cutting operation will once again take a while, but in the
end you'll have one mpv file containing just the movie, and the appropriate
audio files.

Step 5: Patching the video file (optional)
Not all DVB sources use the same horizontal resolution. Certain stations broadcast using lower resolutions, which are not DVD compatible. Your DVB software or hardware player will stretch the stream (for instance a 528x576 stream) to the proper playback resolution (720x576 for a PAL stream). While we cannot stretch an MPEG-2 video stream without re-encoding (only a playback device can do that, and obviously the decoded video data is stretched, not the original MPEG-2 data), we can trick DVD authoring tools into believing they're dealing with a proper DVD resolution. To do this, start up DVDPatcher and select your .mpv file. Then set the Horizontal Size to 720 and press Patch now!

DVDPatcher will come up with another window listing what will be changed, press Start to get the process started. Note that after importing your video files into a DVD authoring tool, you'll have to patch the video file back to its original resolution. And not every DVD authoring program requires this trick. For instance, the tools used in this guide do not require this step.
Step 6: Author the DVD
Obviously, there are many possibilities for this step, but for now we'll use the only freeware solution, IfoEdit. You can of course also use a commercial program.
Once you've started up IfoEdit, select DVD Author, Author new DVD.
![]()
This process is very straightforward:
Press the first single dot button to select your video stream, the
2nd button to select your audio file(s). Then select each audio stream and set
the appropriate language from the dropdown list on the left.
You won't have any subtitles so you can skip those.
Now for chapters. If you want chapters, you might want to reopen your cut video stream in MPEG2Schnitt and find some suitable chapter positions. Write down the frame number of those positions, then add them to a file called CellTimes.txt, one position per line. Here's a short example:
5626
11592
17771
22502
Then create those chapters by pressing the 4th single dot button and selecting your CellTimes.txt file.
Finally set an output path and press OK to start the authoring process.
In the end, your Destination directory will contain something like this:
02.02.2004 22:05 6'144 VIDEO_TS.BUP
02.02.2004 22:05 6'144 VIDEO_TS.IFO
02.02.2004 22:05 51'200 VTS_01_0.BUP
02.02.2004 22:05 51'200 VTS_01_0.IFO
02.02.2004 22:03 1'073'739'776 VTS_01_1.VOB
02.02.2004 22:04 1'073'739'776 VTS_01_2.VOB
02.02.2004 22:05 341'684'224 VTS_01_3.VOB
7 File(s) 2'489'278'464 bytes
As you can see, this doesn't fill a DVD-R. In fact we could just add a second movie. You would process the 2nd movie just like the first one. Here are the contents of my 2nd movie: In case there's no room for a 2nd movie you can skip ahead to burning.
02.02.2004 22:13 6'144 VIDEO_TS.BUP
02.02.2004 22:13 6'144 VIDEO_TS.IFO
02.02.2004 22:13 43'008 VTS_01_0.BUP
02.02.2004 22:13 43'008 VTS_01_0.IFO
02.02.2004 22:11 1'073'739'776 VTS_01_1.VOB
02.02.2004 22:13 1'025'511'424 VTS_01_2.VOB
6 File(s) 2'099'349'504 bytes
In total, that's below 4.37 GB and will thus fit on a single DVD.
Then, you have to rename some of the files. I took my 2nd movie and renamed it so that it looks like this:
02.02.2004 22:13 6'144 VIDEO_TS.BUP 02.02.2004 22:13 6'144 VIDEO_TS.IFO 02.02.2004 22:13 43'008 VTS_02_0.BUP 02.02.2004 22:13 43'008 VTS_02_0.IFO 02.02.2004 22:11 1'073'739'776 VTS_02_1.VOB 02.02.2004 22:13 1'025'511'424 VTS_02_2.VOB
In other words, I renamed every VTS_01 file to VTS_02. Now copy every VTS_01 and VTS_02 file to a common directory (and forget about VIDEO_TS.BUP and VIDEO_TS.IFO, you won't need them).
Then start up DVDFab and select Create video manager (VIDEO_TS.IFO).
Then select the directory where you copied all your files to, and
press Continue.
It will only take a second, then DVDFab will show you this message. As the message says, the missing VIDEO_TS.IFO and VIDEO_TS.BUP files have now been created.

Back in the main screen, select Correct DVD sectors and
press Continue (the path will already be selected unless you have closed DVDFab
in the meantime).
Now all that remains to be done is burn the DVD.
Burning DVDs
DVDs, much like CDs, can be burned using different means. Your DVD authoring, DVD transcoding, etc. Tool will normally give you a VIDEO_TS folder containing a number of .IFO, .BUP and .VOB files. Most commercial burning programs can directly burn such folders.
I have prepared guides for the burning programs that I currently own: Nero and Instant CD/DVD.
Once your done burning, you can play your newly made DVD on your DVD Player Set Top for you and your whole family to enjoy.
Happy DVDing
Spartan
Nero makes the DVD burning process really simple. All you need is a working VIDEO_TS folder.
Start up Nero, and when the New Compilation window comes up select DVD from the dropdown list, then select DVD-Video:

Also set Multisession mode to No Multisession then press New. Then you'll be presented with 2 windows, on the left you'll see the compilation, on the right you'll see a filebrowser much like Windows Explorer. Drag and drop the content of your VIDEO_TS directory on the harddisk to the VIDEO_TS directory on the DVD compilation as shown below.

Then press the burn button
, select the write speed and
press the Write button to start burning. Then take a long coffee break as
burning DVD literally takes ages, especially when you burn a DVD-RW for testing
purposes.
Happy DVDing
Spartan
DVD Burning using VOB InstantCD/DVD
Personally I think InstantCD/DVD is bloatware and contains way too many tools but that's just me. It also seems to have problems with burning DVDs if no DVD is in the drive when you get to the actual burning dialogue, so make sure you put a DVD in the drive prior to launching InstantCD/DVD. When you start up InstantCD/DVD you are greeted with a screen that allows you to select which part of the suite to launch. Select Data, then InstantDisc.
By default, a wizard will now be started. If you have deactivated this, select File - New project from the main menu.
Then select Data disc and press Create.
Then set Disc type to DVD (for some wicked reason the latest version
does not list DVD-R/W or DVD+R/W but you don't have to worry about that).
Make sure the disc size is set to 4.7GB, then press Next.
In this screen you can decide on the label the disc will have
(normally you'd put the name of the movie there).
Then uncheck the long filenames option, make sure that Include UDF file system on the disc is checked and that the UDF version corresponds to 1.02.
Then press Next.
Now it's time to select the actual files. Browse to the directory
containing your VIDEO_TS folder. Then select the VIDEO_TS folder in the right
part of the screen and press the Add button.
Note that the folder must be present in the list in the lower window part, and not the individual files:

Then press Next to proceed.
In the next screen just press
Finish and you'll get to the burning dialogue.
If only CD writing speeds are listed under Write speed, you have to
put an empty DVD in the drive, then create the project again.
Now select your write speed and press Write to start burning.
Happy DVDing
Spartan
In digital TV, the picture is compressed using the well-known MPEG-2 format, before being broadcast as digital data stream (MPEG2 transport stream - MPEG-2 TS). MPEG-2 transport streams are part of the MPEG-2 standard, but most tools cannot directly handle transport streams as its structure is different from MPEG-2 elementary streams we use on DVDs or SVCDs. This is where ProjectX enters the picture. It works like an MPEG-2 TS hardware decoder, splitting the transport stream into its components (MPEG elementary streams like audio, video, and other data (e.g. teletext)). While splitting the transport stream, ProjectX also checks the stream for errors and synchronizes video and audio. If ProjectX converts the transport stream to another format, it won't analyze and fix streams as thoroughly as in split mode.
ProjectX supports the following transport stream formats
ProjectX is an open source project for educational purposes and testing. It is written in Java (hence the look), and distributed as source only so you have to compile it on your own, or download a compiled version from this very site. You can use ProjectX in GUI mode, or via CLI (commandline, if you don't know what CLI is you'll probably never use that mode).
Table of Content
main
files
out
special
video
audio
teletext
extern
options
info
As ProjectX is a Java program, starting it is a bit different from what you're used to. There is no .exe file to double click on. In order to run it, you'll need the Java Runtime Environment (JRE) installed. After the installation, you can just double-click on ProjectX.jar and the program will launch.
The first time you start up ProjectX, you'll be taken directly to the Info tab, where you have to agree to the Terms of conditions.
Upon checking I agree, you'll be able to switch to another
tab. This will also create an initialization file (ProjectX.ini) in the same
directory where your ProjectX.jar resides.
As you can see, ProjectX looks quite different from other
programs you're used to. Some people might like that "different" look, but if
you rather stay closer to home, click on Options, then select
com.sun.java.swing.plaf.windows.Windows (that's the 3rd and last option) from
the installed look & feels dropdown list.
In the main tab, you select the main and base tasks of ProjectX. It's also the default start point, as well as the place where you start an operation.
Multiple streams can be treated as a unit (collection), and be
processed together. To do this, you have to activate work with all
coll's. If deactivated, only the currently active collection will be
processed.
ProjectX can launch external applications. To enable this feature, you have to check p.exe and configure the external programs in the options tab.
The coll.# dropdown menu lists available collections. You can use it to switch between collections. The files belonging to the currently active collection are shown to the right of the dropdown menu (currently c:\capture01.pva and c:\capture02.pva). Right clicking in the are where the input files are being shown will open a menu where you can add or remove streams, or switch to the a special menu for collections (specials).
Using the same menu, you can also send the currently selected file
directly to an external program (sendTo CL#3). Files can also be dragged
and dropped to the collection window, but more about that when we talk about the
files
tab.
Below the first two checkboxes, we have the output directory
for the currently selected collection (currently set to the path of the first
input file - c:\).
parse MPG as VDR enables ProjectX to parse MPEG PS, where the AC3 information is not defined by a SubID . Such streams can only contain one AC3 stream and currently, the VDR format is the only one to require this option. If ProjectX reports many different SubIDs, enable this function.
You can use the action dropdown list to define what ProjectX does with a stream. It can either demux the currently opened stream (collection), or to convert a stream into another format, e.g. PVA, TS or M2P modular stream. If you have enabled cutting in the files tab, please note that the cut is only performed in demux mode. If another action is selected, ProjectX will use the first defined cut point (if there is any) as the starting point for the operation, but only if use BytPos. for cuts has been checked. When converting to another format, streams won't be checked for internal errors either.
The A/V offset field indicates the audio / video offset at the start of the current GOP. There are ways to calculate this:
a) the difference between video and audio presentation time stamps
(PTS).
b) the difference between video and audio frame at their physical
start.
c) the difference between a) and b), in other words, the actual
offset.
The value of c) should be half the length of an audio frame at the maximum (e.g. 12ms for a 48kHz MPA, 13ms for a 44.1kHz MPa and 16ms for a 48kHz AC3).
The audioexport field indicates the status of the audio extraction while it is ongoing.
show teletext header infos will show the headline of the currently found teletext page, in case a teletext stream is being processed. VPS (Video Program Service ) timecodes will also be indicated in case the TV station supports it (ORF uses VPS in digital teletext).
Once ProjectX has been configured, pressing Go! will start
processing. Pressing the i button will start a quick analyzation pass on
the first few megabytes of the currently selected streams. This can be useful to
identify stream IDs. Those are required to extract PES RAW streams from a PVA
file using the e button, or to limit TS processing to the stream IDs you
actually want processed. The currently active process can be aborted using the
button C (for Cancel), or paused using the P (for Pause)
button.
The graphic below the Go! button indicates the timecode of the data that is currently being processed and the newly calculated GOP bitrate. The red line represents 9 mbit/s, the magenta line is 2.5 mbit/s and the yellow line (actually it's normally not really a line since bitrates tend to change), indicates the actual bitrate of the video as time progresses.
The structure of the current GOP is also indicated (just above the bitrate indication in text form). I-frames are cyan, b-frames white and p-frames magenta. If there is a red bar on the right side (peak hold), the current GOP has more than 15 frames (when converting to DVD this can be important as the DVD standard limits a GOP to 15 frames), and if a bar is divided into two parts, it means we're dealing with interlaced frames. A yellow bar on the left border documents an existing sequence header. Last but not least, the number of written MBs is also indicated.
In the log window, ProjectX will display runtime information when starting up, and during processing.
The Status bar will show you the status of the currently active process, as well as time elapsed and remaining
Last but not least, the number in the lower left corner of the window indicates the split number if splitting has been activated.
In the files tab, you manage streams and their directories. This is also where some information about the streams is shown.
Streams belonging together are grouped in so-called collections. The
first file in a collection should always contain the (primary) video stream or
in case only audio / teletext is to be processed, the first file should contain
the primary audio / teletext stream, and only then should other, separate audio
/ ttx streams be added.
You can group any type of video / audio / teletext file together to a collection.
When adding files, if the 2nd file has the same type as the first file (for instance PVA), they'll automatically be grouped together in a collection (unless you're dealing with elementary streams). All streams of a different type will be treated separately (they are considered to be secondary streams). Secondary streams in PVA / TS or video ES format are not supported and the video data in those streams will be ignored.
The coll# dropdown menu is the same as in the main
tab and allows you to select a collection. The - button will delete the
currently active collection. To create a new collection, press the + button.
Pressing the +< button also creates a new collection, but all currently
selected streams that are present in the autoload directory will be
automatically added to the collection. To add all currently selected streams
that are present in the autoload directory to the active collection, press the
< button.
Files belonging a collection will be shown below the coll# dropdown list and right clicking into this area will bring up the same context menu as in the main tab.
Below the list of files, you'll have three buttons. The first two (pointing up and down respectively), allow you to move a file within the collection. The third button (>) deletes the currently selected file from the collection.
Then we have a + and a - button, which can be used to create and delete output directories, which will then be listed in the dropdown list just below those buttons.
Selecting a directory from the list assigns it to the currently
active collection (the output directory of a collection is listed above the
buttons).
In the right part of the windows we have the autoload
directories.
You can create / delete autoload directories just like you create /
delete output directories. ProjectX will show the contents of the all the
autoload directories in the list shown on the left. Press refresh list to
make ProjectX reread the contents of the autoload directories.
If you select a file ProjectX can process, it'll show you
some information about it in the information area below the directory selection
dropdown lists:
Double clicking on the left side of this information area will bring up a Hex editor.

A double click in the right part of the file information area brings up a window where you can edit the first sequence header.
You
can edit the horizontal (H), vertical (V) and bitrate (BR) of the first sequence
header in the stream. Press change to save the changes, and cancel
to abort.
Now let's have a look at the specials menu (select a stream, right click and select specials)
In this window you can cut streams. Cutting is only active if the
stream is being demuxed (so action in the main
tab has to be set to demux), and only entire collections can be
processed (but of course if you want to treat streams separately, just put them
into separate collections).
Use the slider below the preview window to move around the video, and the 4 buttons right above the slider for a more fine grained positioning. The < and > buttons can be used to move to the previous and next I-frame. Just below the picture you'll also see some info about the resolution of the currently active stream, as well as it's aspect ratio, and the position within the stream. Just below that, you'll see the name of the currently active file. Note that the preview window will always show an I-frame
Double clicking on the preview window allows you to save the preview picture to a bitmap file.
You can also navigate the video using your keyboard. First click on the slider once, then you can use the following button shortcuts:
<- moves to the previous
I-frame
-> moves to the next
I-frame
Shift -> advances at 1/10th the
speed of the >> button
Shift <-
works like << but at 1/10th the speed
Ctrl
-> is the same as the >> button
Ctrl <- is the same as the << button
Alt -> works like >> but at 10 times the
speed
Alt <- works like << but at
10 times the speed
Page up advances even
more than
Page down is the reverse action
to page up
Home goes to the beginning of
the stream
End goes to the end of the
stream
a adds a cut point
d deletes a cut point
n goes to the next cut point
p goes to the previous cut point
The number of cut points and the expected output size can be seen just below the position slider. Once you've found a cut point, press add point and del point to delete the currently selected cut point (cut points can be selected from the dropdown list to he left of the deletion button). The cut list will be sorted by position in ascending order automatically.
In the right part of the windows, we have a couple of interesting options:
also preview GOPs w/o sequ. header will enable ProjectX to show GOPs without a sequence header. This is not required / suggested for DVB streams. If activated, ProjectX won't automatically jump to the first cut point.
The PES(&Sub)-ID/PID list allows you to indicate the stream IDs to be processed. Double clicking on an ID in the list will remove it again. The selection can also have an influence on preview (for instance when MPTS streams are to be processed). In case of TS streams, predefined PIDs will be checked until usable data is found.
Pressing transfer selected (P)IDs to new coll# will create a new collection and transfer the (P)ID preselection to that collection. Cut points will not be transferred.
Pressing transfer cutpoint pairs to new coll# will create a new collection and transfer all cutpoints from the currently active collection to the new one. To use this and the (P)ID transfer function, you should enable create coll# as subdirectory, to prevent that settings are overwritten.
If files in a collection have different horizontal resolutions and / or aspect ratios, you can correct that by checking H-Resol: / DAR: and select the appropriate horizontal resolution / DAR.
The next dropdown menu allows you to select one of three cutting varieties. Note that unless use BytePos. for cuts is selected, the preview window will not be active.
It is also possible to save the list of cutpoints to a file by pressing save Cutpoints to file. Similarly, a file with cutpoints can be loaded by pressing load Cutpoints from file and selecting the appropriate file. Those files are standard ASCII files with one cutpoint per line. When loading a cutting file, make sure the cutting mode is set to the same as when the file was saved.
When you have configured your cutpoints, press apply to save everything, or apply & close to save and close the window.
In the out tab, you can set additional conditions and parameters for the output.
split @ appr. xxx MB allows you to split the output in pieces
of a predefined size (which you can select from the dropdown list once you've
activated the checkbox). If you want the video to overlap you can select an
overlap value from the 2nd dropdown list (note though since video bitrates vary,
using the same amount of MBs won't necessarily mean you get the same number of
seconds for each video file). This function applies to all streams in a
collection. Splitting is only active if the output mode is set to demux,
and only if the primary stream contains video.
write all video data and write all audio data will ensure that all video and audio streams present in the input will be written to the output file. If video output is disabled, the primary video stream will still be checked, but not exported.
In the settings for main IDs, you can set the stream ID for your video and audio streams that should always be processed. It is preferable to make this selection via the PID list in the specials window.
If the elementary streams in your input have no PTS or get asynch when demuxing despite present PTS, the enable offset function can help. This function will delay all non video data by a certain amount of time (which you can enter as soon as you have enabled the checkbox).
The offset has to be given in milliseconds. Negative values will make the audio start earlier, which means at the end, blank audio frames will be added. Positive values will additionally delay the audio, resulting in the insertion of blank audio frames at the beginning of the stream.
In the spec tab, you can configure special conditions for saving and processing streams.
dump dropped GOPs to separate files will save GOPs that are
skipped to a separate file. Useful for analysis.
create CellTimes.txt for multiple infiles/cuts creates a CellTimes.txt file if your collection contains multiple files, or you're cutting streams. This file can be useful for later DVD authoring (IfoEdit).
By default ProjectX ignores TS packets that are marked as being scrambled. If you suspend that packets are mistakenly labeled as scrambled, try deactivating ignore scrambled packets in TS (std).
don't message 'packets out of sequence' can be useful if you're getting a lot of such error messages (which slows down processing). Checking this option will disable the logging of such errors.
Similarly, don't message 'missing startcode' will ignore such error messages. Note that both a lot of packet out of sequence and missing startcode messages indicate a serious problem with your source.
The Program Clock Reference (PCR) or System Clock Reference (SCR) is a common time reference to synchronize MPEG-2 elementary streams and other stream data. Enabling generate PCR/SCR from PTS generates PCR/SCR stamps from PTS stamps present in the source. The dropdown menu below allows you to select the size of the PTS -> PCR/SCR offset.
You can enableincTScnt to create a jump in the TS packet counter without payload (note that this creates an out of specs stream but it's necessary some time).
generate PMT stream dependent creates a new Program Map Table (PMT) for a new TS, which is optimized for the content of the generated transport stream. The PMT belongs to the Program Specific Information (PSI - a group of tables for identification purposes) and contains information about the type of PES in relation to the transmitted program.
generate info TTX service(test) adds a teletext service stream (PID 0x9F) with status information for testing purposes.
To transmit a TS to a Topfield TF4000 DVB receiver, you have to enable add Topfield header to TS.
Enabling TF-header: set AC3 as main audio track will mark an existing AC3 track as primary audio track. Use this function for transmission to a Topfield DVB receiver.
If a collection contains multiple PVA streams, checking check for overlapping PVAs on read, will make ProjectX to compare the first 256 bytes of each packet with the first packet of the subsequent stream in the collection. This can be useful to find byte-accurate overlapping, but can reduce processing speed considerably (and as most TV stations send content encoded on the fly, you'll probably not be able to filter out overlapping content like this).
concatenate different recordings will concatenate streams recorded at different times. The streams must be of the same type (PVA, MPEG-2PS, VDR). Subsequent streams will get new PTS timestamps if required. This will only work in demux mode, and TS input is not supported. By default, ProjectX assumes that all streams belong to the same recording and have just been split automatically at a certain point, thus there will be no PTS adaptation.
rename all MPEG-Audios to *.mpa will result in all demuxed MPEG audio files having the extension .mpa.
Similarly, rename all MPEG-Videos to *.mpv will result in all demuxed MPEG video streams having the extension .mpv.
If PTS timestamps seem to be incorrect, you can activate take only first Audio PTS for sync. It'll result in only the first audio PTS being used for synchronization.
If PTS timestamps seem to be incorrect, you can activate limit points of Audio PTS for sync. It'll result in synchronization at only a few selected points.
If strictly PVA specs. for audio streams is enabled, ProjectX will stick to the PVA specifications to prevent errors in the detection. For some non standard compliant PVA streams, this function has to be activated to get any audio at all.
If a stream only contains video PTS errors, enable ignore Video errors after 1st PTS/GOP. This will result in only the first PTS in the first GOP being used for synchronization.
toX: ensure 1st PES-packet start with video ensures that during conversion the first PES packet starts with video. If only an audio PES is to be exported, you have to disable this option.
If while checking PES packet lengths, no packets are found because there is no MPEG startcode, deactivating get only enclosed PES packets can help. If this option is active, only subsequent PES packets are processed (applies only to PES, VDR and MPG input).
If no MPEG audio stream is written, and the PTS between video and audio can't be adjusted, a global PTS shift (in hours) can help. First try audio, and if this doesn't work try selecting a value.
In this tab, you can select if a new video bitrate is set / calculated for the output, and if so, how it is calculated. Additionally, you can configure many corrections and manipulations of the video stream.
You normally shouldn't change the vbv buffer, but for some
players it can be useful if video playback is choppy.
The same applies to the vbv delay.
The aspect ratio dropdown menu, allows you to change the aspect ratio of the output. Use this with caution or your video output will be stretched.
If add sequence end code is activated, the sequence is ended conforming with the MPEG-2 standard. This usually happens at the end of a file.
patch all frames to progressive, or its cousin patch all frames to interlaced, can be used to correct incorrect flags from the broadcaster. Be wary though as setting this flag to the wrong value can result in distorted playback or prevent playback all together.
change field order can also be useful if the video has been improperly encoded. Usually, the video should be top field first (field A), except for DV video, where bottom field first (field B) is the default. Enabling this function will switch the current sequence order.
ensure each GOP has a sequence header ensures that each GOP has a sequence header (this is the default in DVB).
Some DVD authoring tools don't like some of the resolutions used for DVB broadcasts. To trick those programs into accepting your DVB streams, you can change the video resolution in the first video header by enabling patch 1st h-res. Note that before you author, you have to set the header back to its original value to prevent playback problems (choppyness, green video). Select ever to always change the horizontal resolution, and enter the desired horizontal resolution via the dropdown list. Alternatively, you can use if <> 352|720, which will only adjust the resolution if the source does not have a horizontal resolution of either 352 or 720 pixels. Similarly, if <> 352|704|720 will adjust the horizontal resolution if the source resolution isn't 352 or 704 or 720.
Then we have the bitrate values per sequence: keep original does not change the bitrate indicated in the video header of the source. computed from GOP bitlength results in bitrate recalculation based on the length of a GOP. If you want the video bitrate to be recalculated based on the VBV data, select computed from VBV. mark as VBR (MPEG-1 video) will mark any MPEG-1 stream as VBR stream. Finally, you can select a fixed bitrate from the list.
Finally, we have the bitrate value in the first sequence (header): keep original will keep the original bitrate from the source stream, computed average (nominal) uses the average bitrate of the entire stream, which can be useful if a codec calculates the length of a stream based on the first sequence. computed maximum <= 9.8 Mbps(DVD) is useful for multiplexers which calculate the required buffer size from the first sequence (this should be your default when you intend to put your DVB streams on a DVD-R later on). computed maximum (e.g. HDTV) is the same, but relaxes the maximum bitrate requirements (DVDs must have a maximum bitrate of 9.8mbit/s for the video stream, HDTV can have up to 80 MBit/s). mark as VBR (MPEG-1 Video) will mark MPEG-1 streams as VBR.
In this tab, you can make configure changes and manipulations for audio streams.
ProjectX can convert MPEG audio streams losslessly if the input is 48
kHz and the bitrate lies in the 56 - 384 kbit/s range. no conversion
leaves the audio as it is, single to dual(ch.A=original, B=quiet)
converts a mono frame into a stereo frame (the mono channel is mapped to the
first stereo channel, the 2nd one remains mute - thus the bitrate increase is
limited). single to stereo (L+R = original) converts a mono file to a
stereo one. Both stereo channels contain the same audio, thus the audio bitrate
is doubled. single to jointstero (L+R = original) turns a mono frame into
a joint stereo one, so both audio channels contain the same information. Thanks
to join stereo, the bitrate increase is limited.
Converting to joint stereo can be useful for TV stations that often change audio formats. If the source already contains two channels, the audio is not touched. Finally, split 2 channel into 2 single (1=L,2=R) splits a stereo / joint stereo frame into two mono frames. This can be useful of the source was mono but transmitted as stereo.
If you check decode MPEG Layer1,2 to PCM, MPEG layer 1/2 audio is decoded and written in PCM format. This creates a two channel PCM file regardless of the source.
You can use the dropdown list below the decoding checkbox to change the sampling rate when decoding to PCM. linear resampling 48 kHz to 32 kHz reduces the sample rate to 32 kHz, whereas linear resampling 48 kHz to 44.1 kHz reduces the sampling rate to 44.1 kHz.
When decoding, you can also increase the volume of the audio signal by checking amplify by factor, and entering a factor. Values between 0 and 100 do not change the volume, but values above 100 lead to a volume increase by (value - 100). So if you set the factor to 150, the volume will be increased by 50%. Note that a global amplification factor is not such a great idea, as you have no idea on the dynamic range of the source signal. It is better to leave this job up to a utility that can scan the dynamic range before applying an amplification factor (BeSweet can do that).
downmix output as one channel turns the signal into a mono signal during decoding.
save in Motorola byte order changes the byte order for non Intel/x86 systems. This can be useful for Mac or Unix systems.
add RIFF(RIFX) header to PCM (.wav) adds a header to the RAW PCM file, making it compatible with most media players on Windows. The RIFF header serves as self-identification and size indicator of files. Note that RIFF WAV files are limited to a maximum size of 4 GB.
delete CRC in MPEG-Audio Layer 1,2 will remove existing CRC (Cyclic Redundancy Check) data from MPEG audio streams. This can help prevent certain ProjectX error messages, but it only works with MPEG Layer 1 or 2 (but that's what most TV stations use).
If fill gaps with prev. frame is activated, ProjectX will use the last valid audio frame and use it if an audio frame is corrupted. This allows inaudible bridging of short audio stream interruptions. If not checked, ProjectX will enter a silent frame instead.
If add frames is checked, ProjectX will insert audio frames at the end of a stream if required. This ensures that audio and video have the same length.
replace all not-3/2 AC-3 by 3/2lfe silence enables replacing 2ch AC3 frames by 5.1 frames. It requires a suitable AC3.bin though.
patch 1st AC-3 header to 3/2 mode marks the first AC3 frame as 3/2 (5.1ch) frame. Software decoders will now try to create 6 channels, even of subsequent frames have less channels. This can be useful if the audio format is changing within the stream.
If an AC3 stream is to be integrated into an AVI file, checking add RIFF WAVE header to AC-3 audio will add the appropriate header to the AC3 file so that it can be integrated (note that today tools that can mux AC3 into AVI no longer require that header).
add RIFF WAVE header to MPEGAudio does the same but for MPEG audio streams. Make sure you select the proper layer tag (Layer1,2 get a tag 0x0050 - BWF / Broadcast Wave Format, Layer 3 gets a 0x0055 tag (ACM Wave Format / Audio Compression Management))
Finally, discard every xxx Audioframe can be used to discard audio frames in regular intervals. This option only applies to elementary streams.
In the teletext tab, you can configure settings for the decoding of teletext pages.
export MegaRadio MP3-stream (from NBX/Giga Teletext) enables
the extraction of MP3 streams from the teletext service of NBC / GigaTV. This
function is no longer being developed.
The 6 dropdown menus allow you to indicate the teletext pages to be exported. You can export up to 6 pages per pass. Leaving a dropdown to null means no page is extracted.
Then you have to select a subtitle export formats: free is a text only format, SC is the DVD Subtitler Creator Format (timecount and multilines are supported), SUB is VobSub's format (framecount and multilines are supported), SRT is the SubRip text format (timecount and multilines are supported), STL is Spruce's subtitle format (Maestro, timecount and multilines are supported), SSA is Sub Station Alpha Format v4, including color support, and SUP is the compiled subtitle format programs like IfoEdit use.
In case of the SUP format, you'll have to adjust the IFO file using the following codes in VTS_PGC_1 Colors: 0(10,80,80) 1(EA,80,80) 2(8C, C3, 69) 3(89,1E,32) 4(9A,78,AD), 5(CF,93,0B) 6(A4,0B,a7) 7(9B,B8,AC) 8(AB,AD,71) 9(C5,5A,62) 10(9A,78,AD) 11(B5,A5,9E) 12(80,80,80).
decode hidden rows (0xFF); usually not recommended can be used to decode hidden or inactive teletext pages.
In case of SUP export, you can configure the output format using the settings for SUP format only. The Values in the Val field contain the following. The values in brackets indicate supported values.
Font size (24 - 32), Alpha background (transparency of the subtitle rectangle w.r.t. the background - 0 - 15), Y offset (distance between the last subtitle line and the lower frame border), X offset (distance between the subtitle and the left frame border), X width (size of the subtitle rectangle), H (unused), V (vertical resolution of the source file), Y offset 2 (distance between the last subtitle line and the lower frame border - used for the 2nd subtitle file. -1 = inactive, 96 = Letterbox zoom).
You can also select a font, and press show Subtitle Preview to see a preview of the currently selected values.
In the extern tab, you can configure external applications that ProjectX can launch, as well as configure settings for those applications.
Checking Mpeg2Schnitt idd version V2/A3 will create index
files for the MPEG-2 cutting application Mpeg2Schnitt while ProjectX is
demuxing. This will speed up the import of the demuxed files into Mpeg2Schnitt.
All input formats except for teletext are supported, and an index file will be
created for each cut part.
If you plan to encode the video after demuxing, the create *.d2v Projectfile on demux: options come in handy, as it allows you to create DVD2AVI project files during demux. You can either create one DVD2AVI project per output file (for each demuxed videofile), or have one DVD2AVI project regardless of splitting (auto split video, but keep as one project). The latter option won't split the audio file.
If you want, you can also indicate a split size for the DVD2AVI project in the -> split only video at xxx MB: field.
Last but not least we have the DVD2AVI configuration.
Pressing on external applications dialog will show the
following configuration screen:
The programs indicated in the first three lines can be launched
directly via the exec buttons.
The post commands can be used to launch an external program after the appropriate process has finished. For instance, enter the program to be launched after demuxing into the first line. Here are a few examples:
demux: "<path>mediaplayer" starts the media player
demux:
"<path>mediaplayer ?0" starts the media player with all demuxed files as
parameters
demux: "<path>mediaplayer ?1" starts the media player with
the first demuxed file as parameter
demux: "<path>mediaplayer ?2"
starts the media player with the first two demuxed files as parameters
Note that for this to work, the application you're launching has to support commandline parameters.
In the options tab, you can globally configure ProjectX.
You should already know installed look & feels.
MetalLookAndFeel and MotifLookAndFeel (Sun Solaris look) are always available,
the 3rd one depends on your operating system.
big logfile should only be used for testing purposes, as it creates an extended logfile, whose creation slows down ProjectX considerably.
Checking normal log file will log all the messages from the log window to a logfile.
starting path for file selection indicates where ProjectX will point the file browser to when you have to select an input file.
append new file extensions (PES) will ???
The main I/O-Buffersize in bytes can be used to change the buffer size for file processing. Reducing this value might prevent internal memory overflows as Java only allocates a certain amount of memory by default. Values from 1 MB up till 10 MB are possible, but you can also enter your own value (as long as it is in between those two values).
The I-Buffersize in bytes (only PES packetsize=0 !) should be increased if you get a lot of "missing next startcode (packetsize0)" errors.
pre-Scan Buffersize in bytes indicates the buffer size for pre-scan (when importing files ProjectX scans a part of the file to determine its parameters and substreams).
Ripping Glossary by Doom9
This is not meant to be a comprehensive and completely accurate description of most terms concerning DVD ripping but it should help you get the general idea.
Advanced Audio Coding will be the successor of AC3 audio. It is based on AC3 while adding a number of improvements in various areas. Currently player and hardware support for this upcoming audio format is still very limited.
Before a movie can be played the player and the disc have to establish a secured communication line on which they can transfer the actual movie. Before they can establish that line they need to make sure that the right "person" is on the other side - this is done via several key exchanges, verifications, etc.
Initially known as Audio Coding 3 AC3 is a synonym for Dolby Digital these days. Dolby Digital is an advanced audio compression technology allowing to encode up to 6 separate channels at bitrates up to 448kbit/s. For more information please check out the Dolby website.
Advanced Streaming Format. Microsoft's answer to Real Media and streaming media in general.
Audio Video Interleave. The video format most commonly used on Windows PC's. It defines how video and audio are attached to each other, without specifying a codec.
A bup file is a Back UP file of an IFO file. These files are commonly found on DVDs.
A cell is the smallest video unit on a DVD. Normally used to contain a chapter it can also be used to contain a smaller unit in case of multiangles or seamless branching titles.
COder/DECoder. A codec is a piece of software that allows you to encode something - usually audio or video - to a specific format and can decode media encoded in this specific format again. Popular Codecs: MPEG1, MPEG2, MPEG-4, Indeo, etc. AVI, ASF, etc is not a codec but a format - that can be encoded using different codecs.
A container is, like the name says, a construct to contain data - in this case video and audio date and possibly subtitles and navigational information. For instance, you would like to put a soundless video stream and the audio track together in one file. To do that you need a container format. Examples of container formats are: AVI, ASF, OGM, Quicktime, VOB and MPG.
Content Scrambling System. Prioprietary scrambling system for video DVDs. Designed to stop people from making copies of DVDs, most commercial DVDs are encrypted using CSS. During playback, DVDs are then decrypted on the fly. Only parts of the DVD are encrypted (for instance all IFO and BUP files are not encrypted, and VIDEO_TS.VOB often isn't encrypted either) and the encryption scheme is rather weak and was quickly defeated. If you want to know what CSS does, insert a DVD video disc into your PC, start playing the disc using a software DVD player, then close the player. Now copy a 0.99GB VOB file from the disc to your harddisk and try to play back that VOB file in your software DVD player. You'll see a lot of funny colored blocks all over the picture making the movie unwatchable. But you'll also see parts of the movie (the parts that are not encrypted).
DAR stands for Display Aspect Ratio and indicates the dimension of a screen. Most PC screens have a DAR of 4:3, meaning that the horizontal size is 4/3 as large as the vertical size. For TVs we have a lot of old 4:3 displays and more and more 16:9 displays. As you can guess from the numbers 16:9 displays are broader than 4:3 displays having the same diagonal size. 16:9 screens are more suited to display Hollywood movies which are usually shot with an aspect ratio of 1:2.35 or 1:1.85 (meaning that the horizontal size of the picture is 1.85 times as wide as the vertical size).
The process of restoring a progressive video stream out of an interlaced one is called deinterlacing.
The opposite of multiplexing. In this process a combined audio/video stream will be separated into the number of streams it consists of (a video stream, at least one audio stream and a navigational stream). Every VOB encoder demultiplexes the VOB files before encoding (FlaskMpeg, mpeg2avi, dvd2mpg, ReMpeg2) and every DVD player does the same (audio and video are being treated by different circuits, or decoded by different filters on a PC).
DVDs are usually CSS scrambled - imagine you decide to give a number to each letter, starting with 1 for a, etc. A sentence would become a couple of digits - that's what we call scrambled. Of course CSS is much better than that but it's still quite easy to crack. Descrambling means reversing the scrambling process, rendering our digits to a sentence again, or making our movie playable again - you can try to copy a movie to your hard disk when you've authenticated your DVD drive and play it, you'll get a garbled picture because it's still scrambled. Common CSS descramblers either use a pool of known descrambling keys (DeCSS or DODSrip - they contain a large number of keys but not all of them) or try to derive the key by a cryptographic attack (VobDec - that's why it works on most disc since it's not dependent on a pool of discs).
Digital video is usually compressed since it'd take Terabytes - thousands of Gigabytes or for the mathematicians among you : 10^12 Bytes) to store a movie uncompressed. Since standard loss less compression is insufficient for video, the video codecs have to get rid of unimportant information - stuff the human eye won't see or is unlikely to see. Since that is still not enough modern compression algorithms use keyframes, I and P frames in order to save space.
Not to be confused with the now - thank God - obsolete DIVX (DIgital Video eXpress) system introduced by Circuit City '98. There are 2 flavors of DivX today: DivX ;) is the name of the hacked Microsoft MPEG4 codecs (Windows Media Video V3). Those codecs were developed by Microsoft for use in its proprietary Windows Media architecture and initially supported encoding AVIs and ASFs but all non-beta versions included an AVI lock, making it impossible to use them to encode to the AVI format - and only a few tools support ASF today. What the makers of DivX did is remove that AVI lock making it possible to encode to AVI again, and changed the name to DivX video in order to prevent confusion of codecs, since it's possible to have both the unhacked and hacked codecs on the same computer if you use the Windows Media Encoder. The latest releases of DivX also include a hacked Windows Media Audio Codec called DivX audio - the hack of that codec is not perfect yet and its use is limited for higher bitrates. This codec is also known as DivX3.
The other DivX is a brand-new MPEG-4 video codec developed by DivXNetworks. It offers much advanced encoding controls and 2 pass encoding. Furthermore the codec can play the old DivX ;) (DivX3) movies. The codec is commonly called DivX4.
DIVX was basically DVD stripped of all its extra features - no extras, making-ofs, trailers, multi-language, widescreen picture - introduced by Circuit City and a bunch of greedy Hollywood lawyers in order to completely control movie distribution up to the end user again and to gain complete control over movie playback in your home. DIVX was pay-per-view and a "DIVX-enhanced" DVD player had to be hooked up to your phone line in order to dial in to the DIVX central computer to register when you play a disc and to bill your credit card. A movie was $4.50 - including a 48 hour viewing period - and $2.50 for additional viewing periods. DIVX was stopped after less than a year in operation due to lack of titles (Warner, Sony, New Line, and all the other smaller studios flatly refused to release any titles to the format - THANKS GUYS!!!) and the very negative press it got, mainly from DVD sites on the Internet which later made it into serious printed publications and TV news.
As DIVX uses triple DES encryption it's pretty safe against cryptographic attacks and unless you can crack that encryption there's no way to rip these discs. In other words your DIVX discs will probably remain coasters forever.
Dynamic Range Compression. AC3 Tracks contain a much larger dynamic range that most audio equipment can handle, therefore most standalone and software DVD player will compress the dynamic range somewhat, according to the actual dynamic range. In layman terms the volume will be augmented dynamically, e.g. explosions won't become louder or only a bit louder, whereas in normal dialogues the volume will be augmented quite a bit. Since your player will do the same this is the way to go to have augmented volume.
Elementary Stream (ES)
An elementary stream is a single (video or audio) stream without container. For instance a basic MPEG-2 video stream (.m2v or .mpv) is an MPEG-2 ES, and on the audio side we have AC3, MP2, etc files that are ES. Most DVD authoring program require ES as input.
Interlaced video streams contain fields rather than frames.
FourCC stands for four character code and is a code that uniquely identifies a video data stream format. A movie player will look up the FourCC code then look for the codec associated to the FourCC code in order to play a certain video stream. A few examples: DIV3 = DivX Low-Motion, DIV4 = DivX Fast-Motion, DIVX = DivX4.
The basic source of a movie. One frame represents one image. A movie usually runs at 24 frames per seconds, so it has 24 different images per second. Imagine 24 images with a bird on it, in the first image it's on the left, then it gradually movies somewhat to the right. On the 24th frame the bird is on the right end of the image. Imagine these 24 images being played in sequence fast enough and it looks like a bird would fly from left to right to the human eye.
Frameserving is the process of sending a video frame from one application to another, without intermediary files. Say you want to process an existing video in application A (for instance remove the black bars from the picture), and then encode it to another format in application B. The traditional way is to export the video from application A to an imtermediary file. In order not to loose quality, you'd have to use a lossless format (meaning huge files, about 100 GB for a 2h movie). You'd then import that intermediary video file into application B. Frameserving allows you to export the video in uncompressed format frame by frame from application A, and import those frames into application B, without the intermediary file. Popular ways to frameserve are AviSynth or VFAPI.
Frame describing only the differences to the frame before (this is less than accurate but I think you'll get the picture that way). Say we have a keyframe with a bird before a cloudy sky. Then we can use I frames which say something like this : move the bird an inch to the left and one inch to the bottom.
The video information inside MPEG files is stored in the frequency domain
rather than in the spatial domain (the images we see). That way, the information
gets compacted and that compactation can be used to compress (reduce) the amount
of information you have to send over the transmission channel. MPEG uses the DCT
(Discrete Cosine Transform) to translate spatial information into frequency
information.
To bring back the spatial information from the MPEG stream you
have to apply the iDCT, that is, the Inverse Discrete Cosine Transform, that
undoes the DCT that was used during encoding.
DCT and iDCT are basically the
same as DFT (discrete fourier transforms) but the results are integers rather
than complex reals you get in i/DFT. For more info please refer to a
university-level book about DSP, communication systems or similar.
InFOrmation file commonly found on DVDs. Such files contain navigational information for your DVD player. For more info refer to the DVD structure article.
Interlaced is a video storage mode. An interlaced video stream doesn't contain frames (pictures as we know them) but fields with each field containing half of the lines of one frame (all even or all odd lines). More info in video storage modes and interlacing can be found in video basics.
Imagine gluing together the audio and the video track at defined points, that's about it. The player will recognize the interleave points and make sure that both audio and video are played in a manner that the "glued" points match through the movie.
A more detailed explanation: Imagine we have 10 seconds of video and 10 seconds of audio. Let each second of video be represented by a V and each second of audio by an A. If you have an interleaving setting of 10 seconds the file on the disc will look like this: VVVVVVVVVVAAAAAAAAAA. Now if you have an interleaving setting of 1 second instead here's what you get: VAVAVAVAVAVAVAVAVAVA.
The inverse of Telecine. This process is performed to extract the original 24fps of a 29.97fps source.
A complete frame but heavily compressed.
The process of letterboxing consists of taking a movie frame (as shot by the camera of the camera guy on a Hollywood movie set), resize it so that it fits on a 4:3 screen without stretching, then add black bars on top and bottom to fill the entire screen. Here's a more visual explanation of the process.
These two terms are used as extensions for MPEG-1 respectively MPEG-2 video data (video only, without any audio).
miniDVD is basically a DVD on a CD. A miniDVD can contain bitrates up to 10mbit/s (audio and video combined). Video is MPEG2 of course.. preferably VBR and audio can be MPEG1 audio layer 2, raw uncompressed PCM or AC3. Video quality can be up to an actual DVD level if you accept the limited playtime of a CD. You can create DVD-like menus as well. The drawback is miniDVDs will only play on PCs and on a very limited number of standalone players.
MPEG means Motion Picture Expert Group and it's THE resource for video formats in general. This group defines standards in digital video, among it the MPEG1 standard (used in Video CDs), the MPEG2 standard (used on DVDs and SVCDs), the MPEG4 standard and several audio standards - among them MP3 and AAC. Files containing MPEG-1 or MPEG-2 video often use either the .mpg or .mpeg extension.
MPEG4 is pretty much a collection of standards defined by the MPEG Group, and it should become the next standard in digital video (mainly for picture phones, streaming media on the Internet and more). MPEG4 allows the use of different encoding methods, for instance a keyframe can be encoded using ICT or Wavelets resulting in different output qualities.
MPG can be either an abbreviation for MPEG or is used as a file extension for MPEG-1 and MPEG-2 video data. It is a container to contain MPEG-1/2 video stream and MPEG1 layer 2 audio (aka mp2 files). MPG containers are also refered to as program streams (PS).
Multiple MPEG 4: A combination of different bitrate encoded files. For instance you could take a 2000kbit/s encode, a 910kbit/s encode and combine the files together, use the lower bitrate file and replace scenes where the quality gets too bad due to a lot of action with the parts taken from the 2000kbit/s one. It also includes the use of both DivX codecs: You can combine DivX low motion and DivX high motion files (and once again you can choose different bitrates).
Multiangle is a special feature of the DVD format, allowing the viewer to switch between different views of the same scene. For instance, let's assume your favorite sport on TV is hockey. You've certainly noticed that there are many cameras recording a hockey game. And while the game is interrupted, you usually get to see slowmo scenes from different angles, be it of a goal scene, a foul or whatnot. While watching the game on TV, you only get the see the picture from the camera that the guy in the cutting room wants you to see. Now, if you get your favorite Stanley Cup final on DVD, the disc could include not only the game as seen on TV, but using the multiangle feature, contain the games from all the different perspectives it was recorded from (camera from the ceiling, cameras on the side, cameras from behind the goal), and while you're watching the game, you can press the Angle button on your remote to switch from one camera to another, or in DVD language, switch from one angle to another, and that's what multiangles is all about.
Before you read on: Currently true multipass encoding is available only for WM8 and MPEG-2 (SVCD & miniDVD). M4C is not true multipass encoding (and read the M4C guide to find out what it is and how it works). An encoder that supports multipass will in a first pass analyze the video stream to be encoded and write down a log about everything it encounters. Let's assume that we have a short clip which starts out in a dialog scene where we have few cuts and the camera stays static. Then it leads over to a karate fight with lots of fast cuts and a lot of action (people flying through the air, kicking, punching, etc). In regular CBR encoding every second gets more or less the same bitrate (it's hard to stay 100% CBR but that's a detail) whereas in multipass VBR mode the encoder will use the bitrate according to its knowledge about the video stream, that is the dialog part gets of the available bitrate and the fighting part gets more bitrate. The more passes the more refined will the bitrate distribution be. In single pass VBR the encoder has to base his decisions on where to use how much bitrate solely on the knowledge of the stuff it previously has encoded.
Usually video and audio are encoded separately. Then you have to join both of them to make a movie that you can play (you can of course play audio and video separately in two players but to get synch would be rather hard). During multiplexing the audio and video track are combined to one audio/video stream. The audio and video stream will be like woven together and navigational information will be added so that the player can example fast forward/backward and still retain synch audio/video.
Normalizing consists of finding the volume peak of a soundtrack, then increase the rest of the soundtrack to the same level. This is usually done at WAV level, that is all variables are integers so the precision is not as good as in DRC. Hence DRC is to be preferred over Normalizing.
OGM stands for OGg Media which is the name of the Ogg container implementation by Tobias Waldvogel. OGM can be used as an alternative to the AVI container and it can contain Ogg Vorbis, MP3 and AC3 audio, all kinds of video formats, chapter information and subtitles.
As you know from going to the movie theater, movies are not shot in the format of your traditional computer screen (I say computers on purpose because in many European countries, the widescreen 16:9 TVs outsell traditional 4:3 format TVs these days - something which is not yet the case for computer screens). When movies are prepared for DVD or video (especially video), they can be presented either in the original widescreen 16:9 format, which leaves large black bars on top and bottom of the picture (but looks much better on widescreen TVs), or the picture can be resized and cut at the sides so that it will fill a 4:3 screen. The process of turning the original widescreen movie into one that fits your 4:3 screen is called pan & scan. For a more visual example on how pan & scan works, check out this document.
PGC stands for ProGram Chain. It is a term often used in DVD authoring and represents basically one concurrent playback item. For instance the main movie has its own PGC, each trailer on a DVD usually has its own PGC. The studio logo that comes up when you enter the disc has its own PGC, etc. Both SmartRipper in Movie mode and DVD Decrypter in IFO mode will show you all PGCs a DVD has.
Program Stream (PS)
A program stream is a combination of elementary video and audio streams (ES). An MPEG-1 program stream contains MPEG-1 video and MPEG1 layer 2 audio (mp2) whereas an MPEG-2 program stream contains MPEG-2 video and MPEG1 layer 2 audio (mp2).
The opposite of interlaced. A video stream consisting of only full frames is considered progressive. More about progressive and interlaced can be found in video basics.
PUO means Prohibited User Operations. It's a feature of the DVD format, allowing the person doing the authoring to prevent the user from executing certain functionality. For instance, you could activate a PUO that prevents people from fast forwarding / skipping an FBI warning before the main movie starts. Or, it could be used to force you to use the menu of the disc to change the audio language, by setting the PUO for audio switching (so the audio button on your remote won't do anything).
To truly understand this term you'd have to take a course in signal processing. In laymen's terms it means compression factor. The higher this value the more compressed an image is (and therefore a high quantizer means low quality picture and small size whereas low quantizers means high quality picture and larger size).
RCE means Region Code Enhancement. Using the programming options that the DVD format offers (reading and writing to a number of registers available in all players), RCE is a more advanced version of region codes. It's a way studios try to prevent you from playing discs that are not sold in your region (don't have a matching region code). Old regionfree hardware players might have problems with RCE discs, but most modern regionfree players have no trouble playing such discs. Currently, discs using RCE use RCE-3 but I don't know if this means it's the 3rd version, or if the 3 has another meaning.
RFF means repeat first frame, it's a technique used to make the necessary 29.97 frames per second out of a 24 frames per second source - the movie like it was recorded with a traditional movie camera used by Hollywood. The rff flag tells the player to repeat one field of the video stream. Tff means top field first and is also used to perform a telecine to make a 24fps movie into 29.97fps. You can read more about film to video transfer in Robshot's article on synch.
Lots of confusion about that one. Basically ripping means copying a DVD movie to your hard disk. This includes the authentication process for the DVD Drive (try to copy a file off a DVD and you'll get a message that this operation is not supported if your drive hasn't been authenticated) and the actual CSS Descrambling. CSS (Content Scrambling System) is a copy protection scheme designed to prevent unauthorized copying of DVD movies, although many argue that it was also designed to control where DVD movies can be played since without a CSS license you essentially have to crack the encryption to play a DVD movie - and I quite agree with that. The term "ripping" is also often used (even on this site) to describe the whole process of descrambling a DVD, then convert the audio and video into another - lesser - format.
Smart Bitrate Control. A new kind of DivX encoder called Nandub can modify many internal codec parameters on the fly during compression, giving you better quality and a lot more control over the encoding session. More information can be found in the SBC guide in the DivX guides section.
A streamlist is an ASCII test file that contains the pathnames and filenames
of your VOB files, one file on every line. Here's a small
example:
e:\video_ts\vts_01_1.vob
e:\video_ts\vts_01_2.vob
e:\video_ts\vts_01_3.vob
e:\video_ts\vts_01_4.vob
e:\video_ts\vts_01_5.vob
Save this file as streamlist.txt, or streamlist.lst. Make sure that you save it as unformatted ASCII text, I suggest you use notepad to edit your streamlists, since notepad won't save in another format. Mpeg2avi needs the streamlist to have the extension lst, whereas you're free to chose any other extension for other programs that use a streamlist. However the GUI is kind of limited in its choice for input files/extensions, therefore you might have to rename your streamlist, if it doesn't show up in the file selection dialog.
Super Video CD, mainly used in Asian countries. Uses MPEG2 Video and therefore much better image quality - LaserDisc-like and also offers High quality surround sound. Furthermore it can take advantage of hardware decoders and there are players for many operating systems. However there are only a few - mostly Asian made low-end - DVD player that can play SVCD and other than SVCD player which are not sold in the US and Europe you can only play SVCDs on your computer. Video is MPEG2 at up to 2600kbit/s and audio MPEG1 audio layer 2 up to 224kbit/s. MPEG2 multichannel audio is also possible, but most players will only output 2 channels and those that will pass through 5.1 audio still require that you have an mpeg2 multichannel capable receiver.
A process to bring a 24fps source (usually a movie is shot at that speed) to 29.97fps or 29.97x2 interlaced fields per second. Please read this article on how the conversion actually works.
Variable BitRate. It's possible to encode both audio and video in VBR mode, which won't use the same bitrate for the whole file (as in CBR = Constant BitRate) but rather more complicated parts of the video/audio will receive more bitrate in order to look/sound better and less demanding parts will get less bitrate.
Video CD, works on many DVD players, there are software players on almost every operating systems, doesn't need a fast computer but the image is VHS-like. Video is MPEG1 at 1150kbit/s and audio MPEG1 audio layer 2 at 224kbit/s.
Variable Keyframe Interval. Basically that means that keyframes will not be inserted in regular intervals as in the regular DivX codecs but where they are needed. There are 2 ways of VKI: The first is that the encoder analyzes the compressed frame, compares it against the original and re-encodes the frame again as a keyframe if the quality difference is higher than a set threshold. This way of encoding is only possible with a certain special application: M4C. There's a command line based version and a plugin for AviUtl available (the latter is described in detail in the AviUtl guide). If you set the threshold too high you'll end up with a lot of keyframes. Then there's the 2nd way which is basically keyframe insertion at scene changes. In order to do that the encoding program or the codec will detect when there's a cut (as it's called by movie makers) occur and make the first frame of the new scene a keyframe. This can be achieved by using mpeg2aviAr (part of AviRevolution 2.1), m4c or by installing the DivX VKI codec. If you use the latter you don't have to worry about the encoder... every program that can encode to DivX will then result in files that has keyframes at scene changes. VKI, when properly used (that applies to the first way), can help you increase quality and reduce the amount of keyframes, which may lead to higher quality again because especially at lower bitrates too many keyframes will give you a worse quality.
Short version of VKI + MM4 + VBR MP3
VOB IDs are used to internally group cells in a PGC on a DVD.
All DVD movies are stored in so-called VOB files. Vob files usually contain multiplexed Dolby Digital Audio and MPEG2 video. Vob Files are called as follows: vts_XX_y.vob where XX represents the title and Y the part of the title. There can be 99 titles and 10 parts, although VTS_XX_0.VOB does never contain any video, usually just menu or navigational information. There's 2 ways to find out which files contain the main movie: First: Play the movie in any DVD player and watch the LED on a standalone or the status window on a software player. Second: The main movie is the largest number of consecutively numbered VOB files. For instance it's vts_05_1.vob, vts_05_2.vob.... vts_05_8.vob (I haven't seen movies with 9 partial files but that doesn't mean that they don't exist).
VTS stands for Video TitleSet and means a set of consecutively named VOB files with the corresponding IFO and BUP files. For instance VTS2 would be VTS_02_0.VOB (containing the menus), VTS_02_1.VOB, VTS_02_2.VOB, etc, VTS_02_0.IFO and VTS_02_0.BUP. VTS are used to group video stuff together that belongs together. For instance one VTS is usually used for the main movie (sometimes including the trailer and some studio logos), other VTS are used for extras.
Wavelets are an alternative basis space. There are infinitely many wavelet bases (Daubechies, Haar, Mexican Hat, "Spline", Zebra, etc), but their primary feature is that they are localized. Fourier basis functions span all space (from negative to positive infinity). Wavelets are basically individual pulses of waves (at various positions and scales).
Their value in compression stems from factors like the grouping which generally shows that a good 90% of the data is modelled by the low-pass filters, with the high-pass filters generally showing very small values that are mostly details. (of course, this is not true if the source is noisy in the first place). For images, the greatest value comes from localization of the basis, which means that we can model discontinuities (e.g. edges) VERY well with wavelets. You will NOT get those weird JPEG halos if you use wavelets.
Microsoft's proprietary architecture for audio and video on the PC. It's based on a collection of codecs which can be used by the WindowsMedia Player to play files encoded in any supported format. There are 3 released of the WindowsMedia codec architecture: version 7, 8 and 9. Those codecs are natively supported by the corresponding media player version (Windows Media Player 7, Windows Media Player 8 supports WMV8, and Windows Media Player 9 supports WMV9), but you can also find codecs pack for download at microsoft.com to play such content outside the official Microsoft media player.
eXtended CD is an upcoming CD format which allows your CDs to be written in mode2 form 2 mode which basically means that it contains less error correction codes thus allowing you to store more data onto a single CD. XCD allows you to store 800 MB of data on a regular 700 MB CD. But as there's less error correction on the discs, XCDs are not very scratch resistant and it's suggested that you only put data that has additional error correction in the container (for instance OGM) on such CDs. For more info refer to the XCD guide.
XviD is a word play, read it the reverse way and you might find a familiar term. XviD is an open source MPEG-4 codec which depending on whom you're asking yields even better quality than the best DivX codec. The XviD homepage can be found here.