Record the stream in mpg, but recode it into mp4 in the background.
Might require the right hardware but by converting it to HEVC you can cut the file size down to 25% of the original
This kind of feature has been asked before.
I'm pretty sure the developers said that they won't be adding this and it's up to the users to do it.
I think if you search the forums, there are threads about this and some people have scripts that take care of this.
Maybe something that could be added to OliveTin for Channels. @bnhf
This would certainly be possible to do using OliveTin, as the Channels version of ffmpeg is already included. It would probably be fine for converting the odd recording. However, if the goal is to transcode all recordings, I think something like Tdarr would much better. This supports distributed processing, so you could get as many systems as you're able involved in the process:
EDIT: I could see adding Tdarr to Project One-Click, all setup for use with Channels DVR. I'd need input from someone that's actually using it with Channels though, to get the settings correct.
You can use MCEBuddy or Fireflows or Tdarr to do that. If you have Emby Premiere or Plex Pass, you can also set it up to preoptimize the library where the recordings are and it'll do that for you
Technically, Channels DVR records into an MPEG Transport Stream container, but uses the recorded filename extension of .mpg. Technically, it should be a .ts filename extension, but just as well could be .cdvr. The file extension doesn't matter, what matters is what's inside the file.
As mentioned, there are many way to remux and/or transcode the recordings into a format "YOU" prefer. The key point being "YOU".