logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
lestra  
#1 Posted : Friday, January 10, 2020 7:26:46 PM(UTC)
lestra

Rank: Advanced Member

Groups: Registered
Joined: 12/16/2019(UTC)
Posts: 84
Saint Kitts And Nevis

Thanks: 1 times
Was thanked: 2 time(s) in 2 post(s)
I was really impressed with vMix Video Call when I tried it for the first time. It is a simple solution and it opened many possibilities in live production. BUT...video quality coming from different devices vary significantly. For example:

vMix to vMix = Very Good
Desktop/laptop with good web camera = Good
Phone = From Bad to Acceptable

And here we have the problem. Best option will be to use phones to get guests to vMix but video quality doesn't match professional-semiprofessional criteria.
What can we do? I find that using different phone models gives different results. Phone must have a good camera and light but also it must use hardware encoding to produce HD (1280x720) video stream via WebRTC protocol.

Here iphone is better solution, but not everyone have iphone. Which android phones can do hardware encoding-acceleration? How to know?
Then there is different codecs used: VP8, H264, VP9, how to take control over encoder settings of the phone?

Many questions comes to mind but lets start with these.
mjgraves  
#2 Posted : Saturday, January 11, 2020 1:36:06 AM(UTC)
mjgraves

Rank: Advanced Member

Groups: Registered
Joined: 7/1/2015(UTC)
Posts: 1,150
Man
United States
Location: Houston TX

Thanks: 319 times
Was thanked: 263 time(s) in 233 post(s)
Originally Posted by: lestra Go to Quoted Post
Here iphone is better solution, but not everyone have iphone. Which android phones can do hardware encoding-acceleration? How to know?
Then there is different codecs used: VP8, H264, VP9, how to take control over encoder settings of the phone?


You have no control over this. You cannot have control over this. vMix Call leverages WebRTC. In WebRTC, much of how things work are predetermined.

You want more control, don't use phones as cameras. Use REAL cameras. Use SRT.

Or use an RTMP camera application and accept the associated latency.

You know the old rule; time/convenience, money, quality. You only get to have two of the three.

lestra  
#3 Posted : Saturday, January 11, 2020 3:16:33 AM(UTC)
lestra

Rank: Advanced Member

Groups: Registered
Joined: 12/16/2019(UTC)
Posts: 84
Saint Kitts And Nevis

Thanks: 1 times
Was thanked: 2 time(s) in 2 post(s)
Now this become more interesting. I take really old phone, Samsung Galaxy 5, installed Wowza Gocoder app on it, and made new test aplication on Wowza Streaming Engine. In Wowza Gocoder app on the phone I used this settings:

Resolution: 1920x1080
Frame Rate: 30fps
Bitrate: 5000kbps

Then I started RTMP streaming from phone to Wowza server. For watching stream I used VLC player on my desktop PC. Video was nice and smooth. Wow! But latency was about 30-40sec.

I don't understand why webRTC have such limitations? It is better for latency but video quality is so bad.
elvis55  
#4 Posted : Saturday, January 11, 2020 3:59:22 AM(UTC)
elvis55

Rank: Advanced Member

Groups: Registered
Joined: 3/17/2017(UTC)
Posts: 413
Switzerland
Location: Luzern - Schweiz

Thanks: 61 times
Was thanked: 55 time(s) in 49 post(s)
sinc747  
#5 Posted : Saturday, January 11, 2020 5:40:37 AM(UTC)
sinc747

Rank: Advanced Member

Groups: Registered
Joined: 8/2/2013(UTC)
Posts: 1,029
Man
United States
Location: Fairhope, Alabama USA

Thanks: 542 times
Was thanked: 194 time(s) in 160 post(s)
Also remember that Google Chrome dynamically adjusts the video resolution depending on the available bandwidth, so a "good" phone may perform poorly when it cannot get a good signal.

