Most content is usually BT709 nowadays, it's just that ffmpeg still has BT601 as default for some reason.
Good to see some people finally making sense with encoding.
(This color matrix issue can be resolved by using -vf "colormatrix=bt601:bt709")
Yeah FFmpeg is weird but more weird is that when converting back to YUV on the contrary the bt.709 matrix is used.
I'm not sure if it's FFmpeg's fault though because only the guy who did the interpolation know what tools he used.
FFmpeg is not necessarily involved, the whole process can be done in VapourSynth.
edit:
p.s. by the way, in this specific case, the "fix" should be -vf colormatrix=bt709:bt601 and then still playback as bt709
basically this make YUV -(bt.601)-> RGB -(bt.709)-> YUV to become YUV -(bt.601)-> RGB -(bt.601)-> YUV (approximately),
now since
these matrix conversions are reversible (otherwise you won't see any "correct color" in virtually any video), we are back to original video's colorspace, which is tagged as bt709, so we playback as bt709.
actually it's not the wrong matrix used the problem, but mismatching matrix used is problem, if same matrix is used to convert back and forth between YUV and RGB, and keep the "bt709" tag in metadata at the end, no one would noticed any difference.
p.s. no.2: fuck me, video technology lecture in porn forum.