TheImagingSource / Linux-tiscamera-Programming-Samples

Programming samples in Python and C++ for the tiscamera GStreamer modules.
71 stars 35 forks source link

VideoStreaming Error with tcambin and v4l2h264enc #22

Closed somdats closed 1 year ago

somdats commented 2 years ago

@TIS-Alexander I am trying to stream imaging source cam stream based on your suggested gstreamer pipeline: gst-launch-1.0 tcambin serial=40120746 tcam-properties=tcam,ExposureAutoReference=91,ExposureTime=366,Gamma=0.74,Saturation=116.0 ! video/x-raw, format=BGRx, width=1948, height=1096, framerate=30/1 ! videoconvert ! v4l2h264enc ! h264parse config-interval=1 ! matroskamux ! udpsink host=146.48.84.241 port=5002 I get an error: WARNING: erroneous pipeline: no element "v4l2h264enc" I am using Ubuntu 18.04 , Nvidia Jetson boardd with gstreamer 1.14.0 I have also gts-plugins-good, I am not sure If it totally supports v4l2h264ence or I could not find the plugins Can I use x264enc in replacement? Do you have some command arguments with x264enc, I tried but cannot get working

help needed!!!

TIS-Alexander commented 2 years ago

@somdats Thank you for your request. In fact, we also prepared an example tailored for the Nvidia Jetson platform, see here: https://github.com/TheImagingSource/nvidia-jetson-samples/tree/master/examples Please note that this example uses the nvarguscamerasrc as image source, which delivers images from MIPI cameras on the Nvidia platform. Please note that this example is also included in our demo image delivered with our Nvidia dev kits. You can also try to replace the missing element v4l2h264enc in your pipeline with either nvv4l2h264enc (see https://developer.nvidia.com/embedded/dlc/l4t-accelerated-gstreamer-guide-31-1-0) or nvh264enc (see https://gstreamer.freedesktop.org/documentation/nvcodec/nvh264enc.html?gi-language=c), as both of them utilize hardware acceleration for h264 encoding. However, it should also work using the x264enc, but the latter only uses software encoding as far as I know.

I am wondering about the operating system used (Ubuntu 18.04). Is there a reason that you do not use JetPack?

Best regards Alexander

somdats commented 2 years ago

@TIS-Alexander Thanks for your reply. I have been using the Nvidia argus camera library for streaming with nvv4l2h264enc. However, we are limited by the library capabilities with image quality improvements and related factors. I am also in discussion with one of your colleagues on the other repo: see here for details

https://github.com/TheImagingSource/tiscamera/issues/476

I am using your tcam library from your company and it gives me better control over improving the quality of the video feed. I am using the following for the streaming

https://github.com/TheImagingSource/Linux-tiscamera-Programming-Samples/tree/master/Raspberry-Pi-4-devkit-samples

I Tried putting "nvv4l2h264enc " into the same tcambin pipeline but did not get it to work but somehow cannot use v4l2h264enc, as I could not find the plugins with my gstreamer installation, even gst-good plugins, also do not seem to have them. I am using JetPack based on NVidia, The cameras and also the jetson board are from your company itself, so most of the stuff ( packages, SDK are the ones provided from your side) Though now, I am able to receive the stream using a modified gst launch pipeline using x264enc, it is slow and suffers from latency. Hardware acceleration is a better choice (v4l2h264enc), but somehow I could not even find it in the system, Gstreamer version is 1.14.0 Additional installation packages from gstreamer related to v4l2h264enc did not provide much relief Please let me know If you are aware and could be definitely helpful

TIS-Alexander commented 2 years ago

@somdats Thank you for the explanation. I understand that you prefer not to use the nvarguscamerasrc due to the limited settings for preprocessing.

You mentioned that you tried nvv4l2h264enc and that it did not work. Did you get the same error message that the element can not be found? Or did you get a different error? If so, which one? Also, did you try the nvh264enc?

Could you provide the exact JetPack release you are using (e.g. 4.6.1) and the Jetson board (Jetson Nano or Jetson Xavier NX)? Then we can try to reproduce this on our side and provide you with a working pipeline.

Best regards Alexander

somdats commented 2 years ago

