Infiniscene

A mobile app for online-broadcasting

Tilda Publishing
Stream
RTMP
iOS
OAuth
Ffmpeg
Social
Video
Camera
Android
Broadcasting
The task
The old Infiniscene mobile app functioned like a remote control, allowing the user to stop, start and switch streams without minimizing the game. The last update was in March 2016, and in summer of 2016 the founders approached us with a task to create a completely different app that could stream on YouTube, Twitch, Hitbox and Facebook Live from a mobile device.
Past history
The founders of the Infiniscene start-up used to take part in multimedia broadcasting, gaming and e-sports projects like SteelSeries, Machinima, Open Broadcasting Software, Major League Gaming, ESL, Beyond Gaming, GotFrag and World Cyber Games.

We believe that everyone should be able to share what they love without technical issues getting in the way. Infiniscene already enables live streaming from a browser, we wanted to bring easy production tool to mobile phones — allowing creatives to stand out and share their story without having to configure codecs and bitrates.

Stu Grubbs
CEO of Infiniscene
Investments

Closed beta started July 2015. In September 2015, the startup raised 1.8 $ million, led by MK Capital venture fund, got accelerated on Startech and launched closed beta testing of the platform. In april 2016, the beta went public to gather product feedback for the official release.

Popular streaming platform statistics
A large number of broadcasts and their viewers proves the relevance of streaming services and platforms.
Popular streaming platform statistics
A large number of broadcasts and their viewers proves the relevance of streaming services and platforms.
Periscope
More than 200 million broadcasts daily
2016 statistics
Facebook
5,7 billion stream views every day
2016 statistics
Twitch
Amount of broadcasters is more than 2,1 million
2015 statistics
Hitbox
About 10 million viewers every month
2015 statistics
YouTube
Is used by 90% of gamers
2016 statistics
Periscope
More than 200 million broadcasts daily
2016 statistics
Facebook
5,7 billion stream views every day
2016 statistics
Twitch
Amount of broadcasters is more than 2,1 million
2015 statistics
Hitbox
About 10 million viewers every month
2015 statistics
YouTube
Is used by 90% of gamers
2016 statistics
Infiniscene's distinctive feature
The app is distinct in the sense that it allows to stream directly to Twitch and Hitbox servers. Our market research has found no similar solutions.
Along with streaming on the servers of the platforms mentioned above, Infiniscene also streams on its own server, in which case the user can access the web interface and customize the video image by applying logos, text, filters and borders.
In its minimal version, the app works only in horizontal mode. Vertical broadcasting support might be added in a later version.
Infiniscene's distinctive feature
The app is distinct in the sense that it allows to stream directly to Twitch and Hitbox servers. Our market research has found no similar solutions.
Along with streaming on the servers of the platforms mentioned above, Infiniscene also streams on its own server, in which case the user can access the web interface and customize the video image by applying logos, text, filters and borders.
In its minimal version, the app works only in horizontal mode. Vertical broadcasting support might be added in a later version.
Libraries for streaming
To set up broadcasting, video has to be compressed on the fly and packed into an RTMP stream. The timeframe we were given to develop MVP was not enough to handle this process, so we had to use a library for RTMP protocol.
We tried out several libraries before settling on our final choice. Finding a library that would allow streaming on all of the services proved to be difficult.
Libraries for streaming
To set up broadcasting, video has to be compressed on the fly and packed into an RTMP stream. The timeframe we were given to develop MVP was not enough to handle this process, so we had to use a library for RTMP protocol.
We tried out several libraries before settling on our final choice. Finding a library that would allow streaming on all of the services proved to be difficult.
Pili Engineering

iOS support: yes
Android support: yes
Price: unknown


SDK for RTMP streaming protocol. Supports hardware video coding in H.264 and AAC standards. Incoming image can be customized.
Realtimelibs

iOS support: yes
Android support: yes
Price: 1990 $ (library), 2990 $ (source code)


A simple library for implementing streaming from iPhone, iPod touch and iPad to a server. Supports the RTMP streaming protocol and allows publishing H.264 and AAC videos.
Pili Engineering

iOS support: yes
Android support: yes
Price: unknown


SDK for RTMP streaming protocol. Supports hardware video coding in H.264 and AAC standards. Incoming image can be customized.
Realtimelibs

iOS support: yes
Android support: yes
Price: 1990 $ (library), 2990 $ (source code)


A simple library for implementing streaming from iPhone, iPod touch and iPad to a server. Supports the RTMP streaming protocol and allows publishing H.264 and AAC videos.
Nanocosmos

iOS support: yes
Android support: yes
Price:
99 €/month

Trial version works for 14 days, but requires registration to view the sample.
NodeMediaClient

iOS support: yes
Android support: yes
Price:
free

A decent Chinese library with the drawback that it can't be licensed outside of China.
Nanocosmos

iOS support: yes
Android support: yes
Price:
99 €/month

Trial version works for 14 days, but requires registration to view the sample.
NodeMediaClient

iOS support: yes
Android support: yes
Price:
free

A decent Chinese library with the drawback that it can't be licensed outside of China.
As the result, we chose WMSPanel
WMSPanel library supports either iOS or Android platforms. The subscription price is 1000 $ per months for both platforms. This library is from Russian-speaking developers that can be used even after the subscription ends but without support and updates. This library’s price turned out to be the best offer.
As the result, we chose WMSPanel
WMSPanel library supports either iOS or Android platforms. The subscription price is 1000 $ per months for both platforms. This library is from Russian-speaking developers that can be used even after the subscription ends but without support and updates. This library's price turned out to be the best offer.
Broadcasting settings
The library for RTMP protocol used in the Infiniscene app calculates audio and video bitrates* on its own, based on FPS count and frame size.

* Bitrate is the amount of bit used to store one second of audio or video content. Bitrate is used to calculate data transfer channel bandwidth.
Broadcasting settings
The library for RTMP protocol, which is used in the Infiniscene app, calculates audio and video bitrates* on its own, based on FPS count and frame size.

* Bitrate is the amount of bit used to store one second of audio or video content. Bitrate is used to calculate data transfer channel bandwidth.

iOS settings
Image resolution — 1280×720
30 FPS
Audio bitrate: 320 kbps

Аndroid settings
Image resolution — 640×360
15 FPS
Audio bitrate: 400 kbps

At a certain stage in our work we had to select the average available options, so these became our default settings.
You can stream both computer and table games
You can stream both computer and table games
You can stream both computer and table games
Difficulties of development include YouTube authorization
First of all, the user's channel is requested to get the username. Then, default broadcast is requested, from which we get the id of the live stream that's attached to this broadcast*. Finally, live stream is requested, from which we obtain the necessary links for the stream. With so many requests to make, we would have to write a lot of code; however, there were some things that helped us:
— A tool from YouTube called API explorer — a sandbox of sorts that allows to test all requests from the web page;
— RxJava framework — it nicely handled the long chain of requests we need to get a stream link.
*This distinguishes YouTube from other platforms: if on Twitch and Hitbox the user has only one channel with a single stream, on YouTube the user has a channel with one or (in theory) more streams.
Dmitriy Alekseenkov
Android developer
The team
Account manager
Vlad Korobov
Project manager
Pavel Razuvaev
iOS developer
Pavel Razuvaev
Android developer
Dmitriy Alekseenkov