Aller au contenu

Photo

Cutscene Companion


  • Veuillez vous connecter pour répondre
29 réponses à ce sujet

#1
Sunjammer

Sunjammer
  • Members
  • 925 messages
I thought you guys might be interested in some news on a little .net application I threw together this evening. Currently it is just a front-end for the cutscene run/capture command line arguments. However the plan is then to make it work with VirtualDub and/or Bink to produce stuff we can acutally use in or out of game. I'm also considering giving it access to the toolset database and/or make it capable of defining and remembering various sets of configurations.

I would be interested to know what you guys would like to see in such a tool. I can't promise to be able to accomodate everything but I'll try and do what I can.  I'll set up a proper project where it can be discussed should the need/desire arise.

In the meantime here's a little shot of it in action:

http://www.sunjammer...panion_001.jpg]

Incidentally you can blame DahliaLynn for this ...

Modifié par Sunjammer, 22 septembre 2010 - 12:11 .


#2
mikemike37

mikemike37
  • Members
  • 669 messages
oooh it looks interesting! i know nothing about cutscenes, so forgive me for the question... im not sure (nor is our cutscene guy)... what this does? is it like a screencapture prog like FRAPS? you're obviously making use of virtualdub, so it must be doing something else?

it looks great but, could you elaborate a little with a "here is my problem", "this solves it as follows"? apologies for the noobishness heh. perhaps i simply dont understand some bottlnecks in the cutscene process that this is solving?

Modifié par mikemike37, 22 septembre 2010 - 12:58 .


#3
DahliaLynn

DahliaLynn
  • Members
  • 1 387 messages
There is a command for frame by frame cutscene capture, so that you can capture a cutscene without the limitations of the game slowing it down. This way you can get an accurate capture of every frame of your cutscene.

It will also not require you to load any specific area or time in the game itself, but rather load up the game, then automatically load your cutscene.

For machinima this is excellent as you can eventually convert it to any movie file, and it is extremely useful for creating "bink" files for use within the cutscene editor itself.

It can also be useful for simply previewing your cutscene without having to go through the hassle of getting to a particular point in your game. i.e. load times, and exiting, etc.

What Sunjammer is creating, is a one-stop-shop easy interface for performing these actions without having to go through typing parameters in your DAO  *.exe file, and makes it easier to select parameters of choice both for capture, as well as export type.   

Modifié par DahliaLynn, 22 septembre 2010 - 01:25 .


#4
Beerfish

Beerfish
  • Members
  • 23 825 messages
Looks very intriguing indeed.

#5
Pheasant33

Pheasant33
  • Members
  • 20 messages
Nice, but I'm with mike, two questions,



- Would this mean that cutscenes within massive areas/levels have reduced load time as the level does not have to load? ( handy for some 1024x1024 levels)



- This tool allows in game screen capture to be used in the cutscene? i.e. fraps or files from this tool could be used to make the cutscene and then joined for a final cutscene that does not load the area but just shows a video clip?



Sorry, also very n00b with the cutscene scene but nearing alpha testing with my mod so I will need to replace my place holder cutties with crisp nice new ones, and if this helps load time then happy days.




#6
DahliaLynn

DahliaLynn
  • Members
  • 1 387 messages
If you want a cutscene to load something prerecorded without particular player specific actors that remain the same and do not change (i.e. player for example is not involved) You would use a bink file, created with this app if you choose the option, where you would capture the cutscene, convert it to a game efficient bink file, and then have accurate playback when the file is inserted into your cutscene in the "Master object" by selecting "play bink movie". Then your prerecorded bink movie cutscene will play more efficiently, and accurately.

So, yes, you may edit your movie after capturing various cuts of choice, editing with whatever video editor you have, then afterwards convert it to bink, and finally you may insert it into a cutscene to play within your game.

If you do it this way, your area will not need to load, since your scene was already prerecorded and made game efficient, but keep in mind that you cannot have player specific actors in your scene of course. 

Also I do believe that the bink file itself needs some time to load as well, but I can't tell you how it would be in comparison to your area load.