@TIS-Alexander Good Morning Here is full information on the Jetpack: It is a Jetson Nano board ( Nvidiaa P340) **Package: nvidia-jetpack Version: 4.5.1-b17 Architecture: arm64 Maintainer: NVIDIA Corporation Installed-Size: 194 Depends: nvidia-cuda (= 4.5.1-b17), nvidia-opencv (= 4.5.1-b17), nvidia-cudnn8 (= 4.5.1-b17), nvidia-tensorrt (= 4.5.1-b17), nvidia-visionworks (= 4.5.1-b17), nvidia-container (= 4.5.1-b17), nvidia-vpi (= 4.5.1-b17), nvidia-l4t-jetson-multimedia-api (>> 32.5-0), nvidia-l4t-jetson-multimedia-api (<< 32.6-0) Homepage: http://developer.nvidia.com/jetson Priority: standard Section: metapackages Filename: pool/main/n/nvidia-jetpack/nvidia-jetpack_4.5.1-b17_arm64.deb Size: 29390 SHA256: 13c10e9a53ec51c261ce188d626966dfca27f26b2ed94ba700147c1ba3e35399 SHA1: 81047a7779241bbf16763dbd1c4c12cf8c9d0496 MD5sum: 54916439514f39af5234b3a43e329910 Description: NVIDIA Jetpack Meta Package Description-md5: ad1462289bdbc54909ae109d1d32c0a8

Package: nvidia-jetpack Version: 4.5-b129 Architecture: arm64 Maintainer: NVIDIA Corporation Installed-Size: 194 Depends: nvidia-cuda (= 4.5-b129), nvidia-opencv (= 4.5-b129), nvidia-cudnn8 (= 4.5-b129), nvidia-tensorrt (= 4.5-b129), nvidia-visionworks (= 4.5-b129), nvidia-container (= 4.5-b129), nvidia-vpi (= 4.5-b129), nvidia-l4t-jetson-multimedia-api (>> 32.5-0), nvidia-l4t-jetson-multimedia-api (<< 32.6-0) Homepage: http://developer.nvidia.com/jetson Priority: standard Section: metapackages Filename: pool/main/n/nvidia-jetpack/nvidia-jetpack_4.5-b129_arm64.deb Size: 29358 SHA256: 9ee354a66d932a3fbb244c926f333143a845c627c6981d108e01df2958ac462c SHA1: 0e07f27c6fb9e34a70c69ae1150d1e578e938089 MD5sum: a551bbc8ff653c8983ce1804082bbcab Description: NVIDIA Jetpack Meta Package Description-md5: ad1462289bdbc54909ae109d1d32c0a8**

  1. The gst launch send command with nvv4l2h264enc is here: gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=80,Gamma=0.84,Saturation=118.0,Sharpness=2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nvv4l2h264enc ! rtph264pay ! udpsink host= port=

I have managed now with omxh264enc , which is also a hardware accelerated encoder with the following launch command:

gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=80,Gamma=0.84,Saturation=118.0,Sharpness=2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! omxh264enc profile=8 insert-sps-pps=true bitrate=4000000 ! video/x-h264,profile=high, stream-format=byte-stream ! rtph264pay ! udpsink host=146.48.84.241 port=5000 tcambin serial=40120746 tcam-properties=tcam,ExposureAutoReference=88,Gamma=0.84,Saturation=118.0,Sharpness=2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! omxh264enc profile=8 insert-sps-pps=true bitrate=4000000 ! video/x-h264,profile=high, stream-format=byte-stream ! rtph264pay ! udpsink host=146.48.84.241 port=5001 There are two cameras : one kept indoor and the other outdoor to test the quality of the data, just the exposure settings are different At the receiving end, I am using the same command both for nvv4l2h264enc and omxh264enc, Importantly now I don,t get the error with the missing element, as earlier but do not receive the data VideoCapture cap3("udpsrc port=5002 ! application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96 ! rtph264depay ! decodebin ! videoconvert ! appsink drop = 1", CAP_GSTREAMER);

One question: regarding the camera properties, I am using tcam-capture to select the optimal parameters and then using those in my gst pipeline, but somehow, I see the difference as shown below

As seen thru tcam-capture test-indoor

As seen thru my application and rectified[ N.B , application does not do any processing and only receiving thru UDP conenction] test-indor-rectified

Do, I need to provide all capture properties in the gst pipeline or only those which are changed w.r.t default settings and rest are loaded default?

somdats commented 2 years ago

@TIS-Alexander I am sorry for writing too much and also variation in observation: Now, I have managed to work also with nvv4l2h264enc with the following command: gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,Sharpness=2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! omxh264enc profile=8 insert-sps-pps=true bitrate=4000000 ! video/x-h264,profile=high, stream-format=byte-stream ! rtph264pay ! udpsink host=146.48.84.241 port=5000 Only thing is I start my application but do not get the feed immediately, I have to stop running the command on Jetson and then again run.

No such issue with omxh264encas described above, But this green tinge on the image , may be an issue with encoder settings,

Best Regards Somnath

TIS-Alexander commented 2 years ago

