HDR Wireless Live streaming(Flow Tours) - 4K resolution in YouTube Live

I turned it off at 28 minutes because I was having problems with my USB-C charger. this is unrelated to the plug-in. I’m trying another test now with H.264. It’s been recording for 40 minutes so far. I think.

It would be nice if you could put a timer on OLED screen of the Z1 to see how long the stream of the recording is. I’m using a stopwatch on my computer to see when to turn off the plug-in.

Is it supposed to record the audio to the video file as well?

I have the Z1 19GB model. The max time per recording is normally 25 minutes. The total video recording is 40 minutes. If I record at 24fps H.264, how long do you think I can record for with the video file saved inside the camera? It’s looking like it may be 8GB an hour? The 30 minute video was 4GB.

image

I’m currently waiting for my 28 minute to process. It’s a quick way to show that there’s a way to take a video that’s longer than 25 minutes.


The Z1 is drawing more than 500mA. It’s fluctuating between .6A and 1.31A. Not all USB ports can supply more than 500mA. I have the Z1 plugged into a wall charger.

Agree and thanks, it makes sense to display some timed data. However I wouldn’t update it too ofter, probably every 1 minute, to count minutes only, to not update too often the ‘screen’.

Yes, audio is also recorded there! When recording in equirectangular 24FPS is maximum I can get now with Z1. In dual fisheye 30FPS also works fine…

Video is still in processing so resolution is still very low at YouTube, but you can look at a bit later: https://www.youtube.com/watch?v=1oJ5ml-LFPs

hi,
did processing of that ~30 minute video finished? I think that h.265 is the key here, to record using h.265 in 20mbps it will look superb and 25FPS is also stable during my internal tests. Also there is a cheaper tool that may help with stabilizing Cyberlink Powerdirector… I didn’t get there yet to upload recorded files to YouTube, I was pushing streaming so far. But as it was easy to make it record to a file I thought why not to try and see later how will it work? I think I may be able even to inject spatial metadata directly, but it may add 1-2% CPU usage too, so 25FPS may not work only 24FPS. Any way for me streaming was most important.

The video you uploaded looks great.

I successfully uploaded the 28 minute video, but it is still processing on YouTube.

I may try and upload it again.

I tried to take a 3hr 16 minute videos, but it put my camera into an unbootable state, showing only a triangle with an exclamation point in the center.

I was able to boot it again with

adb shell
reboot bootloader

I’m not sure what the command actually did, but the Z1 is working again and I’m going to try a 60 minute video recording this time. I’m 50 minutes into the new test.

Craig, it may happen that storage was full and I didn’t tested through that scenario like action “stop recording and close properly the mp4 in case storage is full”? Not sure.User from Taiwan who recorded almost 3 hours didn’t report anything like that, I’m sorry! That file was lost right? I made the plugin to stop recording and close the file when thermal shutdown is initiated, but for storage check I didn’t do anything specifically… 60 minute will be fine. Even 2 hour should be fine. if 30 minute takes 8-9gb. But that 3 hour video I guess you tried at lower bitrate right? 12mbps in h.264?

For the failed video, I was not able to recover the video file.

I was using 20Mbps bitrate.

I’ll try again with 12Mbps bitrate in H.264.

The two files I have on YouTube are still stuck at 95% processing.

image

I just did another recording at 20Mbps h.264. It was successful for 1hr 8 minutes. I stopped it manually. There’s no problems overheating.

image

hi, @craig ,
did processing of the video finish at YouTube?

Thanks!

yes, it processed. Here is the sample clip.

I also recorded a 1 hour video yesterday as well. I did not upload the 1 hour video

Hi,
Very Nice garden and offices, thanks for sharing! When in h.265 it looks even bétter…

@craig ,
for tuning recording better to adjust key frame interval to 2 or more and also btirate mode VBR variable bitrate will produce better quality. I exposed you these additional setting on flow.tours, also audio quality settings…

Also on video the sky was “blinking” because of keyframe interval was set to 1 this was noticeable…

1 Like

hi, @craig,
I’ve good news. You have to try this to see the difference…

