Quando usado sozinho na linha de comando ffmpeg, o SDL fornece excelente exibição de exibição ao vivo com quase nenhum atraso no fluxo de vídeo, exceto para fluxo de áudio. assim.
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"
Mas quando usado em conjunto com outras saídas, ou seja, no caso de múltiplas saídas, a saída do SDL exibe um atraso significativamente grande, até 5 segundos ou mais. Por exemplo, tentei exibir o fluxo de entrada de vídeo em tempo real pelo SDL e codificação de entrada e salve-o como abaixo dos comandos ffmpeg definidos. mas a exibição de saída do SDL foi atrasada significativamente.
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
Não há como manter a exibição da saída do SDL em tempo real?
Como posso continuar monitorando vídeos de entrada capturados em tempo real pelo SDL e codificar & salvá-lo simultaneamente? obrigado antecipadamente.