@somdats Regarding the parameters: you only need to specify those parameters that are changed.

Regarding the different appearance, I would suggest to narrow down whether the appearance changes during encoding or before. Therefore, you could simply use the pipeline "gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,Sharpness=2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nv3dsink" so that the images are displayed instead of being converted. Do they appear correctly then, or with wrong colors as well?

Best regards Alexander

somdats commented 2 years ago

@TIS-Alexander

gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,Sharpness=2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nv3dsink

I ran the command and here it is green green

I changed the expsoureautorefernce to 80, the green tinge appears fraction of a sec, and then I get a proper image exp_80

somdats commented 2 years ago

Here is a short video with tcam-capture, you can observe that the video starts with a green tinge fraction of a second https://www.dropbox.com/s/go228of0yacoete/VID_20220811_151326831.mp4?dl=0

TIS-Alexander commented 2 years ago

@somdats Thank you for the additional information. To us it looks like the auto white balance is not correctly working or disabled when starting via gst-launch. To verify this, could you please add the parameter BalanceWhiteAuto=Continuous to ensure it is enabled? Another explanation is that the white balance auto algorithm is not correctly working due to the large black areas because of the fisheye lens. To improve this, you can set AutoFunctionsROIEnable=true and AutoFunctionsROIPreset="Center 50%"

Best regards Alexander

somdats commented 2 years ago

@TIS-Alexander , Good Morning I tried to set up your suggested properties, however, I get an error with AutoFunctionsROIPreset="Center 50%", May be It is unable to set Here is the gst command: gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,Sharpness=2,Contrast=36,BalanceWhiteAuto='Continuous', AutoFunctionsROIEnable=true, AutoFunctionsROIPreset='Center 50%' ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nv3dsink Error: :eerroneous pipeline: could not set property "tcam-properties" in element "tcambin0" to "tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,BalanceWhiteAuto=Continuous,AutoFunctionsROIEnable=true,AutoFunctionsROIPreset=Center 50%"

I tried removing the parameters with something like this GST_DEBUG=3 gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,BalanceWhiteAuto='Continuous',AutoFunctionsROIEnable=true ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nv3dsink Please let me know If you have tried the suggested command or could you please try with the ones , I mentioned and see if it runs

TIS-Edgar commented 2 years ago

The error you are getting is most likely due to having to escape certain characters when defining string in the console

tcambin serial=45020080-tegra conversion-element=2 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,Sharpness=2,BalanceWhiteAuto=\"Continuous\",AutoFunctionsROIEnable=true,AutoFunctionsROIPreset=\"Center\\ 50%\" ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1920, height=1080,format=(string)I420, framerate=30/1' ! nv3dsink

That command should set the ROI to center 50% as expected.

somdats commented 2 years ago

@TIS-Edgar , @TIS-Alexander Thanks for the command, I gave it a try with your suggestion of the ROI. Here is an image when I set the parameters using tcam-capture tool, As soon as I select auto roi enable , the image gets darker and ave to increase the exposure to make it brighter result_roi_new

  1. I tried putting the functionlaties into gst pipeline

GST_DEBUG=3 gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=128,BalanceWhiteAuto=\"Continuous\",AutoFunctionsROIEnable=true,AutoFunctionsROIPreset=\"Center\50%\" ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nv3dsink

It runs but I can see on the console that the property AutoFunctionsROIPreset is not set 0:00:01.090280251 17885 0x55c93cd4a0 WARN tcamtegrasrc device_software_properties.cpp:401:operator(): For AutoFunctionsROI to work, the device has to have 'SensorWidth' integer properties 0:00:01.090438432 17885 0x55c93cd4a0 WARN tcamtegrasrc device_software_properties.cpp:401:operator(): For AutoFunctionsROI to work, the device has to have 'SensorHeight' integer properties 0:00:01.107449010 17885 0x55c93cd4a0 WARN tcambin gsttcambin.cpp:119:operator(): Failed to init property named 'AutoFunctionsROIPreset' due to: 'Error: Parameter out of range'

and the image is over exposed because the ExposureAutoReference is still considering full sensor scenario and results in high brightness result_auto_roi_disp

TIS-Edgar commented 2 years ago

Turns out you found a bug in the tegrasrc. My apologies for that.

As a work around you can set :

tcambin serial=45020080-tegra conversion-element=2 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,Sharpness=2,BalanceWhiteAuto=\"Continuous\",AutoFunctionsROIEnable=true,AutoFunctionsROIPreset=\"Custom\ Rectangle\",AutoFunctionsROILeft=X,AutoFunctionsROITop=Y,AutoFunctionsROIWidth=X2,AutoFunctionsROIHeight=Y2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1920, height=1080,format=(string)I420, framerate=30/1' ! nv3dsink

