mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-09 16:19:35 +00:00
doc/faq: explain DAR/SAR preserving.
This commit is contained in:
parent
b491751409
commit
c49c42a4a3
34
doc/faq.texi
34
doc/faq.texi
@ -467,6 +467,40 @@ point acceptable for your tastes. The most common options to do that are
|
|||||||
@option{-qscale} and @option{-qmax}, but you should peruse the documentation
|
@option{-qscale} and @option{-qmax}, but you should peruse the documentation
|
||||||
of the encoder you chose.
|
of the encoder you chose.
|
||||||
|
|
||||||
|
@section I have a stretched video, why does scaling does not fix it?
|
||||||
|
|
||||||
|
A lot of video codecs and formats can store the @emph{aspect ratio} of the
|
||||||
|
video: this is the ratio between the width and the height of either the full
|
||||||
|
image (DAR, display aspect ratio) or individual pixels (SAR, sample aspect
|
||||||
|
ratio). For example, EGA screens at resolution 640×350 had 4:3 DAR and 35:48
|
||||||
|
SAR.
|
||||||
|
|
||||||
|
Most still image processing work with square pixels, i.e. 1:1 SAR, but a lot
|
||||||
|
of video standards, especially from the analogic-numeric transition era, use
|
||||||
|
non-square pixels.
|
||||||
|
|
||||||
|
Most processing filters in FFmpeg handle the aspect ratio to avoid
|
||||||
|
stretching the image: cropping adjusts the DAR to keep the SAR constant,
|
||||||
|
scaling adjusts the SAR to keep the DAR constant.
|
||||||
|
|
||||||
|
If you want to stretch, or “unstretch”, the image, you need to override the
|
||||||
|
information with the
|
||||||
|
@url{http://ffmpeg.org/ffmpeg-filters.html#setdar_002c-setsar, @code{setdar or setsar filters}}.
|
||||||
|
|
||||||
|
Do not forget to examine carefully the original video to check whether the
|
||||||
|
stretching comes from the image or from the aspect ratio information.
|
||||||
|
|
||||||
|
For example, to fix a badly encoded EGA capture, use the following commands,
|
||||||
|
either the first one to upscale to square pixels or the second one to set
|
||||||
|
the correct aspect ratio or the third one to avoid transcoding (may not work
|
||||||
|
depending on the format / codec / player / phase of the moon):
|
||||||
|
|
||||||
|
@example
|
||||||
|
ffmpeg -i ega_screen.nut -vf scale=640:480,setsar=1 ega_screen_scaled.nut
|
||||||
|
ffmpeg -i ega_screen.nut -vf setdar=4/3 ega_screen_anamorphic.nut
|
||||||
|
ffmpeg -i ega_screen.nut -aspect 4/3 -c copy ega_screen_overridden.nut
|
||||||
|
@end example
|
||||||
|
|
||||||
@chapter Development
|
@chapter Development
|
||||||
|
|
||||||
@section Are there examples illustrating how to use the FFmpeg libraries, particularly libavcodec and libavformat?
|
@section Are there examples illustrating how to use the FFmpeg libraries, particularly libavcodec and libavformat?
|
||||||
|
Loading…
Reference in New Issue
Block a user