Link to home
Start Free TrialLog in
Avatar of amitbueno
amitbueno

asked on

DVD region prolem

I am developing a dvd compilation in delphi. Using delphi, ffmpeg, dvdauthor tools, mkosiso.
I succeeded with all parameters and dvd compilation, now I got a problem where the ISO that I produce works under programs such as vlc... unfortunately it doesn't work under windows media player (win7, WMP 11).

It reports a problem in the region that due to it -- it won't play the dvd.
I need to make it work properly under the wmp due to the fact that that is an indication to whether it would work for me properly under the car entertainment system that it was originally developed to work for.

To make the dvd ISO file, I use the dvdauthor tools for windows,. these tools had previously a couple of versions and I remember having the same exact problem once, and to solve it I simply replaced the dvdauthor tools to the latest version.... Unfortunately this isn't the case this time,. And I am using the latest version of the dvdauthor tools (as far as I check uptodate).

In addition, I have checked with .IFO viewer the regions that it suppose to support,. according to that alll regions are enabled, so as far as to the binary written output, there seems not to be any issue with these regions setting.

I believe that there are other switches or checks that the WMP, and car entertainment system does in order to check the validity of the dvd -- that I am missing....

 
Avatar of CodedK
CodedK
Flag of Greece image

Hi amitbueno.

What is the region code of your produced IFO file?
0      Informal term meaning "worldwide". Region 0 is not an official setting; discs that bear the region 0 symbol either have no flag set or have region 1–6 flags set.
1      Canada, United States, U.S. territories, Bermuda
2      Europe (except Russia, Ukraine, and Belarus), Middle East, Egypt, Japan, South Africa, Swaziland, Lesotho, French overseas territories, Greenland
3      Southeast Asia, South Korea, Taiwan, Hong Kong, Macau
4      Mexico, Central and South America, Caribbean, Australia, New Zealand, Oceania
5      Ukraine, Belarus, Russia, Africa (except Egypt, South Africa, Swaziland, Lesotho, and French overseas territories), Central and South Asia, Mongolia, North Korea
6      People's Republic of China, Hong Kong
7      Reserved for future use (found in use on protected screener copies of MPAA-related DVDs and "media copies" of pre-releases in Asia)
8      International venues such as aircraft, cruise ships, etc.
ALL      Region ALL discs have all 8 flags set, allowing the disc to be played in any locale on any player.
Avatar of amitbueno
amitbueno

ASKER

When checking with IFO editor all regions are enabled...
The WMPs don't come standard with the required MPEG-2 codec that is required for playback.
I personally wouldn't trust the WMP error report.  Here are the required plugins (different choices).

http://www.microsoft.com/windows/windowsmedia/player/plugins.aspx
I succeeded with playing the files... To pinpoint the problem, it is when the dvd needs to start thats whats wrong..
Is the ISO already burnt to DVD?
Do you have menues chapters or
Did you just create the DVD Autorun.INF ? in Delphi?
Look here
Specifying Autorun.INF Behavior
http://msdn.microsoft.com/en-us/magazine/cc301341.aspx
http://autoplay-software.vista-files.org/
What do you mean by>> under the car entertainment system that it was originally developed to work for
Do you have a DVD player in the Car?
Then WMP has nothing to do with this?
Since it will be on A DVD.
Are using DVD-R << correct one
 or DVD-RW or DVD+R << no
The ISO isn't burned on a media, it is being mounted using demontools.
The DVD file system isn't a fat or fat32.... I am using DVD Video -- it was ment to be played on dvd devices such as car entertainment system, or living room multimedia centers.
I am not using the AutoRun.INF due to the fact that it is VIDEO DVD. It is using another standard method of loading the menus on startup.
A friend of mine got the ca entertainment system, and it is being used on my friend device.
Oh my god that's almost indecipherable.
OK I'll see if I can straighten this out into ledgable english
forgetting the references to Delphi.
I am very experienced with Daemon Tools.
(1)
Did you download an ISO image that was in a bin Cue format? ( DVD Video)
(2)
The ISO isn't burned on a media, it is being mounted using demontools ( Daemon Tools) <<< Mount the CUE .....once the image is mounted you copy that out. as is to your desktop into a new folder.
(3) what format is it in? Vobs ifo bup files? A complete DVD structure? in a VIDEO_TS folder?
Just play the Vobs since it's not on a DVD disc
(4)
If you want to burn it to a DVD use software like NERO
I'll show how to if you want
what's Delphi got to do with this?
Who mentioned fat32 ?? Virtual drives dont have a format like ntfs or fat??
Please explain the reference to>> am developing a dvd compilation in delphi
(1)
I didn't download an ISO file,. I created one using 'dvdathor' tools.
(2)
Needless to do so, because I already got the source VIDEO_TS.IFO, and.VOB files opened not in a directory.
(3)
All VOBS can be played properly in the WMP
(4)
The delphi comes into action while creating with it a .XML file that the 'dvdauthor' tools read.

Nonetheless, all the above isn't related to my original problem,. I would like the dvd video to start properly (without picking any vob files or ifo files to be played....) -- WMP and VLC got that switch of playing a dvd/cd video media -- loading the menus and all...
ASKER CERTIFIED SOLUTION
Avatar of Merete
Merete
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
AmitBueno try this,

Replace the static path with path of your IFO.
Check what the function brings back and then if its wrong edit the specific byte to what ever you need to...
procedure TForm1.Button1Click(Sender: TObject);
var
Fil: File;
S: String;
Temp: Byte;
begin
Assignfile(Fil, 'C:\MyDVDfilm\VIDEO_TS.IFO');
FileMode := 0; //Read Only
Reset(Fil, 1);
Seek(Fil, 35); //Seek after Offset 35 (byte 35)
blockread(Fil, Temp, Sizeof(Temp)); //Temp is the result in decimal number and Sizeof is the just the size of the number.
closefile(Fil);

S := IntToBinary(Temp); //Converts the Decimal number to a Binary number.

S := BinaryToRegionCode(S); //Converts the Binary number to The Regions code.

Showmessage(S); //Shows the Result in Region Codes.
end;


function IntToBinary(Value: Integer): String;
begin
result:='';
while value > 0 do
begin
result := chr(ord('0') + (value and 1)) + result;
value := value shr 1;
end;

if result = '' then
result := '0';
end;


Function BinaryToRegionCode(Value: String): String;
var
I, Position, Counter: Integer;
Temp: String[8];
Begin
Temp := '';
For I := Length(Value) downto 0 do
Temp := Temp + Value[I];
Value := Temp;

For I := 0 to Length(value)-1 do
If Pos('0', Value) <> 0 then
Begin
Position := Pos('0', Value);
Case Position of
1: Result := Result + 'Region Code 1, ';
2: Result := Result + 'Region Code 2, ';
3: Result := Result + 'Region Code 3, ';
4: Result := Result + 'Region Code 4, ';
5: Result := Result + 'Region Code 5, ';
6: Result := Result + 'Region Code 6, ';
7: Result := Result + 'Region Code 7, '; //Not in use yet.
8: Result := Result + 'Region Code 8, '; //International venues.
end;
Value[Position] := '1'; //so it don't find the zero twice.
end;
Delete(Result, Length(Result)-1, 1); //Removes the last ',' from the Result.
end;

Open in new window