Basically the ROI has to be set manually as the algorithm is not capable of determining the values itself. For your resolution something like X=480,Y270,X2=970,Y2=540 might be a good starting point.

somdats commented 2 years ago

Turns out you found a bug in the tegrasrc. My apologies for that.

As a work around you can set :

tcambin serial=45020080-tegra conversion-element=2 tcam-properties=tcam,ExposureAutoReference=70,Gamma=0.78,Saturation=118.0,Sharpness=2,BalanceWhiteAuto="Continuous",AutoFunctionsROIEnable=true,AutoFunctionsROIPreset="Custom\ Rectangle",AutoFunctionsROILeft=X,AutoFunctionsROITop=Y,AutoFunctionsROIWidth=X2,AutoFunctionsROIHeight=Y2 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1920, height=1080,format=(string)I420, framerate=30/1' ! nv3dsink

Basically the ROI has to be set manually as the algorithm is not capable of determining the values itself. For your resolution something like X=480,Y270,X2=970,Y2=540 might be a good starting point.

I tried with this:

**GST_DEBUG=3 gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=80,BalanceWhiteAuto="Continuous",,AutoFunctionsROIEnable=true,AutoFunctionsROILeft=480,AutoFunctionsROITop=270,AutoFunctionsROIWidth=970,AutoFunctionsROIHeight=540,AutoFunctionsROIPreset=\"Custom\Rectangle\" ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nv3dsink

but it seems those properties are not writable as per the console info 0:00:01.088071388 23416 0x55bacd94a0 WARN tcambin gsttcambin.cpp:119:operator(): Failed to init property named 'AutoFunctionsROIPreset' due to: 'Error: Parameter out of range' 0:00:01.088180036 23416 0x55bacd94a0 WARN tcambin gsttcambin.cpp:119:operator(): Failed to init property named 'AutoFunctionsROILeft' due to: 'Error: TCAM_ERROR_PROPERTY_NOT_WRITEABLE' 0:00:01.088214048 23416 0x55bacd94a0 WARN tcambin gsttcambin.cpp:119:operator(): Failed to init property named 'AutoFunctionsROITop' due to: 'Error: TCAM_ERROR_PROPERTY_NOT_WRITEABLE' 0:00:01.088238163 23416 0x55bacd94a0 WARN tcambin gsttcambin.cpp:119:operator(): Failed to init property named 'AutoFunctionsROIWidth' due to: 'Error: TCAM_ERROR_PROPERTY_NOT_WRITEABLE' 0:00:01.088255142 23416 0x55bacd94a0 WARN tcambin gsttcambin.cpp:119:operator(): Failed to init property named 'AutoFunctionsROIHeight' due to: 'Error: TCAM_ERROR_PROPERTY_NOT_WRITEABLE'

TIS-Alexander commented 2 years ago

@somdats It appears that the escaping is still not correct. The space in the enumeration value "Custom Rectangle" causes the trouble.

Please try the following pipeline: gst-launch-1.0 tcambin serial=40120745 "tcam-properties=tcam,ExposureAutoReference=80,BalanceWhiteAuto=\"Continuous\",AutoFunctionsROIEnable=true,AutoFunctionsROILeft=480,AutoFunctionsROITop=270,AutoFunctionsROIWidth=970,AutoFunctionsROIHeight=540,AutoFunctionsROIPreset=\"Custom\ Rectangle\"" ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nv3dsink

Best regards Alexander

somdats commented 2 years ago

