Hacking [GUIDE] Live streaming to your Wii U (or: more video formats the browser supports)

FierceDeity_

Member
OP
Newcomer
Joined
Nov 21, 2012
Messages
7
Trophies
0
Age
30
XP
24
Country
Gambia, The
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?

  • 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...
The steps:
  1. 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
  2. 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 / {
    " . One line below, there's "root html;". Here you can change the webroot. You can change it, for example, to "C:\\users\\yourusername\\wwwroot\\", without the quotes. Note the double backslashes: You need those :). Important: Keep the semicolon (;) in the end! Also: It keeps trouble away when you choose a folder that does not need Administrator permissions to be written to. If you disabled UAC, go ahead and choose anything.
    5) Save and close!
  3. 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".
  4. 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.
  5. Create a new .BAT file anywhere you want and put the command you just made in there.
  6. 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).
  7. 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.
  8. 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/
  9. There should be a small player popping up on the page.. Hit it... and hope it plays your stream! :)
I hope it works for you guys!

EDIT: Actually, as per WiiUBrew, it was already known 5 days ago that it supports the MPEG2 TS container. Dang :)
 
  • Like
Reactions: Dekirai and PrimeX

crono141

Well-Known Member
Member
Joined
Jan 7, 2012
Messages
249
Trophies
0
XP
205
Country
United States
OK, I'm kinda confused. Is this only good for one file, or will you be browsing a list of files in the webroot, and when you activate it the vlc portion does its magic? This isn't on the fly transcoding is it?
 

SifJar

Not a pirate
Member
Joined
Apr 4, 2009
Messages
6,022
Trophies
0
Website
Visit site
XP
1,172
Country
OK, I'm kinda confused. Is this only good for one file, or will you be browsing a list of files in the webroot, and when you activate it the vlc portion does its magic? This isn't on the fly transcoding is it?
I think you basically need to set it up with a particular video on your computer, then it'll stream that one video to your WiiU. To watch another video, you'd then have to change stuff on your computer again. Although I don't think this guide actually covers streaming a video file, it seems to be streaming from a video input device (e.g. a webcam). I dunno if there is some software or something that can play a video which will appears as a video input device, if there is that should work I guess.

EDIT: The OP appears to be using this: http://www.xsplit.com/, which looks like it should work. But it's not free, and I don't really think it's worth it for the end result (I think it's rather inconvenient to have to choose videos on PC to watch on something else). You may feel it is.
 

FierceDeity_

Member
OP
Newcomer
Joined
Nov 21, 2012
Messages
7
Trophies
0
Age
30
XP
24
Country
Gambia, The
Yeah, it's not very convenient if you only want to watch videos. It's for when you (for SOME reason) want to stream any video input device (Webcam, XSplit has a virtual one) directly to the Wii U LIVE.

If you just want to watch videos use the other method and put MP4 files into the webroot for the Wii U to directly access.

It's on the fly transcoding for LIVE content. There will be a delay of about 9 seconds though, keep that in mind (cant be lowered with this method much further).

I edited my post to have this information.

Also XSplit is free to use, some sources (and settings) are not available in free mode though, like the DirectX game source.
 

PrimeX

Well-Known Member
Member
Joined
Dec 27, 2012
Messages
103
Trophies
0
Age
31
XP
76
Country
Romania
...your computer screen...
I think this one is really interesting. Like a remote desktop connection. FierceDeity did you try it? You can combine this with an android Gmote server for example and controll your pc/laptop from the livingroom only by accessing a webpage.
 

GregoryRasputin

The PS3 Scenes Most Hated Person
Banned
Joined
Dec 12, 2012
Messages
110
Trophies
0
Location
http://playstationhax.it/
Website
playstationhax.it
XP
204
Country
I posted something similar, though not as detailed on my own website on the same day, ill post it here, hoping that it is somewhat helpful of useful :)


Well its no secret that the Wii U cannot play your personal movies or audio, via USB or any other pluggable device, how ever if you are wanting to watch movies or listen music on your Wii U, it is possible via the consoles Web Browser.

The Web Browser media details are as follows:

Video Format:
MP4, M3U8+TS(HTTPLiveStreaming)
(Some videos may not be playable.)

Video Codec:
H.264 – MPEG-4 AVC Video
(Some videos may not be playable.)

Audio Codec:
AAC – ISO/IEC 14496-3 MPEG-4 AAC
(Some audio may not be playable.)

Through some testing i found that yes .mp4 works a treat for video and so does .mov, the .mp4 file i used was an SD TV Show and the .mov was a HD trailer of a movie.

As far as Audio goes, only .aac is possible natively, it does not give you a GUI, just a blank black screen, but you can continue to use your web broiowser via your Game Pad’s screen whilst listening your own music.
I tried various software for streaming and found the best so far is Air Playit, this application has the ability to let you convert your files on the fly to something the Browser will understand, but through WiFi, it is just too slow.
http://wiiuhax.com/wii-u-and-playing-your-own-home-media/
 
  • Like
Reactions: KiiWii

vashgs

Well-Known Member
Member
Joined
Feb 1, 2008
Messages
236
Trophies
0
XP
234
Country
United States
I think this one is really interesting. Like a remote desktop connection. FierceDeity did you try it? You can combine this with an android Gmote server for example and controll your pc/laptop from the livingroom only by accessing a webpage.

There's a built-in lag with Apple's livehttp (which is the only supported streaming protocol on the Wii U) that would ultimately ruin any attempt at a remote desktop client via streaming.
 
General chit-chat
Help Users
    Veho @ Veho: https://i.imgur.com/S2L9j5A.mp4