I have found the solution!
Apparently, the reason why you can't access things created on other blocks is because each block is a javascript function internally - so anything you declare normally is available only within the function's (or block's) namespace.
There is a simple workaround, though - instead of declaring variables, functions etc. the normal way, you can set them by the window object -
window.myVar = 'mystring'
// as opposed to:
var myVar = 'mystring'.
Applying the same concept to the ffmpeg object worked seamlessly, and to 'copy' a function you use in the block into the window object you can simply encapsulate it like this:
window.myFunc = function(param) { return actualFunction(param) }
Then, later on, you can access the stuff you put in the window object in any script block like this:
window.myFunc(param); // runs the actualFunction() as defined in the other script block, forwarding the parameter and returning whatever that function returns.
alert(window.myVar); // alerts 'myString', as defined in the other script block
Not super elegant, hehe, but gets the job done!