So... It seems nothing supports AC4 audio. Even though it been out since 2016.
ffmpeg does not support it. There is many pages i fine online, reddit, and request pages, that say there is no progress or little interest to support it.
BUT! Channels DVR can play it fine! This it has to have a way to decode it.
Alas, it does have its own ffmpeg.exe in its program files of the server.
I copied that out, and using a .bat script, can convert the recordings to AC3 audio.
From server version: 2023.08.15.0451
It really does not like to output .mpg, give tons of red warnings and things, and the resulting file has playback issues when i play on Plex or Infuse on my Apple TV.
But setting it as .mkv, works perfect.
Here is the code, with some help from ChatGPT.
NOTES
You need to put the .mpg file in the same folder(directory) you have this .bat and the ffmpeg.exe in.
It will read in any .mpg file, and output the remuxed_name of original file.mkv with AC3 audio.
You can change the Line 3 "set "ffmpeg_path=ffmpeg.exe" to whatever path your ffmpeg.exe is, if you do not want the exe in the same folder. (I just set the exe to be hidden file)
Example "ffmpeg_path=C:\path\to\ffmpeg.exe"
You can have the output file in a separate folder or path even. Just change the end of Line 8 "remuxed_%%~ni.mkv" to "output\remuxed_%%~ni.mkv" that would output the file into a already created sub folder in the folder your are launching this from, called "output".
@echo off
REM Set the path to your FFmpeg executable
set "ffmpeg_path=ffmpeg.exe"
REM Loop through all .mpg files in the current directory
for %%i in (*.mpg) do (
REM Use FFmpeg to remux the file
"%ffmpeg_path%" -i "%%i" -c:v copy -c:a ac3 "remuxed_%%~ni.mkv"
REM Check if FFmpeg command was successful
if not errorlevel 1 (
echo.
echo.
echo Remuxed and converted to AC3: "%%i"
echo.
) else (
echo.
echo.
echo Error remuxing and converting: "%%i"
echo.
)
)
pause
CLI output
AC4 media info
AC3 after convert