libavdevice: Improve example in deprecation message for opengl and sdl

When piping ffmpeg into ffplay both programs write a status line in
the terminal. That causes flickering and invisibility of one or the
other status line.

As compromise set ffplay log level to warning, so it doesn't show
the status line.

The user is usually testing ffmpeg command lines and want's a
preview of the result. This way the user can see the ffmpeg output
and still see errors and warnings from ffplay, should they occur.

Additionally set PTS to zero in ffplay to lessen the delay until
the frames are displayed. Without it delay is quite observable
when e.g. live capturing with low frame rates.
This commit is contained in:
Alexander Strasser 2024-04-09 01:36:08 +02:00
parent 8b3d997bed
commit 36aee69f0d
2 changed files with 2 additions and 2 deletions

View File

@ -1067,7 +1067,7 @@ static av_cold int opengl_write_header(AVFormatContext *h)
av_log(opengl, AV_LOG_WARNING, av_log(opengl, AV_LOG_WARNING,
"The opengl output device is deprecated due to being fundamentally incompatible with libavformat API. " "The opengl output device is deprecated due to being fundamentally incompatible with libavformat API. "
"For monitoring purposes in ffmpeg you can output to a file or use pipes and a video player.\n" "For monitoring purposes in ffmpeg you can output to a file or use pipes and a video player.\n"
"Example: ffmpeg -i INPUT -f nut -c:v rawvideo - | ffplay -\n" "Example: ffmpeg -i INPUT -f nut -c:v rawvideo - | ffplay -loglevel warning -vf setpts=0 -\n"
); );
opengl->warned = 1; opengl->warned = 1;
} }

View File

@ -167,7 +167,7 @@ static int sdl2_write_header(AVFormatContext *s)
av_log(sdl, AV_LOG_WARNING, av_log(sdl, AV_LOG_WARNING,
"The sdl output device is deprecated due to being fundamentally incompatible with libavformat API. " "The sdl output device is deprecated due to being fundamentally incompatible with libavformat API. "
"For monitoring purposes in ffmpeg you can output to a file or use pipes and a video player.\n" "For monitoring purposes in ffmpeg you can output to a file or use pipes and a video player.\n"
"Example: ffmpeg -i INPUT -f nut -c:v rawvideo - | ffplay -\n" "Example: ffmpeg -i INPUT -f nut -c:v rawvideo - | ffplay -loglevel warning -vf setpts=0 -\n"
); );
sdl->warned = 1; sdl->warned = 1;
} }