Open main menu

Changes

C779-Software

2,116 bytes added, 12 April
no edit summary
TC358743 HDMI to CSI-2 install instructions. The Raspberry Pi Foundation has updated several versions recently; The use guide of C779/C790/X630 depends on the official Raspberry Pi OS version you are using. Different versions have different usage methods. If you have some questions, We please contact us and attach the osversion you are using.(<span style="color:red;">Email: support@geekworm.com</span>) You can refer to [https://www.raspberrypi.org/forums/viewtopic.php?f=38&t=281972 HDMI to CSI-2 Install InstructionsRaspberry pi official forum post]
To use the kernel drivers, please update your system. There are a few things that have changed with the 5.4 kernel, so these instructions are for 5.4 or later. If "uname -a" reports anything less, then fix this before proceeding.
<pre>
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l GNU/Linux
</pre>
1. Update & upgrade the raspberry pi system (It will take a long time depend on the different country)
2. Enable camera module (the camera is enabled by default in Raspberry pi Bullseys OS)
sudo raspi-config
sudo reboot
Navigate to ''''Interfacing Options'''' and hit Enter. Now select the ''''Camera'''' option, and hit the Enter key to enable it. Select “Finish” and select to '''reboot''' your Raspberry Pi.
[NOTE] reboot is important!! 3. Edit /boot/config.txt to add the line (that will need sudo, and use your preferred editor) sudo nano /boot/config.txt Add the line:
dtoverlay=tc358743
to the end of the file.
Add the line if your shield support audio like C790 dtoverlay=tc358743-audio please append theIf (and only if) you have a device such as the Auvidea B102 that supports the 22pin connector with all 4 lanes wired out(such as [[X1300]]), and are using a Compute Module with the CAM1 connector that also has all 4 lanes wired up, you can use
dtoverlay=tc358743,4lane=1
5. Reboot. If all is well you should get a /dev/video0 device, and "v4l2-ctl --list-devices" will tell you that it is provided by Unicam.
After connecting all the cables, power on the Raspberry Pi, the C779 /C790 indicator light is normally green, and after opening the Raspberry Pi terminal, enter the following command:
<pre>
pi@raspberrypi:~ $ ls /dev/video0
should now reflect the resolution detected.
8. The chip supports two formats - BGR3 RGB3(the default) and UYVY. BGR3 RGB3 is 24bpp, and UYVY is YUV4:2:2 16bpp.
Over the normal 2 CSI-2 lanes the data rate is such that BGR3 RGB3 can run at a maximum of 1080p30, whilst UYVY will go up to 1080p50. Use the following command to select UYVY, however your application may override that.
v4l2-ctl -v pixelformat=UYVY
9. Use gstreamer Check that the audio drivers / card is available to save video ALSA.<pre>pi@raspberrypi:~ $ arecord -l**** List of CAPTURE Hardware Devices ****card 1: tc358743 [tc358743], device 0: bcm2835-i2s-dir-hifi dir-hifi-0 [bcm2835-i2s-dir-hifi dir-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0</pre>Note: <span style="color:red;">card 1</span> means that the card number for the TC358743XBG is "1" and audioit might be different. 10. Install GStreamer tool; sudo apt install gstreamer1.0-tools Check gstreamer tool version:<pre>pi@raspberrypi:~ $ gst-launch-1.0 --versiongst-launch-1.0 version 1.18.4GStreamer 1.18.4http://packages.qa.debian.org/gstreamer1.0</pre> <span style="color:red;">Note: </span>
Different versions have different command line parameters, which is very annoying.
 
11. Use gstreamer to record video and audio
#GStreamer v1.14 command
gst-launch-1.0 v4l2src io-mode=5 ! video/x-raw, format=UYVY, framerate=25/1 ! v4l2h264enc output-io-mode=4 ! video/x-h264,profile=high ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv alsasrc device=hw:1 ! audio/x-raw,rate=48000,channels=2 ! audioconvert ! avenc_aac bitrate=48000 ! aacparse ! queue ! mux.
If the video and audio are well connected, you can get a playable video foo.kmv after running the above command. If the input video source has sound, you will be able to hear the corresponding sound.  '''Note''' that mkv is the version of the gst command tested here is below 1.8output file.
If your gstreamer is version 1.8 or above, you can try the following test command. In addition, alsasrc device=hw:1 represents the sound card of TC358743, you can use "arecord -l" to query.
#The sample command to recode a video with audio.(GStreamer 1.18.4)
gst-launch-1.0 -vvv v4l2src ! "video/x-raw,<span style="color:red;">framerate=30/1</span>,format=UYVY" ! v4l2h264enc extra-controls="controls,h264_profile=4,h264_level=13,video_bitrate=256000;" ! "video/x-h264,profile=high, level=(string)4.2" ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv alsasrc device=hw:1 ! audio/x-raw,rate=48000,channels=2 ! audioconvert ! avenc_aac bitrate=48000 ! aacparse ! queue ! mux.
Press CTRL+C to end recording.
PS: Please We recommend that you modify the above '''<span style="color:red;">framerate</span>''' parameter to the actual frame rate of your HDMI signal, the actual frame rate value is from the result of ''''v4l2-ctl --query-dv-timings'''' command.
[[File:Csi-framerate.png|none]]
For the above HDMI device, because the frame rate is 60, so we modify the framerate parameter to 60 like the followint command.
 
Record the video only:
gst-launch-1.0 -vvv v4l2src ! "video/x-raw,'''<span style="color:red;">framerate=60/1</span>''',format=UYVY" ! v4l2h264enc extra-controls="controls,h264_profile=4,h264_level=13,video_bitrate=256000;" ! "video/x-h264,profile=high, level=(string)4.2" ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv
 
Record the video and audio: (if your shield supports audio also)
gst-launch-1.0 -vvv v4l2src ! "video/x-raw,'''<span style="color:red;">framerate=60/1</span>''',format=UYVY" ! v4l2h264enc extra-controls="controls,h264_profile=4,h264_level=13,video_bitrate=256000;" ! "video/x-h264,profile=high, level=(string)4.2" ! h264parse ! queue ! matroskamux name=mux ! filesink location=foo.mkv <span style="color:red;">alsasrc device=hw:1</span> ! audio/x-raw,rate=48000,channels=2 ! audioconvert ! avenc_aac bitrate=48000 ! aacparse ! queue ! mux.
 
Note: <span style="color:red;">alsasrc device=hw:1</span> - "'''1'''" means the audio card number, You must change to correct audio card number.(Query the car number via ''''arecord -'''l', refer to step 9)
 
12. For old raspberry pi os, you can use [[Raspistil]] to take photo.
 
<!--增加评论功能! -->
<comments />