gopro / labs

GoPro Labs
Apache License 2.0
474 stars 39 forks source link

BITL 6 and above makes live stream unusable #525

Open Virmolian opened 12 months ago

Virmolian commented 12 months ago

Using 6000 kbit/s and higher causes severe fragments and lost frames. BITL=5 (or BITL=0 to reset) works as usual.

My setup:

To rule out that it's not an issue with the GoPro, I sent 4k RTMP video at 12000kbit/s directly from my phone (IRL Pro app) to the same endpoint, which worked without a problem. Out of curiosity I tried setting BITL=5.5 and 5.9, but that didn't seem to affect it, the stream worked with those numbers. Does the command only consider whole numbers? Other than that, I tried each BITL (6, 7 and 8) on 720p and 1080p, but I had the same problems whether I started the stream via QR Code or Quik app. Switching both hotpot and GoPro between 2.4GHz and 5GHz didn't seem to change anything and toggling wifi 6 did neither. Only moving parts in the image are fragmented. Setting the GoPro down in front of, for example, a TV will only cause fragments on the part of the image that is updating while the static background looks fine.

dnewman-gpsw commented 12 months ago

I don't think that comparable test (direct from phone vs using a phone way point). Try using a reliable WiFi network, not a phone hot spot. I getting reliable 8Mb/s to Twitch using my home network.

Virmolian commented 12 months ago

I don't think that comparable test (direct from phone vs using a phone way point). Try using a reliable WiFi network, not a phone hot spot. I getting reliable 8Mb/s to Twitch using my home network.

Hi, thanks for the fast response!

For my testing I've only been using a reliable wifi network with 300+mbit/s up and down. The phone hotspot is just there to simulate my outdoor streaming setup. As I have a somewhat recent phone I believe it shouldn't make a difference whether I send the GoPro livestream to my phone first and that sends it through the router. It has been working flawlessly that way while using the default bitrate.

However, to rule that out as the problem, I now let the GoPro connect directly to the router to send video to my PC that has OBS Studio running. The results were sadly the same. BITL=6 or higher still causes severe frame losses, audio cutting out and fragments.

IMG_20230912_17024989.jpeg

IMG_20230912_16305022.jpeg

dnewman-gpsw commented 12 months ago

That doesn't happen like that here, could be as my home network is on fibre (1Gb/s up and down,) or maybe my two test HERO11s are lucky. Here is a sample stream at 8Mb/s https://www.twitch.tv/videos/1922906534 I have seen an occasional dropout, but nothing like your have shown. There is not much more that can be done, Labs lifts the encoding limit, but everything else is stock for Live streaming. The next release will support setting in Kb/s, so BITL=5600 will target 5.6Mb/s, etc. So it will be more tunable.

Virmolian commented 12 months ago

Hm, my internet is definitely fast enough as well. I'll look forward to the next release, maybe that will work on my camera. Being able to fine tune even more sounds great.

Also, your dog is adorable! :)

dnewman-gpsw commented 11 months ago

More control is in Labs release 1.12.70

BITL to support Kb/s (oMBITL=1500) and Mb/s (OMBITL=5)