Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Get your graphics formats figures out here! Got details for others? Post here!
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

Hi there, i'm making enhanced graphics engine for this game. But i got stunned with it's movie format, i have hardly searched web for tools that could deal with JAM video format. But there isn't any. I will be very happy if someone help me with figuring out how to play this video files or decode them into number of images.

Someone could tell that i can rip off video from PSX version of game. It is important to rip it from PC as my enhanced graphics port should do this automatically with PC release user must have (so i don't need to distibute videos with the game).

This is pure video stream file and audio comes with another .VAG file which decodes pretty well.

Here is the link to sample:
http://darkmaster.quakedev.com/work/act14b.zip
User avatar
Balder
advanced
Posts: 71
Joined: Sat Jul 14, 2007 6:17 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by Balder »

I don't have the game neither I've played it, so let's get a bit of info:

I see a basic header starting with:

4 bytes -> string literal "JAM" plus a end string "0"
4 bytes -> unsigned short/long 320
4 bytes -> unsigned short/long 240

So I ask you, may be that the video resolution?

Then we have:

4 bytes -> unsigned short/long 454 NO IDEA yet
4 bytes -> All zeros

Then we have a bunch of data and again: many 00f8 hex repeated for a while (dunno if black screen video or something related with the header)

Finally it starts more mixed data, which may be the actual video.

As I've never worked decyphering video, may someone with more experience in this topic give you better info.
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

Balder: yeah, thats video resolution

I will check ingame version of this video and post here whether it begins with black or not

+ don't know if it helps - file compresses badly with WinZip so i guess there is some sort of compression used to store frames.
chrrox
Moderator
Posts: 2602
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1422 times

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by chrrox »

why not use fraps to record the video file or any other video recording program on the pc?
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

chrrox: no point, please read carefully post #1. I need to make my own player for this format or convert it by tool (or number of tools) which could be executed during installation process. Because i can't distribute converted videos.

Balder wrotes:
Then we have a bunch of data and again: many 00f8 hex repeated for a while (dunno if black screen video or something related with the header)
Yeah, it starts from black screen
User avatar
Balder
advanced
Posts: 71
Joined: Sat Jul 14, 2007 6:17 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by Balder »

Oka, so we are not very far from knowing the .jam structure. If known, the problem is solved. I'll code a converter tool for you and give you the source code. I hope C++ will be handy for your project.

So I'm going to analyze it better and I'll post any result I get.

Now I have to leave, I'll look at that when I have another bit of time.

(Just update the topic here If you solve your problem, so I don't work in vain later) :)

Best luck, see you :bye:
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

Balder: thanks alot :) C++ would be just good as project is going to be cross-platform
User avatar
Balder
advanced
Posts: 71
Joined: Sat Jul 14, 2007 6:17 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by Balder »

Hi again! I've been playing around the .jam a little, I'm finding this format pretty complicated, what I discovered:

4 bytes -> string literal "JAM" plus a 0 byte
4 bytes -> unsigned short/long 320
4 bytes -> unsigned short/long 240
4 bytes -> unsigned short/long 454 -NO IDEA-
4 bytes -> All zeros ?¿
4 bytes -> 1 0 0 0 or simply 1 ?¿
4 bytes -> 246 18 0 0 0 or 4854 and 0, for example -NO IDEA-
4 bytes -> 44 1 0 255 (or 300 or a very big number) IMPORTANT-> this value, searched in the hex editor, repeats alongside all the file, as if it were the header of each photogram or something like that.
(All valors as unsigned bytes)
Also, the previous of this last entry and consequent entries, repeat sometimes in the same structure as the shown here, so It may confirm the theory of being some kind of "each frame" header.

Now It'll be good to have some info so we can continue working on this, cause my imagination is blocked for now:
¿Does any of these numbers mean something for you?
¿Clip duration?
¿Could you rip with fraps an avi version of the video so I can go comparing values?
¿Could yo provide another jam file to confirm what is already known?
¿Is this a PC game or another plataform?
¿Is this video in higher graphics or does it use the graphics from the game? (I mean, if it's an script video using the game engine or a real video)

For now that's all. We'll see what can we do.

cheers!
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

Balder wrotes:
Does any of these numbers mean something for you?
dunno, 454 may be a total frames count since movie length is about 17 seconds
Does any of these numbers mean something for you?
Clip duration?
Could you rip with fraps an avi version of the video so I can go comparing values?
Fraps does not work as game don't use 3D at all. I will rip PSX movies and post links here when finish (guessing existing YouTube webcam rips does not suit for you). Hold on.
Could yo provide another jam file to confirm what is already known?
sure: http://darkmaster.quakedev.com/work/ACT12.zip
Is this a PC game or another platform?
PC port of PlayStation1 game. Many of formats was leaved as was in PSX version (tim's for graphics, VAB/VAG for sound and such). In PSX version game movies were in .STR format (PSX Mjpeg). But for some unknown reason they are JAM in PC Version...
Is this video in higher graphics or does it use the graphics from the game? (I mean, if it's an script video using the game engine or a real video)
In higher graphics, not using any of game graphics. Real video stream. And (if matter) movies always played with interlacing effect.
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

Hi again!
Request is still actual

Sorry, i wasn't able to rip videos from PSX version of game, any of PSX video tool that i have trried just won't play that .STR properly, however program called "PSX Movie Converter" can read some frames, despite of crashes. I was found out that 454 is exactly the frames count ACT14b.JAM has, ACT12.JAM has 636 frames

Here is the link to STR files if they may help:

ACT12.JAM -> http://darkmaster.quakedev.com/work/act12_str.zip
act14b.JAM -> http://darkmaster.quakedev.com/work/act14b_str.zip

+ links to Camera-ripped videos:
ACT12.JAM (Higher quality): http://www.legacy-of-kain.ru/BO_Video/BOvideo8.mp4
ACT12.JAM (YouTube): http://www.youtube.com/watch?v=fLA36CouyK8

act14b.JAM (Higher quality): http://www.legacy-of-kain.ru/BO_Video/BOvideo11.mp4
act14b.JAM (YouTube): http://www.youtube.com/watch?v=9LsO_bhSfzA
User avatar
Balder
advanced
Posts: 71
Joined: Sat Jul 14, 2007 6:17 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by Balder »

Okay, already downloaded the stuff.

I tell you what I'm doing: with the str's I already have all information about frames and chunks, but as they are compressed and multiplexed I have to work out this format first to see if the uncoded stream helps knowing better the jam.

What it's very strange is the jam being so different from the str, as they are both psx formats. (Talking about the header) But if the encoding is similar we may be able to manage those nasty jams.

Unfortunately this will take time, so don't expect results soon. :[

At least I've already learned a lot about psx video formats hehe
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

Hi! just curious how it's going? Request is actual

Sorry for possible offtop, i will remove this pic if it's againts the rules. Project is progressing. Here is a day-night sequence (24 minutes converted to several seconds) of Codenamed: Blood Omnicide, a fan blood omen remake that requires those nasty JAM's decoder :roll:
Image
User avatar
Balder
advanced
Posts: 71
Joined: Sat Jul 14, 2007 6:17 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by Balder »

Hi again!

Beautiful screen yeah...!

Actually I don't have time to further investigate this topic, but I'll tell you some helpful info:

Those nasty jams are some kind of str-like play station movies, and so, knowing well the str format you can extrapolate how to deal with the jams, the following links are a complete str specification and an open source str to avi converter which works like a charm:

http://jpsxdec.googlecode.com/files/STR ... at0-50.txt (PLAYSTATION STR format specification)
http://jpsxdec.googlecode.com/files/jps ... rev463.zip (STR2AVI, Includes source code)

With the use of the tool I had confirmed some little things: the four bytes at offset 12 in the header are, as you said, the frames. Furthermore, sector headers and error correction data is not present in the jams, so it can be an "unformatted" str. You'll just have to deal with the chrominance and a pair of concepts which are covered on the previous .txt.

As you can see it's really difficult to work with video compression, but especially this one based on MPEG-1 (not open source) and adapted to playstation.

I'll try to continue giving some support whenever I have free time, but you have a long path ahead before decoding those files. :(

'til next time! hope this can help you!
VorteX
n00b
Posts: 15
Joined: Sat May 02, 2009 1:53 pm
Has thanked: 2 times
Been thanked: 1 time

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by VorteX »

Balder: thanks for your help! That info about JAM-STR similarity may be quite useful, at least we know what that thing are. I will keep this topic up to date if some progress will be achieved.

Balder: Sorry for possible inconvenient question. How do you think, may exploration or disassembly of exe file that runs the game/videos help with studying decoder math?
User avatar
Balder
advanced
Posts: 71
Joined: Sat Jul 14, 2007 6:17 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Blood Omen: Legacy Of Kain (PC) .JAM Video Files

Post by Balder »

Of course yes, other people have done it first... the question is how difficult would that be or if it would be more difficult than figuring out the format. If you have some experience you won't loose antything for giving it a try with IDA-Pro or something like that. Personally that's the last resource for me, mostly when I need to "remake" an algorithm exactly like it was, for example for the generation of a range of "random numbers".

Keep on the project man, I see you're achieving interesting results :keke:
Post Reply