I believe the loading time also has to do with the level of quality (resolution) you decided upon when selecting capture parameters, but I am not sure of this.

Modifié par DahliaLynn, 22 septembre 2010 - 02:08 .


#7
Pheasant33

Pheasant33
  • Members
  • 20 messages
Thanks, that was what I was after. Cheers

#8
mikemike37

mikemike37
  • Members
  • 669 messages
bink load time is like nothing. it is ideal for any time when you want to show "meanwhile in the evil genius' lair..."-type cutscenes, since you really dont need the area, and you are not likely to have party-variable actors (whih obviously you cannot prerecord in case the player changes party formation, or their FACE). couldnt resist typing face in caps. sorry :P



okay understand what this is for now... and nice! anything that streamlines clunky processes is valuable indeed! :D

#9
Sunjammer

Sunjammer
  • Members
  • 925 messages
Apologies for my OP: I assumed that since I'm a scripter and I knew about the Cutscene Capture processes that everyone knew about it. Fortunately DahliaLynn pretty much perfectly explained the process and some of the reasons you might want to use it. I've still got to test the various arguments to determine which work, how and under what circumstances however simply running or capturing a cutscene has been very straightforward.

From the wiki there are some limitations: the cutscene has to be area-specific and have been exported to an override directory. I'm not sure if that is something that the application can handle (i.e. if not found then force it to be exported) but it might be worth investigating. Hooking up to the database could also reduce the amount of typing (and therefore potential typos) even further.

When it comes to capturing a cutscene I envisage there are three steps (all currently distinct and manual) that can be/have to be performed: capture cutscene, build movie, convert movie.

The capture step can either be done by controlling the FPS and using something like FRAPS or by the frame-to-image capture from the game itself. The command line arguments (and therefore my application) support both approaches. Ultimately I could add logic to check if FRAPS/other capture software is running and if not start it.

The build step is only required for a frame-to-image capture rather than video capture. This hasn't been implemented just yet (but will be tonight). I'm using VirtualDub because that is what the wiki suggests however I am happy to try and support other applications (within reason).

Similarly the convert step is only required if your video capture or movie builder application doesn't produce the correct format for your requirements (or I guess if you want to resize or change the encoding). Obviously DA:O plays BIK files so it makes sense to try and support Bink however again I'm happy to try and support other converters (within reason).

As for uses (for Cutscene Capture) I can see several:
  • testing cutscenes in-game without having to play to a specific point: enter the details once, run repeated after making changes & exporting
  • capturing a cutscene that takes place in a different area from the player or in several areas
  • capturing a cutscene that is very resource hungry *cough* 200 wedding guests *cough*
  • capturing a cutscene for some post-processing beyond what the filters offer
  • creating a YouTube (or similar) advert/trailer for you mod
  • batch processing a series of cutscenes for machinma


#10
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
VirtualDub makes a lot of sense. It's free, open source, and has a bunch of plugins that extend its functionality (for things like fade in/out FX, etc).

#11
Beerfish

Beerfish
  • Members
  • 23 825 messages
So Virtual Dub is along the lines of something like moviemaker, where you can add music, sounds and such or am I barking up the wrong tree here?

#12
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
Similar in some respects, but not as user-friendly. It's very powerful, but as is often the case in such circumstances, that comes at a price.

#13
AlanSJF

AlanSJF
  • Members
  • 122 messages

As for uses (for Cutscene Capture) I can see several:

  • testing cutscenes in-game without having to play to a specific point: enter the details once, run repeated after making changes & exporting
  • capturing a cutscene that takes place in a different area from the player or in several areas
  • capturing a cutscene that is very resource hungry *cough* 200 wedding guests *cough*
  • capturing a cutscene for some post-processing beyond what the filters offer
  • creating a YouTube (or similar) advert/trailer for you mod
  • batch processing a series of cutscenes for machinma


All of this sounds extremely useful. Anything that helps with the in-game/capture aspect of cutscenes can only be a good thing.

#14
Sunjammer

Sunjammer
  • Members
  • 925 messages
