user12052: I am trying to adapt this FFmpeg script that encodes all video files in a directory, to instead convert mp3 files present in that directory with similar preferences.
The original script:
This works for .MOV -> .MOV encoding.
cd /Convert; for i in *.MOV; do ffmpeg -i "$i" -c:v libx265 -preset veryslow -crf 23 -af "volume=25dB, highpass=f=180, lowpass=f=15000, equalizer=f=50:width_type=h:width=100:g=-15" -c:a aac -strict experimental -b:a 192k "${i%.MOV}-ENCODED.MOV"; done

Adapted for mp3 re-encoding:
cd /Convert; for i in *.mp3; do ffmpeg -i "$i" -af "volume=25dB, highpass=f=180, lowpass=f=15000, equalizer=f=50:width_type=h:width=100:g=-15" -c:a aac -strict experimental -b:a 192k "${i%.mp3}-ENCODED.mp3"; done

Throws errors:
Invalid audio stream. Exactly one MP3 audio stream is required.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument.

What is wrong with the script?

user1871: You're trying to store an AAC stream in a MP3 container, would be my guess.
Either store the result as "${i%.mp3}-ENCODED.aac" or switch -c:a aac to -c:a libmp3lame

12052: <p>I am trying to adapt this FFmpeg script that encodes all video files in a directory, to instead convert mp3 files present in that directory with similar preferences.</p>

<h2>The original script:</h2>

<p><em>This works for .MOV -> .MOV encoding.</em></p>

<pre><code>cd /Convert; for i in *.MOV; do ffmpeg -i "$i" -c:v libx265 -preset veryslow -crf 23 -af "volume=25dB, highpass=f=180, lowpass=f=15000, equalizer=f=50:width_type=h:width=100:g=-15" -c:a aac -strict experimental -b:a 192k "${i%.MOV}-ENCODED.MOV"; done
</code></pre>

<h2>Adapted for mp3 re-encoding:</h2>

<pre><code>cd /Convert; for i in *.mp3; do ffmpeg -i "$i" -af "volume=25dB, highpass=f=180, lowpass=f=15000, equalizer=f=50:width_type=h:width=100:g=-15" -c:a aac -strict experimental -b:a 192k "${i%.mp3}-ENCODED.mp3"; done
</code></pre>

<p><em>Throws errors:</em></p>

<pre><code>Invalid audio stream. Exactly one MP3 audio stream is required.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument.
</code></pre>

<p>What is wrong with the script?</p>
 1871: <p>You're trying to store an AAC stream in a MP3 container, would be my guess.</p>

<p>Either store the result as <code>"${i%.mp3}-ENCODED.aac"</code> or switch <code>-c:a aac</code> to <code>-c:a libmp3lame</code></p>
