In order to amplify the volume without damage your audio you can use the volumedetect filter before.
Also to confirm the TV opus decode problem you can make some test over an audio ac3 converted to opus:
First check the volume:
Code:
ffmpeg -i test.ac3 -af "volumedetect" -acodec pcm_s24le test_ac3.wav
...
[Parsed_volumedetect_0 @ 000001c441599fc0] mean_volume: -26.4 dB
[Parsed_volumedetect_0 @ 000001c441599fc0] max_volume: -1.1 dB
...
Now convert to opus and recheck the volume:
Code:
ffmpeg -i test.ac3 -acodec libopus -ab 128k test.opus
ffmpeg -i test.opus -af "volumedetect" -acodec pcm_s24le test_opus.wav"
...
[Parsed_volumedetect_0 @ 0000024505fdee80] mean_volume: -26.5 dB
[Parsed_volumedetect_0 @ 0000024505fdee80] max_volume: -1.0 dB
...
Like you can see the volume is preserved (more or less with a lossy conversion)
This sample only admit amplify 1dB without distort.
If max_volume was -6 dB you can recode the opus with:
Code:
ffmpeg -i test.ac3 -af "volume=6dB" -acodec libopus -ab 128k test.opus