{
    "ok": true,
    "data": {
        "title": "EP-0214",
        "rev_id": 14718,
        "updated_at": "2024-05-08T05:35:58+00:00",
        "chunk_count": 15,
        "chunks": [
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "",
                "chunk_index": 0,
                "content": "# EP-0214",
                "char_count": 9,
                "token_estimate": 3
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "HDMI-TO-CSI2 adapter board for Raspberry Pi",
                "chunk_index": 1,
                "content": "<figure>\n<img src=\"EP-0214-01.jpg\" title=\"EP-0214-01.jpg\" width=\"320\" alt=\"EP-0214-01.jpg\" \/>\n<figcaption aria-hidden=\"true\">EP-0214-01.jpg<\/figcaption>\n<\/figure>",
                "char_count": 162,
                "token_estimate": 41
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Descriptions",
                "chunk_index": 2,
                "content": "Raspberry Pi HDMI to CSI-2 Module with Toshiba TC358743XBG chip, Hdmi-input supports up to 1080p30fps, output supports up to 60fps. Compatible with Raspberry Pi 4B\/3B+\/3B\/Pi Zero\/W\/2W. HDMI To CSI Adapter for Raspberry Pi is an HDMI to CSI camera port adapter designed for the Raspberry Pi 4\/3 with up to 1080p@30fps support from HDMI input and is backwards compatible. It allows you to use any camera with an HDMI output, such as Canon, Nikon or GoPro action cameras, as a standard Raspberry Pi CSI camera, even you can record the screen which is output from another Raspberry Pi HDMI port. Raspberry Pi Computer Module 4 can use HDMI to CSI-2 Module on PiKVM OS.\n\n     NOTE: This product has provided all hardware accessories. The software can currently be used directly on Raspberry Pi 4B, 3B+\/3B\/Zero series and other devices. However, software support for Raspberry Pi 5 software is currently not available.",
                "char_count": 912,
                "token_estimate": 228
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Features",
                "chunk_index": 3,
                "content": "-   Easy to assemble\n-   FPC cable supports 15Pin@ 2Lanes or 22Pin @ 4Lanes (CM4 Computer module only)\n-   Chipset: Toshiba TC358743XBG\n-   Input signal: Full-sized HDMI\n-   Soldering Pad support\n-   Output signal: CSI\n-   Function: HDMI-TO-CSI2 (H2C for short)\n-   Limitation: HDMI input support up to 1080p30fps\n-   Compatible with: Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2W\n\n<!-- -->\n\n    Note: This module does not support OctoPi OS.",
                "char_count": 451,
                "token_estimate": 113
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Gallery",
                "chunk_index": 4,
                "content": "-   Product Size\n\n<img src=\"EP-0214-02.jpg\" title=\"EP-0214-02.jpg\" width=\"800\" alt=\"EP-0214-02.jpg\" \/>\n\\* FPC cable compatibility <img src=\"EP-0214-04.jpg\" title=\"EP-0214-04.jpg\" width=\"800\" alt=\"EP-0214-04.jpg\" \/>\n\\* Pinout definition <img src=\"EP-0214-09.jpg\" title=\"EP-0214-09.jpg\" width=\"800\" alt=\"EP-0214-09.jpg\" \/>\n\n-   Connection style\n\n<img src=\"EP-0214-06.jpg\" title=\"EP-0214-06.jpg\" width=\"800\" alt=\"EP-0214-06.jpg\" \/>\n\n-   Application scenario\n\n<img src=\"EP-0214-05.jpg\" title=\"EP-0214-05.jpg\" width=\"800\" alt=\"EP-0214-05.jpg\" \/>\n<img src=\"EP-0214-07.jpg\" title=\"EP-0214-07.jpg\" width=\"800\" alt=\"EP-0214-07.jpg\" \/>\n\\* Recording video from an sports camera <img src=\"EP-0214-08.jpg\" title=\"EP-0214-08.jpg\" width=\"800\" alt=\"EP-0214-08.jpg\" \/>\n==Package Includes==\n\n-   1 x HDMI-TO-CSI2 adapter board\n-   2 x 22Pin FPC cable\n-   2 x 15Pin FPC cable\n\n<img src=\"EP-0214-03.jpg\" title=\"EP-0214-03.jpg\" width=\"800\" alt=\"EP-0214-03.jpg\" \/>",
                "char_count": 942,
                "token_estimate": 236
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 5,
                "content": "NOTE: We recommend you to use the Raspberry Pi OS which download from Raspberry Pi Official Website．\n\nTo 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. 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.\n\npi@raspberrypi:~ $ uname -a\n    Linux raspberrypi 5.10.63-v7l+ #1459 SMP Wed Oct 6 16:41:57 BST 2021 armv7l GNU\/Linux\n\n1\\. Update & upgrade the raspberry pi system (It will take a long time depend on the different country)\n\nsudo apt-get update\n    sudo apt-get upgrade\n\n2\\. Enable camera module (the camera is enabled by default in Raspberry pi Bullseys OS)\n\nsudo raspi-config\n    sudo reboot\n\nNavigate 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.\n\n[NOTE] reboot is important!!",
                "char_count": 1159,
                "token_estimate": 290
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 6,
                "content": "3\\. Edit \/boot\/config.txt (that will need sudo)\n\nsudo nano \/boot\/config.txt\n\nAdd the line:\n\ndtoverlay=tc358743\n    dtoverlay=tc358743-audio\n\n4\\. Check the amount of memory assigned to the CMA heap with \"dmesg \\| grep cma\". The first line should be along the lines of\n\npi@raspberrypi:~ $ dmesg | grep cma\n    [    0.000000] cma: Reserved 256 MiB at 0x000000001ec00000\n\nIf it reports less than 96MB assigned to CMA, then edit \/boot\/cmdline.txt and add\n\ncma=96M\n\nto the start of the line. Do NOT add any carriage returns.\n\n5\\. 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, opening the Raspberry Pi terminal, enter the following command:\n\npi@raspberrypi:~ $ ls \/dev\/video0\n\nIf it show following device:\n\n\/dev\/video0\n\nthen execute following command:\n\npi@raspberrypi:~ $ v4l2-ctl --list-devices\n\nIt will shows something like:\n\nbcm2835-codec-decode (platform:bcm2835-codec):\n        \/dev\/video10\n        \/dev\/video11\n        \/dev\/video12\n        \/dev\/video18\n        \/dev\/media1",
                "char_count": 1120,
                "token_estimate": 280
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 7,
                "content": "bcm2835-isp (platform:bcm2835-isp):\n        \/dev\/video13\n        \/dev\/video14\n        \/dev\/video15\n        \/dev\/video16\n        \/dev\/media0\n\nunicam (platform:fe801000.csi):\n        \/dev\/video0\n        \/dev\/video1\n        \/dev\/media2\n\n6\\. This driver puts all the control in the hands of the user, or the user's application. By default there is no EDID loaded into the chip to allow it to tell the HDMI source what resolutions are supported. There are EDID editors around. If you create a file edid.txt, then you can push this to the device using\n\nThe comment of 720p edid.txt file:\n\n00ffffffffffff005262888800888888\n    1c150103800000780aEE91A3544C9926\n    0F505400000001010101010101010101\n    010101010101011d007251d01e206e28\n    5500c48e2100001e8c0ad08a20e02d10\n    103e9600138e2100001e000000fc0054\n    6f73686962612d4832430a20000000FD\n    003b3d0f2e0f1e0a2020202020200100\n    020321434e041303021211012021a23c\n    3d3e1f2309070766030c00300080E300\n    7F8c0ad08a20e02d10103e9600c48e21\n    0000188c0ad08a20e02d10103e960013\n    8e210000188c0aa01451f01600267c43\n    00138e21000098000000000000000000\n    00000000000000000000000000000000\n    00000000000000000000000000000000",
                "char_count": 1170,
                "token_estimate": 293
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 8,
                "content": "Or you can use 1080p30fps edid file:\n\n00 FF FF FF FF FF FF 00 52 62 88 88 00 88 88 88\n     1C 15 01 03 80 A0 5A 78 0A 0D C9 A0 57 47 98 27\n     12 48 4C 00 00 00 01 01 01 01 01 01 01 01 01 01\n     01 01 01 01 01 01 01 1D 80 18 71 38 2D 40 58 2C\n     45 00 80 38 74 00 00 1E 01 1D 80 18 71 38 2D 40\n     58 2C 45 00 80 38 74 00 00 1E 00 00 00 FC 00 44\n     43 44 5A 2D 48 32 43 20 4D 4F 44 0A 00 00 00 FD\n     00 14 78 01 FF 10 00 0A 20 20 20 20 20 20 01 B9\n     02 03 1A 71 47 A2 22 22 22 22 22 22 23 09 07 01\n     83 01 00 00 65 03 0C 00 10 00 01 1D 80 18 71 38\n     2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D 80 18\n     71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D\n     80 18 71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E\n     01 1D 80 18 71 38 2D 40 58 2C 45 00 80 38 74 00\n     00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03\n\n1080p25fps edid file:",
                "char_count": 903,
                "token_estimate": 226
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 9,
                "content": "00 FF FF FF FF FF FF 00 52 62 88 88 00 88 88 88\n    1C 15 01 03 80 A0 5A 78 0A 0D C9 A0 57 47 98 27\n    12 48 4C 00 00 00 01 01 01 01 01 01 01 01 01 01\n    01 01 01 01 01 01 01 1D 80 D0 72 38 2D 40 10 2C\n    45 80 80 38 74 00 00 1E 01 1D 80 18 71 38 2D 40\n    58 2C 45 00 80 38 74 00 00 1E 00 00 00 FC 00 44\n    43 44 5A 2D 48 32 43 20 4D 4F 44 0A 00 00 00 FD\n    00 14 78 01 FF 10 00 0A 20 20 20 20 20 20 01 C8\n    02 03 1A 71 47 A1 22 22 22 22 22 22 23 09 07 01\n    83 01 00 00 65 03 0C 00 10 00 01 1D 80 18 71 38\n    2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D 80 18\n    71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E 01 1D\n    80 18 71 38 2D 40 58 2C 45 00 80 38 74 00 00 1E\n    01 1D 80 18 71 38 2D 40 58 2C 45 00 80 38 74 00\n    00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04\n\nThen you can create a file called edid.txt:\n\ncd ~\n    sudo nano edid.txt\n\n1.  copy the above commend in edid.txt, save&exit;\n\nand then set the edid file as following:\n\npi@raspberrypi:~ $ v4l2-ctl --set-edid=file=edid.txt --fix-edid-checksums\n\nIt shows:",
                "char_count": 1081,
                "token_estimate": 271
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 10,
                "content": "CTA-861 Header\n      IT Formats Underscanned: yes\n      Audio:                   yes\n      YCbCr 4:4:4:             no\n      YCbCr 4:2:2:             no\n\nHDMI Vendor-Specific Data Block\n      Physical Address:        3.0.0.0\n      YCbCr 4:4:4 Deep Color:  no\n      30-bit:                  no\n      36-bit:                  no\n      48-bit:                  no\n\nCTA-861 Video Capability Descriptor\n      RGB Quantization Range:  yes\n      YCC Quantization Range:  no\n      PT:                      Supports both over- and underscan\n      IT:                      Supports both over- and underscan\n      CE:                      Supports both over- and underscan\n\n7\\. The driver does NOT automatically switch to the resolution detected. Use the command:\n\npi@raspberrypi:~ $ v4l2-ctl --query-dv-timings\n\nIt will shows something like:",
                "char_count": 831,
                "token_estimate": 208
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 11,
                "content": "Active width: 1280\n        Active height: 720\n        Total width: 1650\n        Total height: 750\n        Frame format: progressive\n        Polarities: -vsync -hsync\n        Pixelclock: 74250000 Hz (60.00 frames per second)\n        Horizontal frontporch: 0\n        Horizontal sync: 370\n        Horizontal backporch: 0\n        Vertical frontporch: 0\n        Vertical sync: 30\n        Vertical backporch: 0\n        Standards:\n        Flags:\n\nYou MUST set the timings via \"v4l2-ctl --set-dv-bt-timings\". You can pass in an index to the detected mode, or use:\n\nv4l2-ctl --set-dv-bt-timings query\n\nto select the currently detected timings.\n\nv4l2-ctl -V\n\nshould now reflect the resolution detected.\n\n8\\. The chip supports two formats - BGR3 (the default) and UYVY. BGR3 is 24bpp, and UYVY is YUV4:2:2 16bpp.\n\nOver the normal 2 CSI-2 lanes the data rate is such that BGR3 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.\n\nv4l2-ctl -v pixelformat=UYVY\n\n9\\. Check that the audio drivers \/ card is available to ALSA.\n\npi@raspberrypi:~ $ arecord -l\n\nIt will display as following:",
                "char_count": 1173,
                "token_estimate": 294
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 12,
                "content": "**** List of CAPTURE Hardware Devices ****\n    card 1: tc358743 [tc358743], device 0: bcm2835-i2s-dir-hifi dir-hifi-0 [bcm2835-i2s-dir-hifi dir-hifi-0]\n      Subdevices: 1\/1\n      Subdevice #0: subdevice #0\n\nNote: card 1 means that the card number for the TC358743XBG is \"1\" and it might be different.\n10. Install GStreamer tool;\n\nsudo apt install gstreamer1.0-tools\n\nCheck gstreamer tool version:\n\npi@raspberrypi:~ $ gst-launch-1.0 --version\n\ngst-launch-1.0 version 1.18.4 GStreamer 1.18.4 <http:\/\/packages.qa.debian.org\/gstreamer1.0>\n Note: Different versions have different command line parameters, which is very annoying.\n11. Use gstreamer to record video and audio\n\n-   GStreamer v1.14 command\n\n<!-- -->\n\ngst-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.",
                "char_count": 1038,
                "token_estimate": 260
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 13,
                "content": "foo.mkv is the output file.\nIf 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.\n\n-   The command to recode a video with audio. (GStreamer 1.18.4)\n\n<!-- -->\n\ngst-launch-1.0 -vvv v4l2src ! \"video\/x-raw,framerate=30\/1,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.\n\n-   The sample command to recode a video without audio.\n\n<!-- -->\n\ngst-launch-1.0 -vvv v4l2src ! \"video\/x-raw,framerate=30\/1,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",
                "char_count": 1049,
                "token_estimate": 263
            },
            {
                "title": "EP-0214",
                "rev_id": 14718,
                "heading_path": "Getting Start > For Raspberry Pi 4B\/3B+\/3B\/3A+\/Pi zero\/Pi zero W\/Pi zero 2 W",
                "chunk_index": 14,
                "content": "Press CTRL+C to end recording.\n PS: We recommend that you modify the above framerate 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.\n==Keywords==\n\n-   HDMI-to-csi2, video capture card, HDMI recorder, HDMI signal capture board, Toshiba TC358743XBG",
                "char_count": 343,
                "token_estimate": 86
            }
        ]
    }
}