Sunday 7 February 2016

360 Degree Live Streaming with JanusVR


As part of a project I am working on I live streamed a gig into JanusVR. A band called the Oh!Sharels kindly let me stream their gig at the Kikuchiyo Live Bar in Tokyo. The stream used 360x180 degree video from a Kodak SP360 streamed into JanusVR.

The 360x180 video played on a half sphere in JanusVR

Hardware

  • Laptop (Windows)
  • Kodak SP360
  • USB WiFi dongle
  • Shotgun Mic (AT9941) 
  • 4G router (AU WiFi Walker)

Software/Services

  • OBS
  • Wowza Streaming Engine
  • Wowza Cloud 

 

The System

The system was very simple, the laptop was connected to the 4G router and the Kodak SP360 via WiFi. OBS captured the .mjpeg stream from the Kodak and sent it to the Wowza Streaming Engine, which in turn pushed it to Wowza Cloud. Wowza cloud outputs in a number of formats including .m3u8, which JanusVR can play as an AssetVideo.

Incredibly detailed system diagram


The big weakness with the system was the 4G router. I had no WiFi access at the event so had to rely on 4G, which means I was limited in the bitrate I could upload at, but more importantly I was at the mercy of the LTE network. The Wowza server log files are filled with lost connection errors (around 80 over the course of a 2 hour stream!). This caused numerous issues for the stream in terms of short and relatively long term outages. For example during my testing at the start of the gig the stream experienced few outages, however once I started the 'official' stream (at the time I had told people I would be streaming from as the band started their second set) the connection became highly unstable (typical eh?). Then for the last 30 minutes of the stream the connection was fine.

While the 4G router I was using was clearly not fit for purpose, I have not tried any others so 'your mileage may vary'. I'm sure there are more reliable 4G routers out there but mine was all I had to hand at the time. Personally I think next time I stream I am going to make sure I have real internet.

Now apart from the 4G issues the system had some upsides and downsides which I will now go into in a little detail.

Kodak SP360

Benefits:
  • WiFi connection
  • Form
Downsides
  • WiFi connection
  • Low resolution
The Kodak SP360 is really more of an action camera than something designed for streaming and therefore the resolution was a little low. However the stream recordings looked reasonable and at this stage in my research its fine for what I need. The ability to stream video over WiFi is nice as you can stick the camera anywhere in the venue. However the downside to this is the video can hang and lag due to a bad connection. The form of the Kodak is quite useful, as its just a tiny cube it can site on tables without the need for a tripod and without getting in the way.

Raw Kodak SP360 Video

Wowza Streaming Engine and Cloud

Benefits:
  • Super easy to set-up
  • Server reconnects to the Cloud in the event on short outages 
  • Records stream 
  • The Cloud service is pay as you go
Downsides
  • Longer outages seem to break the system
  • Potential CDN issues (low resolution streaming) 
  • The streaming engine seems expensive (imo)
Wowza seemed to work well but is clearly designed for stable connections. The stream did reconnect in the event of short connection issues but if the connection went down for a minute or so the streaming Engine and Cloud server both required restarting before the video would return. Not convenient but that was the 4G router's fault.

Poor quality video due to CDN issues?
One of the main issues with the stream was that users in the UK reported low resolution video. When watching the stream on the Wowza web player the video seemed high quality to me (in Japan). In previous testing I have had similar issues, where watching the stream in Japan (in both Janus and on a standard web-player) appears high quality to me, yet very low quality to people in the UK. I'm not sure what the issue is here but I will be talking to Wowza about it to see what the cause may be.

JanusVR

The landing environment for the stream. Modified exterior of the 'Viper Room' JanusVR environment. Thanks to 'Aussie' for sending me the files.

Playing the video from the Kodak SP360 on a half sphere in JanusVR works very well. The only issue any of my viewers reported was that one using a mac had some graphical 'issues' (see below).
Although they said their mac was a bit old and crap so it may have been that. Another user, also on a mac, told me it Janus worked fine, but I just like this screen shot :)

lol?

Conclusions

Overall the stream had some issues but was fun and pretty interesting. For the band I got some good footage which was recorded both on the Cloud and on my machine at the gig. For myself I got some valuable experience in running this stream, playing with JanusVR, and hopefully will have some useful user data for analysis. I think a real internet connection would solve the biggest issue I had this time, and I might look into getting a better camera.

All work and no play something something