No ffmpeg, como manter a saída do SDL em tempo real para a exibição ao vivo?

1

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.

    
por Thm Lee 15.07.2017 / 08:53

0 respostas