clean-up and modification to accept output path as an argument
updated player to use new stream source