Set encoding to H.265 please and if you want to record, set into RTMP URL word “.youtube.” without quotes. You can add www or can omit too, it’s just critical to include .youtube. like here:


RTMP Stream name you can leave empty, or even leave what you used to, it’s important to include .youtube. at RTMP URL thats all.

It will record a properly sized and HEVC encoded file for YouTube. If you set it to 12mbps bitrate, you should get a better quality than your earlier video. Especially if VBR is set and keyframe interval to 2. Feel free to try and share! Also another good news, when using H.265 you could set FPS to 25 instead of 24…

I did some tests and it looks much better even at lower bitrates. But if you have more bandwidth can set 20mbps or 30mbps too, it will make a difference in YouTube too.

Hi,
I was in Sopron this weekend and recorded a video sample with the plugin, h.265 hevc encoding 25fps, 20 mbps bitrate. No postprocessing done, only spatial metadata injected and uploaded to YouTube…

@Juantonto , was here at this city key decade(s) ago. :slight_smile:

Thanks,
Laszlo

1 Like

What does “key frame interval” mean? I will try this and other settings you suggested. Thanks.

Maybe you should put a help icon next to the drop down menu on your system. Other people may need your knowledge and advice for the setup as well. :slight_smile:

If you set keyframe to 1 and fps is set to 24, it will produce a keyframe every 1 second, or every 24 frames if set to 2 it will produce a keyframe every 48 frames, or 2 seconds.

For longer operation still keep fps at 24 instead of 25, also CBR, constant bitrate may work longer…with 2 keyframes set.

Im not planning to expose all settings, probably after some more test data I will limit to those that are reliable. Like 30fps with equirectangular will not work well for sure in Z1… while dualfisheye will work fine.

At stream doman, if you save h.265 make sure that .youtube. is there even if you plan to record. otherwise there is a sizing issue for some reason and a black hole will appear in video.

I’m running post stabilization using MistikaVR on a h.265 recorded video file from Sopron. Will uoad to Youtube once its done to see the difference.

Thanks for this explanation.

What is a keyframe and how is it used on FlowTours?

I’m working at home today. I’ll likely try more testing later in the week.

In theory video could be a sequence of independent image…weel for compression it’s not. We only “encode” the changes between 2 frames coming each, BUT every 24 frames we send again a whole iamge, so “correcting” the compression. Less keyframse, more compression… I mean this is only explanation simplified version fro myself…
better explanation or official here: Key frame - Wikipedia

Thanks for testing! I’m testing a gimball, DJI Osmo mobile 4…

1 Like

Every time I try to log into FlowTours, I have to reset my password.

The reset password form works.

However, I have to reset it every time I log in.

The saved password doesn’t appear to work, just the one-time linke.

Do I need to set the Audio Bitrate and the Audio Sample Rate?

What is the Max Buffer Items?

Hi,
Your username is codetricity and not the email.

Max buffer items is the maximum number of frames to keep in buffer…when internet speed fluctuates its very importa t. Also for low latency better to keep low (48), but if network is unstable etter a higher number, like 400…

craig via THETA 360 Developer noreply@community.theta360.guide ezt írta (időpont: 2022. nov. 1., Ke 16:41):

Live Stream to YouTube, 4K 24fps, H.264.

1 Like

Hi, @craig ,
this is a really good test, one of the most important ones, that I could analyze and I’ve some thoughts to share here. Thanks a lot for testing and sharing!

