Hacking Is there other video formats that moonshell plays?

  • Thread starter Thread starter R-Unit 4
  • Start date Start date
  • Views Views 1,991
  • Replies Replies 9
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.
 
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.
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)
 
You 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/
1. too hard
2. it doesn't encode dpg
3. it doesn't encode dpg...or can moonshell play mpeg1 now??
unsure.gif
 
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).
 
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).
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??
 
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)
 
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)
thanks but that is too troublesome...sigh...looks like I won't be watching RvB anytime soon...
 

Site & Scene News

Popular threads in this forum