Se as suas imagens de entrada são todas JPEGs, uma após a outra, mas você não tem um padrão para ler, você precisa do mjpeg demuxer:
ffmpeg -f mjpeg -i - -r 10 -c:v libtheora -q:v 7 -f ogg -
Isto assume que o que você canalizar para o ffmpeg é o que o ffmpeg produziria como mjpeg . Se isso não funcionar (desculpe, não pode tentar no momento), você também pode tentar:
ffmpeg -f rawvideo -c:v mjpeg -i - …
Importante: ogg como formato de saída, sem outras opções, implica libtheora como um codificador, que não possui a opção -crf . A libtheora usa -q:v com um intervalo de 0 a 10, em que 10 é a mais alta qualidade. 7 deve ser um bom valor. Se você não usar -q:v , ele retornará para 200 kbit / s, o que resultaria em má qualidade.