Refactor ffmpeg types to incapsulate logic
Mass refactor of code