First of all, I do not know that much about emulators, videos, ORIC or BBC Micro, but please bear with me. I am a Fedora Linux user.
I use B-em emulator to get to know BBC Micros and I intend to play Manic Miner on this computer, because the BBC Micro port contains two unique rooms and I would like to record my room completion attempts. Using Oricutron (ORIC emulator) I could take video captures of each room getting completed. I actually just completed all 32 ORIC rooms individually, using infinite lives. Unfortunately B-em does not support video captures.
I wondered whether the ORIC AVI RLE video encoder could be taken from Oricutron and placed into B-em source tree. Sure enough, avi.c and avi.h were pretty easy to take, and the good news is that I can call the Oricutron AVI API from B-em. It creates valid AVI videos and API is dead simple: just four simple calls.
The bad news is that I cannot do the complicated parts:
1) I do not understand how Oricutron fills oric->scr buffer, it seems to involve lots of bit fiddling
2) I do not know ORIC computer internals, I only packaged the emulator for Fedora Linux 27 and use it
3) I do not know BBC Micro computer internals
4) I cannot make avi_addframe() calls properly, because I don't know how to get the srcdata before making the call
Recording sound I haven't even tried yet.
I tried to study Beebem for Windows, but could not get help from that. I just don't know how it records AVI videos. I guess it uses Windows AVI API.
My minimal code is here:
https://github.com/KaleviKolttonen/b-em ... eo-capture
But of course it does not work. I edited avi.c to change resolution to 320x200 and it seems to produce videos at that resolution now. But BBC Micro has several graphics modes, maybe it should be determined which one is in use, and encode the video resolution accordingly? I don't know!
Would it be possible to add a video capturing feature to B-em? Using Oricutron RLE encoder could be good at least in theory, because, as far as I know, it stores the video (and audio) data uncompressed. So the Oricutron video captures are very nice and clear, and mplayer playes them fine on Fedora Linux!
Oh yeah, there is also a dependency on SDL library with that video-capture branch. Oricutron AVI code uses some helper functions from there even though I removed some of the SDL stuff.