- Tom
mjgraves  
#6 Posted : Saturday, January 11, 2020 5:43:03 AM(UTC)
mjgraves

Rank: Advanced Member

Groups: Registered
Joined: 7/1/2015(UTC)
Posts: 1,150
Man
United States
Location: Houston TX

Thanks: 319 times
Was thanked: 263 time(s) in 233 post(s)
Originally Posted by: lestra Go to Quoted Post
Now this become more interesting. I take really old phone, Samsung Galaxy 5, installed Wowza Gocoder app on it, and made new test aplication on Wowza Streaming Engine. In Wowza Gocoder app on the phone I used this settings:

Resolution: 1920x1080
Frame Rate: 30fps
Bitrate: 5000kbps

Then I started RTMP streaming from phone to Wowza server. For watching stream I used VLC player on my desktop PC. Video was nice and smooth. Wow! But latency was about 30-40sec.

I don't understand why webRTC have such limitations? It is better for latency but video quality is so bad.


I expect that you're using H264. Android phones have hardware acceleration for H264. WebRTC uses VP8/9.

You've just discovered that WebRTC stands for "web real-time communications." It was designed for real-time bi-directional communications, which requires low latency. It prioritizes real-time over quality.

It also operates in a browser, which is inherently less efficient than a native application.

Any form of LONG-GOP compression is inherently more efficient (better quality) but also higher latency.
lestra  
#7 Posted : Saturday, January 11, 2020 6:48:21 AM(UTC)
lestra

Rank: Advanced Member

Groups: Registered
Joined: 12/16/2019(UTC)
Posts: 84
Saint Kitts And Nevis

Thanks: 1 times
Was thanked: 2 time(s) in 2 post(s)
Originally Posted by: sinc747 Go to Quoted Post
Also remember that Google Chrome dynamically adjusts the video resolution depending on the available bandwidth, so a "good" phone may perform poorly when it cannot get a good signal.

- Tom



I can see what you are talking about in the video call statistics. Resolution and bitrate vary all the time. But it is strange because signal is good and is the same phone/connection used in RTMP example without any glitch. Why? How to get constant 1280x720px resolution and max available bitrate? And also constant framerate?

Thanks everybody for answers, appreciated a lot.
mjgraves  
#8 Posted : Friday, January 24, 2020 2:37:24 AM(UTC)
mjgraves

Rank: Advanced Member

Groups: Registered
Joined: 7/1/2015(UTC)
Posts: 1,150
Man
United States
Location: Houston TX

Thanks: 319 times
Was thanked: 263 time(s) in 233 post(s)
Originally Posted by: lestra Go to Quoted Post
How to get constant 1280x720px resolution and max available bitrate? And also constant framerate?


Simple. Don't use a mobile phone.

vMix Call allows content contribution via a web browser. Nowhere was it promised that you'd achieve optimal results using a mobile phone.

For more control over the results, use camera connected to a real computer that has the resources to achieve what you desire. Also, use a reliable network and internet access.
mavik  
#9 Posted : Friday, January 24, 2020 5:19:17 AM(UTC)
mavik

Rank: Advanced Member

Groups: Registered
Joined: 4/23/2017(UTC)
Posts: 1,144
Man
Location: Germany

Thanks: 3 times
Was thanked: 166 time(s) in 148 post(s)
Try Larix Broadcaster with SRT

URL: SRT://[ip]:[Port]

In vMix add an SRT input as typ listener on the same port used above. Keep in mind that you need to open and forward the port in your router to your vmix machine.
mavik  
#10 Posted : Friday, January 24, 2020 4:50:21 PM(UTC)
mavik

Rank: Advanced Member

Groups: Registered
Joined: 4/23/2017(UTC)
Posts: 1,144
Man
Location: Germany

Thanks: 3 times
Was thanked: 166 time(s) in 148 post(s)
I recorded a short video of how this is working.
https://www.facebook.com/mavikav
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.