@TIS-Alexander
Sorry for my delayed reply, Here is my analysis: I exported the settings from Tcam-capture: "AutoFunctionsROIEnable": true, "AutoFunctionsROIHeight": 540, "AutoFunctionsROILeft": 480, "AutoFunctionsROIPreset": "Custom Rectangle", "AutoFunctionsROITop": 268, "AutoFunctionsROIWidth": 968, "BalanceWhiteAuto": "Continuous", "BalanceWhiteBlue": 1.640625, "BalanceWhiteGreen": 1.0, "BalanceWhiteRed": 1.046875, "BlackLevel": 240.0, "ColorTransformationEnable": false, "ColorTransformation_Value_Gain00": 1.0, "ColorTransformation_Value_Gain01": 0.0, "ColorTransformation_Value_Gain02": 0.0, "ColorTransformation_Value_Gain10": 0.0, "ColorTransformation_Value_Gain11": 1.0, "ColorTransformation_Value_Gain12": 0.0, "ColorTransformation_Value_Gain20": 0.0, "ColorTransformation_Value_Gain21": 0.0, "ColorTransformation_Value_Gain22": 1.0, "Contrast": 20, "Denoise": 0, "ExposureAuto": "Continuous", "ExposureAutoHighlightReduction": false, "ExposureAutoLowerLimit": 15.0, "ExposureAutoReference": 80, "ExposureAutoUpperLimit": 33333.333333333336, "ExposureAutoUpperLimitAuto": true, "ExposureTime": 33333.0, "GPOutFunction": "Constant Low", "GPOutMode": "Open Drain", "Gain": 1.2000000000000002, "GainAuto": "Continuous", "GainAutoLowerLimit": 0.0, "GainAutoUpperLimit": 30.0, "GainMode": "Low Conversion Gain", "Gamma": 0.5, "Hue": 0.0, "OffsetAutoCenter": "On", "OffsetX": 0, "OffsetY": 0, "Saturation": 116.0, "Sharpness": 2, "TonemappingEnable": false, "TonemappingGlobalBrightness": 0.0, "TonemappingIntensity": 1.0 } I used the following command: GST_DEBUG=3 gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,ExposureAutoReference=80,Gamma=0.5,Saturation=116.0,Sharpness=2,Contrast=20,Gain=1.20,BalanceWhiteAuto=\"Continuous\",BalanceWhiteBlue=1.64,BalanceWhiteGreen=1.0,BalanceWhiteRed=1.04,AutoFunctionsROIEnable=true AutoFunctionsROILeft=480,AutoFunctionsROITop=270,AutoFunctionsROIWidth=970,AutoFunctionsROIHeight=540 AutoFunctionsROIPreset=\"Custom\ Rectangle\" ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! omxh264enc control-rate=2 profile=8 insert-sps-pps=true bitrate=4000000 ! h264parse ! qtmux ! filesink location=/home/nausicaa/Desktop/customRect.mp4 -e

  1. The above command works without the console showing an error about not being able to set property ( probably now the syntax works)
  2. I am unable to set Gain along with whiteBalance ( Blue, red, green)
  3. If I remove those ( point 2), I still don't get the same image ( tcam & gst pipeline)

here is one that I get from tcam-capture tcam_settings_img

here is the one gst-pipeline customRect_gst

tcam-msg

TIS-Alexander commented 2 years ago

@somdats Thank you for the additional info and pictures, and sorry for my delayed response.

In the pipeline, you set values, for which the automatic algorithm is activated. In particular, GainAuto is set to "Continuous" by default. If the automatic is activated, the property cannot be set manually. If you want to set the gain to a particular value, please set the property GainAuto to "Off". The same holds for white balance. Could you try setting BalanceWhiteAuto to "Off" and then setting the BalanceWhite* values to the reasonable values found in tcam-capture?

Best regards Alexander

somdats commented 2 years ago

@TIS-Edgar , @TIS-Alexander Sorry for my delayed reply, i was out for 2 weeks, Finally , I managed to set up the parameters for ROI with custom rectangle and also with the whitebalance. It was annoying that the ROI for custom rectangle was not being set up due to incorrect synatx for gst-launch. Here is the correct one that worked gst-launch-1.0 tcambin serial=40120745 tcam-properties=tcam,AutoFunctionsROIPreset="\"Custom\ Rectangle\"",AutoFunctionsROITop=270,AutoFunctionsROIEnable="true",AutoFunctionsROIHeight=540,AutoFunctionsROILeft=480,AutoFunctionsROIWidth=970,ExposureAutoReference=89,Gamma=0.60,Saturation=116.0,Sharpness=2,Contrast=19,BalanceWhiteAuto="Off",BalanceWhiteBlue=1.48,BalanceWhiteGreen=1.0,BalanceWhiteRed=1.03 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=1948, height=1096,format=(string)I420, framerate=30/1' ! nvv4l2h264enc control-rate=0 bitrate=6000000 profile=2 preset-level=2 insert-sps-pps=true maxperf-enable=1 idrinterval=10 ! rtph264pay config-interval=1 pt=96 ! udpsink host=146.48.84.241 port=5000

I just have a small question: Do i have to set ExposureAuto to "Off" and then set ExposureTime,? OR I can tune only the ExposureAutoReference to change the exposure. Currently, I am doing the both

Thanks for your support

TIS-Stefan commented 1 year ago

Hello

sorry for the delay of the answer, I go no notifications about issue changes.

Do i have to set ExposureAuto to "Off" and then set ExposureTime,? OR I can tune only the ExposureAutoReference to change the exposure. Currently, I am doing the both

Yes. Turn off first, then set the time.