A maneira como eu passei por isso foi usar meu próprio servidor RTMP para transmitir o vídeo para o host.
Eu canalizo meu vídeo para o servidor RTMP local usando
mkfifo x
ytdl http://youtube.com/watch?v=12345 > x
ffmpeg -re -i x -c copy -f flv rtmp://mylocalRTMPserver/stream
Em seguida, crie um fluxo a partir dele para o host usando
ffmpeg -re -i rtmp://mylocalRTMPserver/stream -c copy -f flv rtmp://mystream.com/key
Se o fluxo acima não receber nenhuma entrada, ele permanecerá aberto por cerca de 30 segundos, permitindo que eu feche o tubo do youtube e o abra novamente.
Embora isso funcione, há uma sobrecarga extra de ter que executar duas instâncias do ffmpeg.