Sky has extended its broadcasting deal with Formula 1 until the 2029 season, but F1 will retain free-to-air coverage next season after Channel 4 also reached a rights deal.