I reviewed the "similar questions", but those seem to refer to using the full path for ffmpeg to ensure using the same version, which I am already doing so posting my question. I am using a Mac runnning Sequoia 15.5, python 3, and ffmpeg 4.2.1. I'm trying to write a script that can convert flac to mp3 320k. If I use the following command in terminal everything works as intended: /usr/local/bin/ffmpeg -i "/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.flac" -b:a 320k -map_metadata 0 -id3v2_version 3 "/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.mp3" But when trying to do the same thing with subprocess.call with the following: command = ['/usr/local/bin/ffmpeg', '-i', '/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.flac', '-b:a 320k', '-map_metadata 0', '-id3v2_version 3', '/Volumes/MainData/Media/Media Server/_Stage/03 - People Like Us - Aaron Tippin.mp3'] p = subprocess.call(command) I get this as a result: Unrecognized option 'id3v2_version 3'. Error splitting the argument list: Option not found If I remove the '-id3v2_version 3', then the subprocess.call results in the following error: [mp3 @ 0x7fae2c008200] Invalid stream specifier: a 320k. Why does Terminal understand but subprocess.call doesn't when I've verified I'm using the same version of ffmpeg? Continue reading...