I don't do post recording transcoding, but there are examples posted if you search.
As far as when, create a script for the "Post-processor command" in your recording profile with a starting line with something like:
sleep $(($(date -d 23:59:59 +%s) - $(date +%s) + 1))
which will wait until midnight before continuing.
If you want to start earlier, adjust the first time ("23:59:59") to the time you want to start.
If you want to start after midnight, increase the "+1" at the end to the number of seconds after midnight you want it to start.