I don't have windows and don't wanna get one...well...atleast I am going to dl a emulator and install wndows into it (I got my own Home edition copy)The formats you mentioned are generally regarded inferior to DPG, anyhow for the DS dpg is a pretty good standard, it can be encoded on all major OS' too (assuming you make your own header).
Would you really want MPEG2 though as a supported standard, space is tight as it is and MPEG2 is not known for its space saving abilities.
1. too hardYou do not need windows to encode, the video is MPEG1 and the audio is MP2 (ogg support is around but I do not suggest using it right now).
Have a read of this thread and I can also detail manual header creation if you would prefer:
http://forum.gbadev.org/viewtopic.php?t=7897
There are countless mpeg encoders but for this most use
Mencoder:
http://www.mplayerhq.hu/design7/news.html
Mac
http://ffmpegx.com/
I just want a GUI Mac DPG converter...wait...so u r saying that i can make a MPEG vid and MPEG2 aud, somehow form them together and play it??Sorry, I poorly phrased that.
DPG video is a header (contains some info about the streams and their location) followed by an MPEG1 stream (given the mv1 extension) and audio (either mp2 OR ogg), lately there has also been a GOP list following it but that is a subject for a different day.
You can make the video and audio on any OS worth it's salt (windows has many and I linked decent linux and mac versions already, no idea about the more exotic front but I should imagine something so basic would not be a problem) and the header is a couple of bytes you can throw together in a hex editor (I know no cross platform capable languages otherwise I might try and make something).
$header = FileOpen($temp & ".head", 2)
ÂIf $Standard = 0 Then
ÂFileWrite($header, BinaryString("DPG2"))
ÂÂÂÂElse
ÂFileWrite($header, BinaryString("DPG3"))
ÂÂÂÂEndIf
Â
ÂFileWrite($header, BinaryString($frames))
ÂFileWrite($header, BinaryString(Chr(256 * ($framerate - Int($framerate)))))
ÂFileWrite($header, BinaryString(Chr($framerate)))
ÂFileWrite($header, BinaryString(Chr(0)))
ÂFileWrite($header, BinaryString(Chr(0)))
ÂFileWrite($header, BinaryString($samplerate))
ÂIf $Standard = 0 Then
ÂFileWrite($header, BinaryString(0))
ÂÂÂÂElse
ÂFileWrite($header, BinaryString(3))
ÂÂÂÂEndIf
ÂFileWrite($header, BinaryString(0))
ÂFileWrite($header, BinaryString(48))
ÂFileWrite($header, BinaryString(Number(String(FileGetSize($temp & ".mp2")))))
ÂFileWrite($header, BinaryString(Number(String(48 + FileGetSize($temp & ".mp2")))))
ÂFileWrite($header, BinaryString(Number(String(FileGetSize($temp & ".m1v")))))
ÂFileWrite($header, BinaryString(Number(String(48 + FileGetSize($temp & ".mp2") + FileGetSize($temp & ".m1v")))))
ÂFileWrite($header, BinaryString(Number(String(FileGetSize($temp & ".gop")))))
ÂFileWrite($header, BinaryString(3))
ÂFileClose($header)
thanks but that is too troublesome...sigh...looks like I won't be watching RvB anytime soon...Yeah, if you have an MV1 stream and an MP2 stream (strictly speaking this is mpeg1 audio layer 2 not MPEG2 audio) then you can make a simple header and using whatever passes for copy /b on a mac make a DPG.
I am in a rush right now so I can not detail header making exactly but here is the code from my version of batchDPG that deals with header making ($Standard simply refers to whether you used OGG (=1) or MP2 (=0) audio), I will come back and detail it in a nicer format later:
ÂCode:$header = FileOpen($temp & ".head", 2) If $Standard = 0 Then FileWrite($header, BinaryString("DPG2")) ÂÂÂÂElse FileWrite($header, BinaryString("DPG3")) ÂÂÂÂEndIf FileWrite($header, BinaryString($frames)) FileWrite($header, BinaryString(Chr(256 * ($framerate - Int($framerate))))) FileWrite($header, BinaryString(Chr($framerate))) FileWrite($header, BinaryString(Chr(0))) FileWrite($header, BinaryString(Chr(0))) FileWrite($header, BinaryString($samplerate)) If $Standard = 0 Then FileWrite($header, BinaryString(0)) ÂÂÂÂElse FileWrite($header, BinaryString(3)) ÂÂÂÂEndIf FileWrite($header, BinaryString(0)) FileWrite($header, BinaryString(48)) FileWrite($header, BinaryString(Number(String(FileGetSize($temp & ".mp2"))))) FileWrite($header, BinaryString(Number(String(48 + FileGetSize($temp & ".mp2"))))) FileWrite($header, BinaryString(Number(String(FileGetSize($temp & ".m1v"))))) FileWrite($header, BinaryString(Number(String(48 + FileGetSize($temp & ".mp2") + FileGetSize($temp & ".m1v"))))) FileWrite($header, BinaryString(Number(String(FileGetSize($temp & ".gop"))))) FileWrite($header, BinaryString(3)) FileClose($header)