VOGONS

Common searches


First post, by POLE

User metadata
Rank Newbie
Rank
Newbie

I know there is already a thread about it, but I didn't found the answer to my problem.

I wanted to record a playthrough of some games (to upload on Youtube). But, as you know already, the video is out of sync with the sound. It works alright when I play it on VirtualDub, but I wonder how can I encode it so it would be synchronized with most players (and will work with Youtube).

Any help would be great. If you need more information, tell me. Thanks in advance.

Reply 1 of 7, by flux

User metadata
Rank Newbie
Rank
Newbie

Hey. What format does the video recorder program save the videos format as?
try some of these encoders:
blaze media pro encoder
mpegx.com encoder

Bernard: You have a machine whose sole function is producing toxic waste?
Dr. Fred: You can't have a high-tech laboratory like this and NOT spew poisonous filth! All the other mad scientists would laugh!

Reply 2 of 7, by franpa

User metadata
Rank Oldbie
Rank
Oldbie

encode it as a mpeg? oO if you want highest quality and compression then the h.264 is ok =) but if you use the latest revision of it then everyone will need that revision or newer to watch it properly.

www.codecguide.com <- (mega codec pack) great codecs that make windows media player 6.x the best of them all.

AMD Ryzen 3700X | ASUS Crosshair Hero VIII (WiFi) | 16GB DDR4 3600MHz RAM | MSI Geforce 1070Ti 8GB | Windows 10 Pro x64.

my website

Reply 3 of 7, by cmw

User metadata
Rank Newbie
Rank
Newbie

It does not depend to which codec he codes, the file will always be out of sync. It's because DosBox presumably records every frame. Since DosBox generally outputs 70 Frames per Second, it records 70fps to the video file.

Now for some unknown reason, e.g. Media Player 6.4 (and other players) will only play 60 frames per second, but will not skip the remaining 10 frames, but append them to the next second. Therefore you will notice that whenever you skip to the middle of a movie, audio will be in sync for a little while, but the longer it plays, the farer it goes out of sync (until you click again). It's a really very annoing problem.

You can circumvent it by useing the Video - Frame Rate feature in Virtual Dub. There, select "Process every other frame". This will reduce the overall framerate to 35/second and therefore produce a perfectly good synched video file (no matter what codec you use in the end to encode). Also, it's no problem that you essentially rip out 35frames of the video, it will still be fluid and there will be no resulting audio off-set (thanks to virtual dubs ingenious programming^^)

You can also use the Frameskip function (because then, there will be lesser frames outputted at all). This is not a very useful solution though, as it makes the overall game choppy e.g. the mouse movement). Sot better stick to the first solution^^

Hope that helps.

Note: Since not everyone is expieriencing this problem, I assume that you also can make certain players (or all of them) to actually process more than 60fps. I haven't found such a setting yet though. Possibly, Linux (or other O/S) users don't have this problem (may be windows-related, some directdraw thingor stupid stuff like that).

Best regards.

Reply 5 of 7, by cmw

User metadata
Rank Newbie
Rank
Newbie

No, DosBox generally uses 70FPS (at least i was told so, but I will of course believe you if you tell me otherwise 😀 ). However, even if your refresh rate is lower than that, it will still record a 70fps movie (except you have somehow vsync forced, then not).

If you talked about the playback problem with WMP and other players: I have 75hz refresh rate and it still only plays back with 60 fps (you can check that with fraps/other fps showing tool or wmp 6.4 right-click "statistics").

Now Virtual Dub encodes (and also plays back properly). I'm not completely sure about VLC. I guess it would work properly, but I can't remember exactly, have to try out first.

Other question: What would happen if DosBox would only render like...35FPS/Second. Not only would that particular problem be avoided alltogether, but wouldn't that also bring some performance increase without any drawbacks? I mean.. less frames to render = more power for other stuff (like sound etc..). (maybe the user could set the desired render-rate in dosbox.conf... yes i know you can achieve such an effect with frameskip, but actually rips out frames which SHOULD have been rendered, causing video skipping (particulary visible when you move a mouse cursor^^) but if dosbox would truely only render 35fps without actual skipping some of time, motion would be perfectly fluid and performance increased, wouldn't it?)

Reply 6 of 7, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

frameskip is quite safe.
There aren't many apps that use the full 70 hz actually
So little loss of information

Water flows down the stream
How to ask questions the smart way!

Reply 7 of 7, by POLE

User metadata
Rank Newbie
Rank
Newbie

Thank you very much cmw. After one full month without reply, I was starting to think that no one will reply.

I tried what you said and it WORKED!!!

Thank you again.