First of all, thank you in advance for your patience for reading this .... book :))
I hope my shared experience will help others who have the same questions.
‘My computer configuration is:
- I7-7700 3,6ghz, 16gb RAM, SSD, nVIDIA GTX 1070.
I do video production & live streaming. I don’t do games.
I use primarily Vmix and secondary, OBS.
I have 2 PTZ Optics 12x cameras and I use them through NDI. I’ve done a lot of testing with them (like changing profiles, changing bit rates, h264/hevc/mjpeg - in the web interface).
The best quality settings from my POV on NDI are the following:
Camera web interface:
NDI high quality preset with the following edits:
50hz (I live in Europe)
Encode Protocol: h264 (it preserves a few more details and it’s a little bit more sharper on high profile than h265)
Encode Level: high profile
Bit Rate: 20000kbps
Frame rate: 50p
I key frame interval: default (I didn’t understand this function very well and I didn’t have much time for it). I think the default is double the frame rate, 100. I speak from my memory because I don’t have access to computer right now. Can I obtain better quality increasing or decreasing that number?
I compared the settings above with the standard ‘high quality NDI preset’ and I like my custom settings better. My settings preserves more detail and the image is a little bit more sharper.
vMix recording settings:
MP4 - H264 - High Profile - 48mbps
My first question was:
If my camera has a bit rate of 20mbps, do I need to set my recording to 20mbps or 48mbps?
So I tested those 3 options in vMix: 20mb, 48mb and 75 or 78mb (I don’t rembember exactly the preset number)
20mb vs 48 mb - the quality was better on 48mb (it’s worth it)
48 mb vs 75mb - the quality was the same
So I will go with 48mb. Maybe someone can explain why the results are better with 48mb if I transmit with only 20mb from the camera. My logic says that if I transmit with 20mb, the recording would have the max quality with 20mb - 25mb preset. Maybe my logic is wrong. The test is saying something else.
And about the latency, it’s pretty small. Almost real time.
Now it’s time for another battle: H264 vs MJPEG (camera web interface settings).
48mb H264, high profile VS 48mb MJPEG
- quality rocks on MJPEG
- highlights are far better preserved with MJPEG (and this was a problem for me with h264)
- more details on MJPEG
- MJPEG is flatter which I like (like a LOG profile but far from it...)
- of course, the same file size as h264
- bye bye second stream
- bye bye NDI
- bye bye low latency
Now, let the questions begin.
For my live streamings, I will go with NDI settings from above, but for recording purposes, I want to go with MJPEG.
I import the MJPEG feed with Add Input - Stream, in vMix.
Is there any solution to decrease the almost 1 second latency?
If I leave the camera on NDI settings (H264) for low latency image, then connect the camera to the computer via HDMI/SDI and capture the HDMI/SDI feed (hope that the cameras transmit MJPEG through HDMI/SDI), it would be better?
I can’t test this scenario because I don’t have a capture card. I want to get rid of that latency but I don’t know if it’s possible. If this solution works, I can buy two capture cards for my 2 cameras.
I know that HDMI has some latency, but can it be compared with NDI latency or with MJPEG stream latency?
Does SDI have latency?
I have a feeling that I need to get used with that latency if I want that quality....
PS: I hope you understand what I’m saying. I’m not an English speaker
Thanks a lot!