Wrote and tested the most basic build step tonight and, after I fixed my settings file so it was plain, plain text and realised there were 5 zeros rather than 4 in 00000.tga, it went remarkably well. I was a bit busy this evening so I didn't investigate what any of the options were but I ultimately I would like to offer a degree of control.

Just to give you and idea: I captured a 70 second cutscene at 1920x1200. Each .tga was ~9MB the total for all of the images was ~18GB. The .avi which VirtualDub produced was ~14GB.

#15
TimelordDC

TimelordDC
  • Members
  • 923 messages
14 GB?!!! That's a lot. Even full-blown Blu-rays aren't that big.

Are there any options to reduce the size (haven't explored the cutscene capture myself)?



Perhaps use a freeware Image viewer like Irfanview to reduce the TGA size (assuming there is a batch command to do that)?

#16
ladydesire

ladydesire
  • Members
  • 1 928 messages
Yikes...

#17
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
That would be an uncompressed AVI. Re-encoding using Xvid would drop it to something quite reasonable. Two early 1080 BGR level walkthrough vids I did encoded in Xvid with default settings came out at something in the order of 0.75-0.9MB per second. Based on that, you'd expect something around 50-60MB for a 70 second video. Remember though that AVI is (presumably) not the ultimate destination format. That will be Bink. You don't want to compress twice. Although if you are not planning any manipulation, you can load an image sequence direct into RAD, thereby bypassing the need for two encodings.

As far as scaling and other manipulation goes, you can do all that in VirtualDub and via scripts if you need to automate the process (frameserving via AVISynth is one way). Hence why previously I said it was a good choice. Again though, if you don't need to touch the video then best to just bypass VirtualDub.

Modifié par DarthParametric, 23 septembre 2010 - 02:44 .


#18
Sunjammer

Sunjammer
  • Members
  • 925 messages
Compressing and/or resizing the video after virtualdub can make a huge difference: I want from 14GB to 14MB simply by chucking it at some random YouTube-esque settings in some video converter utility (which I obviously don't understand very well but which comes with lots of presets so I don't have to).

Unfortunately not much progress today as DahliaLynn fell into The Void. It seems, from what little testing we've done, that Capture Cutscene isn't working with cutscenes in the Single Player campaign or with cutscenes in modules that extend the Single Player campaign.

Ironically these cutscenes will run just fine (i.e. if you omit the -capturemovie parameter) but if you try to capture them you will hear the DA:O music but then the screen remains blank and you start capturing lots of black images. I'd like to blame the space in the UID but since it runs okay I suspect I'm going to have to dig deeper.

I've also sent a message to BioWare in case they can shed some light.

Modifié par Sunjammer, 23 septembre 2010 - 11:35 .


#19
Sunjammer

Sunjammer
  • Members
  • 925 messages
A quick note on a couple of discoveries today ..

1. The Void

In my previous post I mentioned the problem where it seemed impossible to capture a cutscene in the Single Player module or in a module that extends the Single Player. You can run it fine from the command line or using my companion application but the second you add the capturemovie parameter all you get is black frames.

On a bit of a last chance saloon style gamble I changed the Extended Module property "Single Player" to "(None)". Exported something so the module properties would take effect and then tried to capture it. I was surprised and delighted to find that this worked.

Of course there are some limitations - if you are using Single Player resources they won't show up. In this particular cutscene 200 nobles disappeared. Consequently you have to ensure that all the resources you want to show up in the cutscene are in your module.

2. Building/Converting

I also discovered that RAD Video Tools (the application used to create Bink movies (.bik)) doesn't like the .AVI movies produced by VirtualDub and would claim there was an error whenever I tried to open one. However (and fortunately) it will recognise the sequence of .TGAs produced by DAOrigins and will give you the option to treat them as a "single animation" and bink that!

This means that I'll probably do away with the three-step approach and simply use a two-step process and offer the option to build with VirtualDub or RAD Video Tools.

Modifié par Sunjammer, 25 septembre 2010 - 10:10 .


#20
Lord Methrid

Lord Methrid
  • Members
  • 127 messages
Hey Sunjammer, excellent app! I have some questions:

1) What image format will your app convert the frames to?

