Hacking Is there other video formats that moonshell plays?

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
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.
 

R-Unit 4

Well-Known Member
OP
Member
Joined
Jan 22, 2007
Messages
161
Trophies
0
Website
Visit site
XP
63
Country
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)
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom

R-Unit 4

Well-Known Member
OP
Member
Joined
Jan 22, 2007
Messages
161
Trophies
0
Website
Visit site
XP
63
Country
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
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
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).
 

R-Unit 4

Well-Known Member
OP
Member
Joined
Jan 22, 2007
Messages
161
Trophies
0
Website
Visit site
XP
63
Country
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??
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
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)
 

R-Unit 4

Well-Known Member
OP
Member
Joined
Jan 22, 2007
Messages
161
Trophies
0
Website
Visit site
XP
63
Country
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

General chit-chat
Help Users
  • No one is chatting at the moment.
    Xdqwerty @ Xdqwerty: @BakerMan, https://youtu.be/KaMSXIRReOo?si=2hRoijJtiwPUHXk5