ffmpeg: explicitly tag h.264 as bt.601, rather than leaving unspecified?
PAL and NTSC have different color primaries, so 

NTSC = SMPTE 170M = BT 601 525

PAL = BT 470 BG = BT 601 625

See the rows for value 5 &amp; 6 on the table on page 387 of the active H.264 standard.



So the right args for ffmpeg are:

NTSC:

# NTSC
ffmpeg -i input  \
 -colorspace smpte170m -color_primaries smpte170m -color_trc smpte170m

mediainfo:
Color primaries                          : BT.601 NTSC
Transfer characteristics                 : BT.601
Matrix coefficients                      : BT.601


PAL:

-color_trc doesn't accept bt470bg, but ffmpeg -h full shows that gamma28 means "BT.470 BG" for that option.

# PAL
ffmpeg -i input  \
 -colorspace bt470bg -color_primaries bt470bg -color_trc gamma28

mediainfo:
Color primaries                          : BT.601 PAL
Transfer characteristics                 : BT.470 System B, BT.470 System G
Matrix coefficients                      : BT.601


-colorspace is the most important option; the others don't make a visible difference for software players like mpv on Linux.