Hey,
I played around for a while, and I figured out something about the Wii U browser:
It does not only support MP4 / h.264+MP3, but also MPEG2 TS with h.264 and AAC (or MP3).
What does that mean?
The HTML5 Live Streaming that Apple so much proclaims ( https://developer.apple.com/resources/http-streaming/ ) basically works.
I only did this on Windows, but Linux users should be able to change the input variables. I also expect intermediate experience with "computer stuff".
And what does it do?
It allows you to stream LIVE video sources (DirectShow sources) such as your Webcam (ha!) your computer screen, whatever you have to your Wii U. The technique has a inherent delay of about 9 seconds (cant be lowered much further).
What do I need?
EDIT: Actually, as per WiiUBrew, it was already known 5 days ago that it supports the MPEG2 TS container. Dang
I played around for a while, and I figured out something about the Wii U browser:
It does not only support MP4 / h.264+MP3, but also MPEG2 TS with h.264 and AAC (or MP3).
What does that mean?
The HTML5 Live Streaming that Apple so much proclaims ( https://developer.apple.com/resources/http-streaming/ ) basically works.
I only did this on Windows, but Linux users should be able to change the input variables. I also expect intermediate experience with "computer stuff".
And what does it do?
It allows you to stream LIVE video sources (DirectShow sources) such as your Webcam (ha!) your computer screen, whatever you have to your Wii U. The technique has a inherent delay of about 9 seconds (cant be lowered much further).
What do I need?
- VLC Media Player
- A web server (or just install IIS on Windows)
- A Wii U... probably... You can test it with a iDevice (iPod/iPhone/iPad) though, they support the same method!
- A video input device (virtual or not) that exposes itself as a DirectShow device. Example: XSplit Broadcaster has a video source, ffsplit creates a video source (www.ffsplit.com), Webcam, your camcorder might support this...
- Install your web server of choice. IIS is only there on the Professional versions of Windows and above.
Recommendation? Just get nginx or lighty! http://nginx.org/download/nginx-1.3.9.zip - Now you need to configure your web server. I'll explain how to do that with nginx.
1) Download it (obviously) and extract it somewhere
2) Go into the "conf" subfolder of this folder and open nginx.confg with an editor (standard Notepad might just throw all lines into disarray and show them all clunked together... Try WordPad, it works. Or better, just use notepad++ or notepad2)
3) If you use Skype, nginx might not work out of the box (technical reason: Skype grabs port 80, which is for web servers).
Two solutions: Kill Skype, then open nginx, then open Skype, OR: In the config file you are in now, look for the line "listen 80"; change the 80 whatever you want, but avoid anything below 200.
4) If you want to set your own folder to contain the (temporary) videos for live streaming, do this:
In the config file look for the section beginning with "Code:location / {
5) Save and close! - Now comes the funstuff. In your webroot (whatever you set above) or in the html subfolder of nginx (if you didn't set anything), create a new file called index.html (keep in mind that Windows, by default, omits file extensions! You should know that as an intermediate, do you?)... You can also just right click the existing index.html and hit "Edit". If MSWord pops up... Well dang, open with notepad.
Okay. In this index.html, paste this:
Code:<!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>
Save and exit the editor.
Also, make a new folder inside your webroot: "stream". - Now, gleam your eyes across this beauty:
Code:"c:\program files (x86)\videolan\vlc\vlc" -I rc dshow:// :dshow-vdev="XSplitBroadcaster" :dshow-adev="XSplitBroadcaster" 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=aac,ab=96,channels=2}:std{access=livehttp{seglen=3,delsegs=true,numsegs=1,index=C:\inetpub\wwwroot\stream\stream.m3u8,index-url=/stream/stream-########.ts},mux=ts{use-key-frames},dst=C:\inetpub\wwwroot\stream\stream-########.ts}
This is the command you will have to execute to make VLC do your bidding.
Edit it to your specifications, look for all paths in there and change them accordingly (examples: index=, dst=, path to your vlc ("program files" on 32 bit Windows, "program files (x86)" on 64 bit windows...)
:dshow-vdev and vdev are the name of your DirectShow Device to stream from. You could try the name of your webcam, for example. You can see the name with amcap.exe for example, or this: http://metalgearsonic.de/Software/WebcamSilverlight/Run.html It runs on Silverlight, so you have to have that installed. You can see the names of your input devices in that dropdown box.
:dshow-adev and -adev ... Is just that, the same thing for audio.
size="1280x720" and width:1280,height:720 sets the resolution for your stream. - Create a new .BAT file anywhere you want and put the command you just made in there.
- Now for the grand finale: Open nginx.exe, look into task manager if nginx.exe is present, allow firewall if it pops up
Open the new bat file with the VLC command... It should open VLC and start cracking (and not crash). - Now get the IP of your PC (if you don't know how: http://www.wikihow.com/Find-out-Your-IP-Address ), for you guys who think: The hostname does NOT work on the Wii U. I tried and wondered why I couldn't access my PC. You HAVE to type the IP. I don't know why they did this.
- If you set a port before (the listen 80 setting before), on your Wii U, access this: http://your-ip:portnumber/. If not, access this URL: http://your-ip/
- There should be a small player popping up on the page.. Hit it... and hope it plays your stream!
EDIT: Actually, as per WiiUBrew, it was already known 5 days ago that it supports the MPEG2 TS container. Dang