Just a quick question, was WiFi set to 2.4Ghz or to 5ghz?

  1. In the office at the first half, stream was good, becuase wifi Mesh network coverage was quite good I noticed at one of the corners Z1 lost connection to actual router BUT it switched to the next one. This is very important. This camera is the only 360 device that I’m aware of which can switch between WiFi routers without loosing connection (I tested this with Qoocam 8k Enterprise version and it just can’t switch between routers while streaming). Clearly some frames were dropped, but if the WiFi mesh network is properly set, it can provide seamless/fast roaming without loosing connection. However 20mbps is a bit too much, it requires WiFi mesh routers to be placed closer to each other, the best is if bitrate is set to ~16mbps in this scenario, also instead of VBR, for live streaming CBR is much better, also I think there was a small 200-300ms video audio sync delay noticeable. while for recording video VBR is preferred. Switching between routers happens faster if CBR is set. For now on flow.tours configuration page I allow all these settings, once I collect more data, I will add some notices and suggestions to UI directly.

  2. When you left the office space, there were coverage issues, this could be minimized if at the WiFi mesh network “beamforming” feature would be turned on and also a “prioritization” would be given to your Z1 device. Second, if 2.4ghz WiFi is used it provides longer distance coverage, however lowering a bit bitrate to 14-16mbps provides better coverage in space, less frames would be dropped, less interruptions. In some scenarios 5ghz provides better coverage, that depends on WiFi network too, which one is “better”, so you have to try and test before doing a “real” live streaming event.

  3. After you left the office, you were on first floor walking a garden was visible outside, you walked toward stairway to go down, there was a bigger interruption behind the wall, I think at that point you were also not sure if it will work further. You were right, there connection was lost, it couldn’t switch to any other proper network, so it went to “sleep” for 0.5seconds and the plugin retried, again it failed to connect, and was waiting another 1 second to try again, and again for another 2 seconds, so viewers lost probably 4-5 seconds all together, but it started to stream again just fine in the garden.

Clearly the best is to use WiFi mesh network to cover bigger area, to walk around, routers should be put a bit closer to each other than usually to satisfy high and stable upload speed requirement. I’m doing some additional tests to find the best settings for these scenarios, like to set buffer size to lower number and also to increase max buffer items (frames) to keep in internal RAM if needed a bit longer to set to 400-600 (default is 200). Also experimenting to see effect of “send buffer size” to lower value, like 65000 bytes. If this is too high it can try to send to big packets from z1 toward router and to youTube, which can be a problem as it’s harder to switch to another WiFi router fast enough…

Earlier I spent building a cool machine, RAspberry Pi 4, with my own customized WiFi network driver. I used Raspberry Pi4 was a WiFi extender/repeater. It was using it’s WLAN card to connect to WiFi mesh network and I really optimized to switch over faster to the closest router and also used a detachable antenna to extend range. By default these “drivers” are not optimized for live streaming use case, but to get the maximum bandwidth. For us, “live streamers” it was more important to keep a stable bandwidth 16-18mbps and even if that speed is still available, but there is a closer router to initiate switch over. Usually “switch” happened too late, causing much more frames lost. The default WPA_Supplicant on Ubuntu wasn’t good at all with handling switch over, so I took IWD iNet Wireless Daemon, which is maintained by Intel and designed to offer better efficiency. Any way as it’s open source, I modified it’s code a bit for these use cases. Also Z1 was connecting to the same Raspberry Pi 4 on a secondary WiFi WLAN card in Pi. At the end I’m not using that device for now. I’m planning to extend it with a 4g or 5g mobile network connection, so it could work from a battery and with a detachable antenna could double mobile connection to 4g networks. As 5g cards cost is really high for raspberry pi, I think 4g would be better. Also regarding speed indoor, it’s faset enough and usually the signal strength is bigger issue than limitations of 4g speed. 4g provides for me 20mbps upload and lot of cases even more than needed.

Now if we talk about flow.tours as platform, all above settings we can almost forget, as we can get the same quality if bitrate is set to 12mbps in case og HEVC/h.265. This is a huge difference, even if we compare with 16mbps/H.264. Switching over to another router with 12mbps is much easier, faster, etc. operation range of routers is also better, you can walk longer distances too without interruption.

Also another point, imagine doing the same live streaming toward flow.tours with 1-2 second latency only and same quality… Also hearing your viewers at the same time directly using earplugs, or you to speak to the same earplug microphone instead of z1 inbuilt microphone and audio would be synced and combined to stream on flow.tours on the fly.

Thanks for testing, Craig, I would give you a huge heart, but no size options on this forum for that! :slight_smile:

1 Like

I tried to stabilize the video I recorded 2 days back in Sopron, using MistikaVR software on my desktop, here is the uploaded video but with stabilization:

I will come back to stitching improvement, I think I would be able to improve it for both recording and live streaming.

1 Like