Wouldn't a 16:9 ratio would be 720x405? (For FFMPEG the frame size must be an even integer, so 720x404 would be the closest.) 480 - 404 = 76, so that top and bottom padding of 38 would be required to make up the difference to 720x480.
Originally Posted by ClarkePeters
I tried the convert commands:
All the faces and characters looked almost normal.
ffmpeg -i samplevideo.flv -target ntsc-dvd -s 720x404 -padtop 38 -padbottom 38 samplevideo.mpg
I then tried
and the faces and characters looked completely normal.
ffmpeg -i samplevideo.flv -target ntsc-dvd -s 720x360 -padtop 60 -padbottom 60 samplevideo.mpg
[I found -padcolor 000000 (which specifies the pad color to be the default black) was not necessary, and that -sameq is only necessary if using VBR (not common). -y just means to overwrite any output file of the same name.]
But with both, about 10-15% of the widescreen picture on each side was cutoff when viewing it on my TV (but not on my computer). I have read that this is due to the TV overscan, but surely there must be some way around it?
If I assume that the horizontal overscan is 10%, then I would need to pad 10% horizontally, or 5% on each side. For a 720 pixel wide screen, this would mean the picture would need to be 720 - 72 = 648 pixels wide, with 36 pixel padding both left and right.
Originally Posted by FakeOutdoorsman
So my target for my video would be 648 pixels wide.
Let's say my original video is 424x234. To upsize this original video so that the final horizontal width is 648, I would have to multiply by a factor of 648/424. To keep the aspect ratio intact, I would have to multiply the vertical size by the same factor. In other words, the vertical resolution would have to be 234 x (648/424), or 358.
So my final size of the video would be 648x358. To pad the image to a final size of 720x480 (required for NTSC), I would have to use left and right padding of 36 (always), and 480-358/2 for top and bottom padding, or 61.
Because FFMPEG requires even integers for frame and padding sizes, I would have to tweak this to 648x356 with top and bottom padding of 62.
Then my convert command would become
In general, a true 16:9 widescreen picture would almost always be upsized to 648x364, requiring top and bottom padding of 58 each. In general, then, a safe command (for 10% horizontal overscan) would be
ffmpeg -i samplevideo.flv -target ntsc-dvd -s 648x356 -padleft 36 -padright 36 -padtop 62 -padbottom 62 samplevideo.mpg
If overscan is 15% (uncommon), then the horizontal would be 612. which a 16:9 image would be 612x344. This would require left and right padding of 54 and top and bottom padding of 68. The general command would be, therefore
ffmpeg -i samplevideo.flv -target ntsc-dvd -s 648x364 -padleft 36 -padright 36 -padtop 58 -padbottom 58 samplevideo.mpg
I end up doing a lot of these conversions. I like the GUI WinFF (as a front end for FFMPEG), which is now available in the Jaunty Repositories (or alternatively as a .deb file from the project website):
ffmpeg -i samplevideo.flv -target ntsc-dvd -s 612x344 -padleft 54 -padright 54 -padtop 68 -padbottom 68 samplevideo.mpg
sudo apt-get install winff
I added a preset in WinFF for this routine conversion of 16:9 Widescreen to 4:3 Letterbox:
Video converter (WinFF) -> Edit -> Presets ->
Preset Name: Letterbox
Preset Label: 16:9 Widescreen to 4:3 Letterbox
Preset command: -target ntsc-dvd -s 648x364 -padleft 36 -padright 36 -padtop 58 -padbottom 58
Ouput file extension: mpg
-> Add/Update -> Save
I was born with 2 arms and 3 legs. As a schoolboy, Maths for me was always hard. The only thing I knew for sure was three feet made a yard. To count to ten I used my fingers -- and if I needed more, by getting my shoes and socks off I could count to twenty four!