Delgado's answer is correct that MP4Box can do this, but the -par option doesn't work quite as described. With an -out parameter (so as not to disturb your original file):
mp4box source.mp4 -out target.mp4 -par stream-number=width:height
When you use -par stream-number=width:height, you define the pixel aspect ratio – that is, the result of dividing the device aspect ratio by the storage aspect ratio. (Equivalently, you're describing the aspect ratio of a source pixel.) For example, suppose you have a DVD source that's 720×480, and the correct display aspect ratio is 4:3. For this case, you need:
mp4box source.mp4 -out target.mp4 -par 1=8:9
because (4/3) / (720/480) = 8/9.
If the source represents true SD NTSC pixels (in which case only the central 704×480 pixels are supposed to map to a 4×3 screen, with 8 pixels overscan on either side), the correct command would be:
mp4box source.mp4 -out target.mp4 -par 1=10:11
because (4/3) / (704/480) = 10/11 – exactly the reference pixel aspect ratio for standard definition NTSC video.
For the case given in the question, if it's really 4:3, that gives a very odd pixel aspect ratio: (4/3)/(720/416) = 104/135. It's 720 wide, which suggests a DVD source; it's a 25 fps video, suggesting PAL, but the PAR works out to less than 1, suggesting NTSC. It could be 4:5, I suppose (very close to 104:135), but I don't know of anything that produces that pixel aspect ratio; maybe try that first, and then try 3:4 if it still looks a little too stretched horizontally. If you're certain it's exactly 4:3, of course, just use 104:135.
-c copyand scale at the same time; however you can use-aspectto change the aspect ratio at the container level (but not the stream level). – llogan Apr 30 '15 at 18:56-aspectdoes work for playback inffplay, but not in WMP or MPC-HC. It adds an additional SAR/DAR item to theStream #…info line inFFmpeg/probe/playbut doesn't seem to be solution for general playback. Stretching the video with the window seems like the easiest solution for MPC-HC playback. – Lumi Jan 03 '16 at 14:10ffmpeg -strict -2 -i [INPUT] -aspect 720:540 -strict -2 [OUTPUT]. I added-strict -2(note that's -2, not just 2) to get ffmpeg to stop complaining about the aac audio in the original. This re-encoded a square source into an output at 4:3. – Andrew Beals May 20 '17 at 10:47-aspectis useless; you need to use-bsf:v mpeg2_metadata=display_aspect_ratio=4/3(the only valid values are 4/3, 16/9, 221/100). Even this might not work, due to Sequence Display Extension metadata in the stream, in which case you'd have to set the aspect ratio there too, perhaps by demuxing and processing with ReStream. – Mike Brown Jul 05 '20 at 03:04