How to move a particle emitting object around a movie clip in Blender?
version Plane in 3D Scene

You didn't ask for it, but what I know all comp. apps works in that way, with the same amounth of "deterioration" a quality of the video footage - all apps operates with a video texture on a plane in 3D scene. 

Simplified – If you connect a Texture node (with video sequence) directly into output (without shader) than colour information stay the same.

In Color Management switch from Filmic to Standard.



What I would miss in this case, are matte tools. Sorry for dirty way I found on the way (probably exists better), or you should separate foreground in compositor properly, render it with alpha and use this image sequence, but that's another topic.

Example with particles. GreenScren is taken from internet, easily find by name (Green Screen Sample | Panasonic HMC150).



Example with Smoke Simulation. GIF compression is too much here I will try post regular render later.








version Composite

Another way (without Plane in 3D scene) is Composite - to render Smoke separately with faked Z pass in RenderLayer (in this case simple greyscale gradient texture) because blender doesn't handle volumetric depth and even if you want to emit smoke like a particles (plane with texture) Z pass does not handle transparency as well.

Smoke for this version you can render from blend above, but not as Render output, but enable Composite first (and delete or exclude plane from rendering). If you switch layout to Compositing you will se two Render Layers - one is regular render, second with faked Zpass.

These images has to be saved as OpenEXR_Multilayer (32-bit) file format, so you would be able get enough depth data to composite plane. I expected much worse result, but for smoke type worked quite well :) Smoke was rendered only with 6 samples = noisy, but expect some noise in composite anyway. These even smooth anti-aliased pixels will be used as depth data, which means - any pixel represents position in - depth (little confusing call this Z pass in blender terminology where depth from front view is Y axis :), forget it. So in this level there is not any anti-aliasing (if I'm correct).

Result (also because of gif commpresion) is not fair, I probably changed some parameter for smoke material due testing mishmash.




For compositing is here is essential Z Combine node that is responsible for mixing depth data. Because video doesn§t have any depth info and we need to place it similar to 3Dscene it's enough to set to the actor some grey value for Z input. If you try to move slider to white or black you will se how smoke is appears forward or backward of actor.






Looks like even alpha from "Smoke Depth" render layer can do a good job. Colored for fun.