O Youtube usa o método HLS "Http Live Streaming" que a Apple inventou e está tentando padronizar.
Eu repliquei esse método usando uma linha de comando elaborada para o VLC e um servidor web HTTP e ele funcionou no Wii U.
Aqui está a linha de comando:
"c:\program files (x86)\videolan\vlc\vlc" -I rc dshow:// vdev="XSplitBroadcaster" adev="XSplitBroadcaster" size="1280x720" --sout=#transcode{width=1280,height=720,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp3,ab=96,channels=2}:std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=C:\inetpub\wwwroot\stream\stream.m3u8,index-url=http://dennis/stream/stream-########.ts},mux=ts{use-key-frames},dst=C:\inetpub\wwwroot\stream\stream-########.ts}
Aqui, para uma configuração rápida, é o código html que acessa este fluxo:
<!doctype html>
<html>
<head></head>
<body>
<video width="320" height="240" controls="controls">
<source src="/stream/stream.m3u8" type="application/x-mpegURL" />
</video>
</body>
</html>
Quem usar isso, você terá que alterar todas as variáveis lá. Ele usa "arquivos de fragmentos" que são colocados no wwwroot do servidor da Web, que podem ser transmitidos por um iDevice ou um Wii U.
Pessoalmente, acho que isso teria o melhor lugar em um ramdisk, porque os dados mudam rapidamente e não há muitos dados ao mesmo tempo.