Post by Vansibel on Jun 8, 2005 16:37:51 GMT -5
Tutorial---- Converting replay file to video
(Version 1, done during my programming course)
Altought this could be done using pretty much any emulator, this tutorial will focuse on converting mame .inp files into video files. This was done in a rush so i'll probably be adding things/corrections in the future (possibly pics). Don't forget you best friend google before asking question.
-Steps-
1-Get the necessary software in the member lounge section
2-A few note on conversion
3-Installing the softwares
4-Capturing footage
5-Converting and compressing video
1- Head over this thread and get the necessary tools (registration required)
amakusa2k5.proboards40.com/index.cgi?board=lounge&action=display&thread=1118261232&start=0
2-Before entering the process of conversion, let's take a minute to acquire some knowledge on a few concept related to capturing and converting video. FPS : The fps (frames per second) is the images refreshing rate for a video file. The lower it get, the choppier your video will seems to be during playback. A video encoded at 15 fps that weight about 30 mb will have approximately the same visual quality as another video (using the same codec) encoded at 30 fps that weight about 60mb, but the playback won't be as smooth. The bitrate is the number of byte allowed to render a certain amount of images per second. A higher bitrate will give you a better quality, but also a higher file size. Logic want that if your fps is lower, the number of image that need to be encoded for each second will require a lower bitrate in order to preserve a decent quality. Also, if your resolution is higher, it will also require additionnal byte to preserve a decent quality. So the final encoded product is a compromise between bitrate, resolution, fps, and an acceptable file size for internet broadcast. Since we will be encoding matches video here, we won't aim at the best visual quality, but decent enought for people to see something clean while getting the file within minutes (and saving server space for the host). Neogeo games run at 60 fps, but it's not very productive to encode at this fps and 60fps is too hight for most legal video spec (most format don't support such frame rate). We will work with something around 30 fps. SS4 in particular is one of the few neogeo game that use a special "interframe" refreshing rate, it mean it don't refresh all sprites at onces, this is why the screen blink almost consistently (the most obvious result is the lifebar of one player that vanish completly while playing the video at 30 fps, which is half of the native fps). The way to correct it is easy in emulator like winkawaks (enable interframe blending) but mame32k 0.64 don't support this feature. To correct this, you have to either make the emu skip a certain amount of frames during capture (usually 1 do), or adjust the capture rate slightly lower (like around 28 fps).
3-Once you have acquired the archive containing the software, install them to your HD (VirtualDub don't need installation, just extract it to a directory somewhere, and don't install DivX codec if you already familiar with video compression and want to convert it to another format, like window media for example). After that, go to your sound configuration and access the recording option and make sure it configured properly to record sound playing on your pc (usually on most card you have to make available the "Stereo Mixer" and Check it. Make also sure Both it's volume and the master volume isn't at zero). Make sure the Mjpeg codec is also installed, because we will be using it in the next step.
4-This step will explain how to capture the video and the sound directly into mame window. Mame is an emulator that require much ressource so if you want to come up with something decent, don't even try with something with a processor below 1ghz. First, this step require a huge amount of ressource from your computer, so close every process and application that arent necessary. First, start mame, then fire up HyperCam. Go to the sound tab and enable sound recording (Sample size: 8 bit, Frequency: 22050hz). Go to the AVI tab and choose a directory for your future files, and make sure you check record sound here as well. For rate in frame per second, put 30 in both record and playback. Change frame/compression quality to 100%. For video compressor, if you have a very strong pc and aren't bothered by HUGE file size, choose uncompressed AVI. Else, select Mjpej codec, click on configure this compressor and configure the quality to 18. Now load you replay in mame and keep the screen in window mode (at the native neogeo resolution). Go back to HyperCam and in the screen area tab, press "Select Window" and move your cursor to mame window, once it snap to it, left click with your mouse button. Press f2 to start recording. 5 second later press f2 again to stop and go watch the small report window at the bottom of HyperCam window. It will indicate how many frame have been dropped. Frame drop mean your computer can't handle the capture perfectly with the current setting. If there too much frame that have been dropped your video won't playback smoothly. If this occur it mean you have to free more ressource. This can be done in several way: Reduce your mame window size, reduce the capture frame rate, disable sound recording, changing codec or skip frame in mame. First, try to reduce the capture frame rate around 24, which is still acceptable. If this isn't enought, try to lower your codec quality in "configure this compressor option". If the previous step also fail, try to skip some frame (max 3) in mame. Make sure you watch your avi file once in a while to look at teh result (don't mind pixellised picture or very slow playback if you work with uncompressed avi, it will play normally once compressed). Once you are satisfied, capture your replay and move on to the next step.
5-After the previous step, you will end up with a nice looking but huge video file. The last step is to compress it in order to reduce it's file size. There many ways to do it but in this tutorial I will propose a very simple solution for those who aren't familiar with video encoding. Start virtual dub, and open your video file in it. Go to video and select "full processing mode". Go to compression and choose a codec (DivX slow-motion for beginner). Usually, crispness should be around 75-100 and bitrate from 300 to 1000 depending on the desired quality and video size. Go to audio and choose "full processing mode". In audio again, choose compression. Now choose a format and bitrate for your song (usually mp3 or wmv for DivX, about 32 kb/sec). Try switching other sound codec if you have trouble during playback. Once your done, go to file, "save as avi" and wait until the conversion is over.
That's pretty much all you have to know to produce a decent match vid
-Vansibel
(Version 1, done during my programming course)
Altought this could be done using pretty much any emulator, this tutorial will focuse on converting mame .inp files into video files. This was done in a rush so i'll probably be adding things/corrections in the future (possibly pics). Don't forget you best friend google before asking question.
-Steps-
1-Get the necessary software in the member lounge section
2-A few note on conversion
3-Installing the softwares
4-Capturing footage
5-Converting and compressing video
1- Head over this thread and get the necessary tools (registration required)
amakusa2k5.proboards40.com/index.cgi?board=lounge&action=display&thread=1118261232&start=0
2-Before entering the process of conversion, let's take a minute to acquire some knowledge on a few concept related to capturing and converting video. FPS : The fps (frames per second) is the images refreshing rate for a video file. The lower it get, the choppier your video will seems to be during playback. A video encoded at 15 fps that weight about 30 mb will have approximately the same visual quality as another video (using the same codec) encoded at 30 fps that weight about 60mb, but the playback won't be as smooth. The bitrate is the number of byte allowed to render a certain amount of images per second. A higher bitrate will give you a better quality, but also a higher file size. Logic want that if your fps is lower, the number of image that need to be encoded for each second will require a lower bitrate in order to preserve a decent quality. Also, if your resolution is higher, it will also require additionnal byte to preserve a decent quality. So the final encoded product is a compromise between bitrate, resolution, fps, and an acceptable file size for internet broadcast. Since we will be encoding matches video here, we won't aim at the best visual quality, but decent enought for people to see something clean while getting the file within minutes (and saving server space for the host). Neogeo games run at 60 fps, but it's not very productive to encode at this fps and 60fps is too hight for most legal video spec (most format don't support such frame rate). We will work with something around 30 fps. SS4 in particular is one of the few neogeo game that use a special "interframe" refreshing rate, it mean it don't refresh all sprites at onces, this is why the screen blink almost consistently (the most obvious result is the lifebar of one player that vanish completly while playing the video at 30 fps, which is half of the native fps). The way to correct it is easy in emulator like winkawaks (enable interframe blending) but mame32k 0.64 don't support this feature. To correct this, you have to either make the emu skip a certain amount of frames during capture (usually 1 do), or adjust the capture rate slightly lower (like around 28 fps).
3-Once you have acquired the archive containing the software, install them to your HD (VirtualDub don't need installation, just extract it to a directory somewhere, and don't install DivX codec if you already familiar with video compression and want to convert it to another format, like window media for example). After that, go to your sound configuration and access the recording option and make sure it configured properly to record sound playing on your pc (usually on most card you have to make available the "Stereo Mixer" and Check it. Make also sure Both it's volume and the master volume isn't at zero). Make sure the Mjpeg codec is also installed, because we will be using it in the next step.
4-This step will explain how to capture the video and the sound directly into mame window. Mame is an emulator that require much ressource so if you want to come up with something decent, don't even try with something with a processor below 1ghz. First, this step require a huge amount of ressource from your computer, so close every process and application that arent necessary. First, start mame, then fire up HyperCam. Go to the sound tab and enable sound recording (Sample size: 8 bit, Frequency: 22050hz). Go to the AVI tab and choose a directory for your future files, and make sure you check record sound here as well. For rate in frame per second, put 30 in both record and playback. Change frame/compression quality to 100%. For video compressor, if you have a very strong pc and aren't bothered by HUGE file size, choose uncompressed AVI. Else, select Mjpej codec, click on configure this compressor and configure the quality to 18. Now load you replay in mame and keep the screen in window mode (at the native neogeo resolution). Go back to HyperCam and in the screen area tab, press "Select Window" and move your cursor to mame window, once it snap to it, left click with your mouse button. Press f2 to start recording. 5 second later press f2 again to stop and go watch the small report window at the bottom of HyperCam window. It will indicate how many frame have been dropped. Frame drop mean your computer can't handle the capture perfectly with the current setting. If there too much frame that have been dropped your video won't playback smoothly. If this occur it mean you have to free more ressource. This can be done in several way: Reduce your mame window size, reduce the capture frame rate, disable sound recording, changing codec or skip frame in mame. First, try to reduce the capture frame rate around 24, which is still acceptable. If this isn't enought, try to lower your codec quality in "configure this compressor option". If the previous step also fail, try to skip some frame (max 3) in mame. Make sure you watch your avi file once in a while to look at teh result (don't mind pixellised picture or very slow playback if you work with uncompressed avi, it will play normally once compressed). Once you are satisfied, capture your replay and move on to the next step.
5-After the previous step, you will end up with a nice looking but huge video file. The last step is to compress it in order to reduce it's file size. There many ways to do it but in this tutorial I will propose a very simple solution for those who aren't familiar with video encoding. Start virtual dub, and open your video file in it. Go to video and select "full processing mode". Go to compression and choose a codec (DivX slow-motion for beginner). Usually, crispness should be around 75-100 and bitrate from 300 to 1000 depending on the desired quality and video size. Go to audio and choose "full processing mode". In audio again, choose compression. Now choose a format and bitrate for your song (usually mp3 or wmv for DivX, about 32 kb/sec). Try switching other sound codec if you have trouble during playback. Once your done, go to file, "save as avi" and wait until the conversion is over.
That's pretty much all you have to know to produce a decent match vid
-Vansibel