2) My cutscenes may run up to 15 minutes long. Is there a current limit to the amount of frames allowed per capture session?

3) Can the user specify what location to save the images to?

4) Once it begins capturing, is there a way to stop it?

5) How exactly does it use Virtual Dub to compress the files? Does it run a series of commands for Virtual Dub to acknowledge, run, and compress on its own? Will it give the user options to build the avi with?

I have one request if possible.

Can we get the option to name the prefix of the images? I.E. scene1A00000 / scene2A00000 ect.

Sorry for the questions, I am just thrilled about this app, it will definitely help with massive cutscene capturing! Can't wait!

Modifié par Lord Methrid, 05 octobre 2010 - 08:04 .


#21
Sunjammer

Sunjammer
  • Members
  • 925 messages

Lord Methrid wrote...

1) What image format will your app convert the frames to?

2) My cutscenes may run up to 15 minutes long. Is there a current limit to the amount of frames allowed per capture session?

3) Can the user specify what location to save the images to?

4) Once it begins capturing, is there a way to stop it?

5) How exactly does it use Virtual Dub to compress the files? Does it run a series of commands for Virtual Dub to acknowledge, run, and compress on its own? Will it give the user options to build the avi with?

I have one request if possible.

Can we get the option to name the prefix of the images? I.E. scene1A00000 / scene2A00000 ect.

Sorry for the questions, I am just thrilled about this app, it will definitely help with massive cutscene capturing! Can't wait!

1. Targa (.TGA)

2. I haven't tested it but I recall Dhalia saying she had left one running for half an hour when testing the Single Player campaign related issues.  I suspect hard drive space and/or frame count will be the limiting factors. At 1920x1200 each frame is about 9MB, so at 30fps you're looking at about 270MB/s and so your 15 minute cutscene (27000 frames) you're looking at 243GB. Obviously capturing at a lower resolution or frame rate reduces those numbers. Similarly if we assume 99999 is the highest fame id you may also be able to exhaust the frame count but that represents a 55 minute cutscene at 30fps.

3. You can specify a sub-folder within the Dragon Age\\Logs folder.

4. Kill daorigins.exe. Admittedly an Abort Capture button would be more elegant (even if it essentially does the same thing) so I'll add that to the "to do" list.

5. VirtualDub appears to use a config file and some command line argument: I anticipate exposing some of these options to the user. RAD Video Tools only uses command line arguments so I would aim to expose all of these.

6. Captured frames have no prefix but there is no reason why they can't be automatically renamed immediately after the capture process completes so I'll add that to the "to do" list.

Modifié par Sunjammer, 07 octobre 2010 - 11:51 .


#22
Sunjammer

Sunjammer
  • Members
  • 925 messages
I've created a project (http://social.biowar...m/project/3528/) and uploaded the original Cutscene Companion prototype. The final version probably won't resemble this at all but I thought it might be helpful for people to have this in the meantime.

#23
Sunjammer

Sunjammer
  • Members
  • 925 messages
I was wondering if any cutscene capturer had made any progress with the "black screen" issue we see when trying to capture cutscenes in Single Player or add-ons to the Single Player?

Yesterday I saw an undocumented command -disablewarnings in a batch file Dahlia was using so I added it to the Cutscene Companion but to no avail. She also suggested disabling BioWare's DLC so I turned off everything except Alistair's Wedding but again to no avail.

#24
Sunjammer

Sunjammer
  • Members
  • 925 messages
I stand corrected: Dahlia actually suggested physically removing all of BioWare's DLC (but only BioWare's DLC) from the AddIns folder and I simply misinterpreted what she was trying to tell me.

This approach worked (after I re-exported the cutscene) so I may look at a way for the Cutscene Companion to do this automatically (with appropriate safeguards).

Modifié par Sunjammer, 19 décembre 2010 - 02:08 .


#25
Sunjammer

Sunjammer
  • Members
  • 925 messages
Just to let you know there is a new version of the Cutscene Companion prototype available which should now address this issue.

Enjoy!