В ffmpeg, как сохранить вывод SDL в реальном времени для просмотра в реальном времени?

644
Thm Lee

При использовании отдельно в командной строке ffmpeg SDL обеспечивает превосходное отображение в режиме реального времени практически без задержки в видеопотоке, за исключением аудиопотока. как это.

ffmpeg -f dshow -video_size 1920x1080 -rtbufsize 2G -framerate 59.94 -i "Directshow A/V capture devices" -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL OUT" 

Но при использовании вместе с другими выходами, т. Е. В случае нескольких выходов, выход SDL отображал значительно большую задержку, до 5 секунд и более. Например, я попытался отобразить входной видеопоток в реальном времени с помощью SDL и кодирования ввода и сохранить его, как показано ниже. Набор команд ffmpeg. но вывод вывода SDL был значительно задержан.

ffmpeg -f dshow -video_size 1920x1080 -rtbufsize 2G -framerate 59.94 -i "Directshow A/V capture devices" \ -c:v rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL OUT" \ -c:v h264_qsv -preset fast -profile:v high -b:v 7500k -trellis:v P -r 30 -g 60 -c:a aac -b:a 128k -strict experimental -y -f mpegts d:\test.ts 

Нет ли способа сохранить вывод SDL в реальном времени?

как я могу в реальном времени отслеживать записанное входное видео с помощью SDL и одновременно кодировать и сохранять его? заранее спасибо.

1

0 ответов на вопрос