Difference between revisions of "C779"

From Geekworm Wiki
Jump to navigation Jump to search
Line 241: Line 241:
 
This HDMI input module does what I care about (capturing my generic HDMI camera), but it failed at some things that thankfully I didn't need it to do. Your use case may vary so don't be surprised if some HDMI devices don't work with it.
 
This HDMI input module does what I care about (capturing my generic HDMI camera), but it failed at some things that thankfully I didn't need it to do. Your use case may vary so don't be surprised if some HDMI devices don't work with it.
  
Q4: Will this work with i2s hats such as hifiberry amp2?  
+
Q4:How to access using cs-ii output using l language. i need to access the frame buffer of it?
  
A4: Since this item don't use any GPIO, so it may can work with I2S hats, but acutally we don't do the test about it.
+
A4:Try to use raspistil -GC command to capture GL frame buffer instead of camera image.
 
 
Q5:How to access using cs-ii output using l language. i need to access the frame buffer of it?
 
 
 
A5:Try to use raspistil -GC command to capture GL frame buffer instead of camera image.
 
  
 
==Notes==
 
==Notes==

Revision as of 11:06, 13 September 2021

HDMI to CSI-2 size
HDMI to CSI-2 pin description
HDMI to CSI-2

Overview

  • This is a raspberry pi HDMI to CSI-2 Module with Toshiba TC358743XBG chip, HDMI input supports up to 1080p25fps.

According to the customer feedback, this module does not support OctoPi.

The model of module is C779.[1]

Packing List

  • 1 x Raspberry Pi HDMI to CSI-2 Module
  • 1 x FFC Cable(14cm/5.51inch length)

Features

  • Input signal: HDMI;
  • Output signal: CSI;
  • HDMI Input: 720p50\720p60\1080i50\1080p25
  • Function: HDMI to CSI-2
  • Limitation: HDMI input supports up to 1080p25fps
  • Usage: Same as standard Raspberry Pi camera
  • Chip: Toshiba TC358743XBG
  • Compatible with: Raspberry Pi 4B/3B+/3B/2B/B+/3A+/Pi Zero/Zero W

Document

How to check whether this module is driven correctly?

step1. Check this module if be driven?

After connecting all the cables, power on the Raspberry Pi, the C779 indicator light is normally green, and after opening the Raspberry Pi terminal, enter the following command:

ls /dev

then check if video0 appears. If it appears correctly, it means that the module has been successfully driven and is working normally.

Please try the following oreration if you can't find 'video0'

step2. update & upgrade the raspberry pi system (It may be necessary to update the software source according to your country, and this will take a long time)

sudo apt-get update
sudo apt-get upgrade

step3. Open camera module via raspi-config command;

sudo raspi-config
Raspi-camera1.png
Raspi-camera2.png

Enable camera & reboot the raspberry pi.

step4: goto step1

step5: if you still can't find 'video0' file in the /dev path, please try the following methods:

A: Confirm whether the HDMI input device has a signal, (you can test whether it is displayed normally by connecting to the screen)

B. Confirm whether the resolution and frame rate of the HDMI input device are below the maximum input resolution and frame rate(720p50\720p60\1080i50\1080p25);

C: We recommend that you download the lastest official image of Raspberry pi if you still don't solve your questions. Download URL: https://www.raspberrypi.org/downloads/raspberry-pi-os/

Driver configuration

1、edit / boot / config.txt, and add the line to the end of the file. Sudo is required.

dtoverlay=tc358743

2、Use "dmesg | grep CMA" to check the amount of memory allocated to the CMA heap.

dmesg | grep cma

Output: [ 0.000000] cma: Reserved 256 MiB at 0x000000001ec00000

If the report has less than 96MB of files assigned to CMA, edit / boot / config.txt and add.

dtoverlay=cma,cma-128

3、Restart raspberry pi.

sudo reboot

If all goes well, you should get a /dev/video0 device.Using "arecord - L" will tell you whether the sound card of tc358743 is loaded correctly.

sudo arecord - L

Use raspistill to take photos

Raspistil function: run the camera at a specified time, and capture jpg images if necessary.

Format:raspistill [options]

Main image parameters and commands:

-?, --Help: help document

-w. -- width: set the image width < size > width

-h. -- height: set image height < size > height

-q. -- Quality: set JPEG quality < 0 to 100 >

-r. -- raw: add raw raw Bayer data to JPEG metadata

-o. -- output: output file name < file name >,

-l. -- Latest: link the latest complete image to the specified file < file name >

-v. -- verb: output details when running the camera

-t. -- timeout: the time delay is specified when photographing and closing. If it is not specified, the default is 5S

-e. -- encoding: encode to output the specified format file (jpg, BMP, GIF, PNG)

-TL, - timelapse: take one picture every < MS > at intervals

-k. -- keypress: press the key to trigger, press' Enter 'to take a picture, press' x' and then 'Enter' to exit

-s. - signal: signal triggered, waiting for another process signal to take a picture

-GC, - glcapture: capture GL frame buffer instead of camera image

-Set, - settings: retrieve the camera settings and write them to stdout

-CS, - camselect: select camera device < digital >, default 0


The above is just a list of some common commands. More detailed commands can be used by Baidu, Google or viewing help documents. Here are some specific examples:

After a delay of two seconds (in milliseconds), take a picture and save it as

image.jpg.raspistill -t 2000 -o image.jpg

Take a custom size photo.raspistill -t 2000 -o image.jpg -w 640 -h 480

Record a 5 second video clip (1080p25) using the default settings.raspivid -t 5000 -o

video.h264

Save to file a 5 second encoded camera stream image raspivid - t 5000 - O - >

My_file.h264

Use gstreamer to call camera and audio

NOTE: C779 does not support audio

The driver of the Raspberry Pi transfers all controls to the user or the user's application. By default, there is no EDID loaded on the chip so that it can tell the resolution supported by the HDMI source. If you do not have an EDID file, you can create a file edid.txt and copy the following content to edid.txt.

00ffffffffffff005262888800888888
1c150103800000780aEE91A3544C9926
0F505400000001010101010101010101
010101010101011d007251d01e206e28
5500c48e2100001e8c0ad08a20e02d10
103e9600138e2100001e000000fc0054
6f73686962612d4832430a20000000FD
003b3d0f2e0f1e0a2020202020200100
020321434e041303021211012021a23c
3d3e1f2309070766030c00300080E300
7F8c0ad08a20e02d10103e9600c48e21
0000188c0ad08a20e02d10103e960013
8e210000188c0aa01451f01600267c43
00138e21000098000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000

1. create edid.txt

cd ~
touch edid.txt
nano edid.txt

Copy the above comment to edit.txt, save&exit;

Then use the following command to push it to the device.

v4l2-ctl --set-edid=file=edid.txt --fix-edid-checksums

2. The driver will not automatically switch to the detected resolution. Use the following command to view the current input resolution.

v4l2-ctl --query-dv-timings

3. Use the following command to set

v4l2-ctl --set-dv-bt-timings query

4. Use gstreamer to save video and audio[1]

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 the version of the gst command tested here is below 1.8. If your gstreamer is version 1.8 or above, you can try the following test statement. In addition, alsasrc device=hw:1 represents the sound card of TC358743, you can use "arecord -l" to query.

gst-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.

Video

https://youtu.be/L5qbZPrpPp0

Test video: https://youtu.be/yoAsw189yPI

FAQ

Q1: What to do if the module can't work normally?

A1:

  • 1. Please use monitor to test, DO NOT use VNC.(Customer Feedback: During the VNC it spend some of gpu and there is not enough for camera.Based on RPi 4 + Hawkeye Firefly Mini)
  • 2. First the HDMI device should be plugged in and have signal output before the Raspberry Pi is started.
  • 3. Please check if there is a video related file in the /dev file.
  • 4. Please provide us more details for us to confirm the issue.

a. First please send us your order number and tell us "Call command" "Input Device" and "Using Device".

b. What is the HDMI input device, resolution and frequency?

c. Which version of Raspberry Pi you use?

d. What is the specific calling command?

e. What is the terminal error notification?

Q2: Some python sample code

A2: The HDMI source supported by Raspberry Pi with the module is 720p/50fps,720p/60fps,1080i/50fps,1080p/24fps,1080p/25fps. Lower resolution is also working.

This is the python code used in my video.The Pi uses an official image with no other changes.

from picamera import PiCamera
from time import
camera = PiCamera()
camera.start_preview()
sleep(1000)
camera.stop_preview()

Q3:Customer Feedback 1 for your reference(https://www.amazon.com/gp/product/B0899L6ZXZ#customerReviews)

A3: If you want to use your Raspberry Pi for HDMI capture, this is the only device I'm aware of that will do it. Furthermore you can do some powerful things that would normally require equipment costing many hundreds of dollars. For example, using always-on camera preview and a few lines of Python code you can easily do image flipping, rotation, and rudimentary scaling. Note that you can't adjust color or exposure, and audio is not passed through.

I've tried this with a variety of HDMI devices; half of them work perfectly, half of them don't work at all.

Things that worked just fine:

  • GoPro Hero2
  • Generic no-name HDMI camera
  • OREI HD-102 1x2 HDMI splitter with a Google Chromecast attached to it (but see below)

There's a downside, though. I could not get any of these to work:

  • Canon 6D, which causes a "PiCameraMMALError: Failed to enable connection: Out of resources" error
  • Blackmagic ATEM Mini, which produces a scrambled picture
  • Google Chromecast, because I don't think this device supports HDCP; but it works fine if you strip off the HDCP.

This HDMI input module does what I care about (capturing my generic HDMI camera), but it failed at some things that thankfully I didn't need it to do. Your use case may vary so don't be surprised if some HDMI devices don't work with it.

Q4:How to access using cs-ii output using l language. i need to access the frame buffer of it?

A4:Try to use raspistil -GC command to capture GL frame buffer instead of camera image.

Notes

  1. 1.0 1.1 C779 only supports video, not audio
Add your comment
Geekworm Wiki welcomes all comments. If you do not want to be anonymous, register or log in. It is free.


Anonymous user #28

10 days ago
Score 0++
What is the difference between X630 C779 and C790?

Anonymous user #27

one month ago
Score 0++
Hello, is it possible to turn of the onboard led?

Lisa

one month ago
Score 0++
Hi,The LED does not support setting, you can use something to cover it.

Anonymous user #26

8 months ago
Score 0++
hello im using this module for gopro7 but i have alot of lag and latency in recorded video and streaming.what should i do?

Anonymous user #25

8 months ago
Score 0++
Does it accept low resolutions like 640x240?

Walker

8 months ago
Score 0++
Hello, C779 supports 720p50\720p60\1080i50\1080p25

Anonymous user #24

16 months ago
Score 0++
In new version with libcamera-still, that is, with the latest Raspberry Pi OS Bullseye installation, have you done the current test? Is it compatible? Thank you

Lisa

16 months ago
Score 0++
Hi,yes it is compatible

Anonymous user #23

21 months ago
Score 0++
We tried to capture from the Blackmagic Pocket Cinema Camera 6K, which supposedly has 1080p output in 10-bit. It only gave us a magenta tinted image. We tested the module with another 8bit input, which looks fine. Any idea how to get a correct image from the Blackmagic cam?

Lisa

21 months ago
Score 0++

Hello,

This chip TC358743 supports up to 8bit 444

Anonymous user #22

23 months ago
Score 0++
Hello, I'd like to try using this to capture 720p gameplay footage, but not all games run at 60fps, most run 30fps. Would I still be able to capture 720p @30fps with this module?

Lisa

22 months ago
Score 0++

Hi,

Yes, you can try to test it.

Anonymous user #21

23 months ago
Score 0++

Hi,

The datasheet for Toshiba TC358743XBG states that audio can also be passed over MIPI CSI interface. Why doesn't C779 support audio?

Anonymous user #20

28 months ago
Score 0++
Hi please specify with image to use or at least the kernel version that works? It seems to be hit and miss.

Harry

28 months ago
Score 0++

Thanks.

CSI-2-Software

and it fit to the last Bullseye OS also.

Anonymous user #19

31 months ago
Score 0++

I am seeing the error opening the interface. Any clue whether the raspivid command is still applicable with this interface? I am seeing the /dev/video0 and the kernel logs show that "tc358743 10-000f: tc358743 found @ 0x1e (i2c-22-mux (chan_id 1))"

pi@raspberrypi:~ $ raspivid -t 5000 -o video.h264 mmal: Cannot read camera info, keeping the defaults for OV5647 mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM) mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1) mmal: Failed to create camera component mmal: main: Failed to create camera component

mmal: Camera is not detected. Please check carefully the camera module is installed correctly

Lisa

31 months ago
Score 0++
Hi,Please try to use the EDID method to test it."Use gstreamer to call camera and audio" ; and please check whether the cable is plugged in properly before.

Anonymous user #19

31 months ago
Score 0++

I did the edid load. I have a windows 10 laptop driving the HDMI-in to the module. After the EDID, the laptop sees the 2nd display. But no improvement using the raspivid.

Also tried the gst-launch with error openning audio device, and the foo.mkv is 0 bytes.

pi@raspberrypi:~ $ 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. Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: Could not open audio device for recording. Additional debug info: gstalsasrc.c(748): gst_alsasrc_open (): /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: Recording open error on device 'hw:1': No such file or directory Setting pipeline to NULL ... Freeing pipeline ... pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ ls -l foo.mkv -rw-r--r-- 1 pi pi 0 Sep 28 17:56 foo.mkv

pi@raspberrypi:~ $

Lisa

31 months ago
Score 0++
Because C779 does not support audio, please remove the audio part when you test the EDID method. (The part after mkv should be removed).

Anonymous user #16

31 months ago
Score 0++

In the features you state "HDMI Input: 720p50\720p60\1080i50\1080p25"

I am trying to make the board work with a raspberry pi with a 1080i50 (interlaced) input. raspivid -t 0 shows only a cropped area of the input. I asked the question previously and the reply from Lisa was "Hi,1080p50fps input: need to specify the encoding format; Please refer to the method called with gst" I am not trying to use 1080p50fps (progressive) but 1080i50 (interlaced). I don't understand how the encoding format is relevant when the board does not seem to decode interlace video.

Thanks for the help.

Lisa

31 months ago
Score 0++
Hi,sorry,our code does not support interlaced input.we haven't tested it yet.

Anonymous user #18

31 months ago
Score 0++

Hi :-)! I have Rpi4 with 4GB RAM. module is OK working for my purpose. next step I need to read the aux metadata from my camera... I would like to read the HDMI trigger function (REC/STBY) of the camera... It is supposed to be some flag with video signal. Do you know something about this??

Thanks!

Lisa

31 months ago
Score 0++
Hi,Sorry, we don’t have more information about it, or you can ask on the official Raspberry Pi forum.

Anonymous user #17

31 months ago
Score 0++

Hi

What is the recommended way to mount the card to a raspberry pi 3B, in my case. Does it need a fan, if it gets hot? What is the average working temperature for the card? How high needs it be between the floor inside a case? For example 5 mm or what, 5 mm ontop?

Lisa

31 months ago
Score 0++
Hi,If you want to DIY a case, please consider its size. But because each user's operating environment and Raspberry Pi load are different, we can't provide more other data.

Anonymous user #16

32 months ago
Score 0++
I am unable to make this work with a 1080i50 input. raspivid -t 0 shows a cropped area of the screen. Do you have an example for interlaced input please?

Lisa

31 months ago
Score 0++
Hi,1080p50fps input: need to specify the encoding format; Please refer to the method called with gst

Anonymous user #15

32 months ago
Score 0++
Hi, I have a GoPro Hero 5 like the one in the demo video. I have the camera interface enable on my Raspberry Pi 4 and video0 is in /dev. And I did all the driver config I tried to run the script in FAQ - A2. It's giving me error saying "camera is not enable. try running 'sudo raspi-config'". Also, my GoPro has the output when I plug it into a monitor, but when I plug it into this module, it's not going into the HDMI output mode. I tried 1080p 24, 1080p 25, 720p 24. None of them work. Please send help

Lisa

32 months ago
Score 0++
Hi,can gopro5 force HDMI output? In addition, have you tried the EDID method? Please contact us support@geekworm.com; and please tell us your order NO.

Anonymous user #14

32 months ago
Score 0++

Tests with:

Sony NEX5 mmal: mmal_vc_component_enable: failed to enable component: ENOSPC mmal: camera component couldn't be enabled mmal: main: Failed to create camera component mmal: Failed to run camera app. Please check for firmware updates

Sony NEX5N image output success but scrambled. Possible issue with camera only outputting 60hz?

Video capture clips also success, also scrambled.

Anonymous user #12

33 months ago
Score 0++

Hello,

I have a VGA output (analogic signal) from an old pc, if I use an adapter VGA to HDMI, this adapter HDMI to CSI will work correctly?

Lisa

33 months ago
Score 0++
Hello,friend: Sorry we haven't tested like that and cannot guarantee compatibility.

Anonymous user #11

33 months ago
Score 0++

Hello

Which case can you recommend for the PI4 and the raspberry pi HDMI to CSI-2 Module ?

Lisa

33 months ago
Score 0++
Hello, sorry that there is no matching Case at the moment

Anonymous user #10

37 months ago
Score 0++
What if I use this with 4K resolution? It won't work or just resolution will be downgraded?

Lisa

34 months ago
Score 0++
Hello,We do not recommend using resolution standards that exceed the requirements.

Anonymous user #9

38 months ago
Score 0++
what if you get the green light and the vifeo0 and it still has no picture and all sources of video have been verified?

Anonymous user #7

39 months ago
Score 0++
Should I unplug the cable after connecting

Lisa

34 months ago
Score 0++
Hello,Sorry I didn't understand your question well,could please tell us why you unplug the cable? Which cable to unplug?

Anonymous user #6

39 months ago
Score 0++

I'm trying to use the HDMI card with OctoPi and a GoPro Hero3 but getting this error:

pi@octopi:~ $ raspivid -p -f The driver for the TC358743 HDMI to CSI2 chip you are using is NOT supported. They were written for a demo purposes only, and are in the firmware on an as-is basis and therefore requests for support or changes will not be acted on.

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC mmal: camera component couldn't be enabled mmal: main: Failed to create camera component

mmal: Failed to run camera app. Please check for firmware updates

Anonymous user #8

39 months ago
Score 0++
It says above the OctoPi is not supported.

Anonymous user #5

39 months ago
Score 0++
Can you send the raspberry pi output to the camera? I tried this and am getting errors even though video 0 is showing up. I am using a raspberry pi 4 with two hdmi outputs so I am sending one back into the camera. I know this sounds wierd but I have a reason to do this. I was just wondering if anyone else has tried it and got it to work.

Anonymous user #13

33 months ago
Score 0++
Dear Anonymous #6 - I tried something similar, connecting the HDMI output from a Pi 2 to the HDMI2CSI board. It didn't work. It appears that the Pi 2 insisted on 60fcs. I don't know if the Pi 4 is smarter, or if there's a way to tell it to use 25fcs for that output.

Anonymous user #13

33 months ago
Score 0++
Sorry, that should have been anonymous #5.

Anonymous user #4

40 months ago
Score 0++

RPI 8g new install

camera enabled

Anonymous user #4

40 months ago
Score 0++

All setup according to above instructions. run above python code

from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() sleep(1000) camera.stop_preview()

Python 3.7.3 (/usr/bin/python3) >>> %Run TestHDMIinput.py mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM) mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/picamera/camera.py", line 456, in _init_camera self._camera = mo.MMALCamera() File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2279, in __init__ super(MMALCamera, self).__init__() File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 633, in __init__ prefix="Failed to create MMAL component %s" % self.component_type) File "/usr/lib/python3/dist-packages/picamera/exc.py", line 184, in mmal_check raise PiCameraMMALError(status, prefix) picamera.exc.PiCameraMMALError: Failed to create MMAL component b'vc.ril.camera': Out of memory

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/pi/Downloads/TestHDMIinput.py", line 3, in <module> camera = PiCamera() File "/usr/lib/python3/dist-packages/picamera/camera.py", line 431, in __init__ self._init_camera(camera_num, stereo_mode, stereo_decimate) File "/usr/lib/python3/dist-packages/picamera/camera.py", line 460, in _init_camera "Camera is not enabled. Try running 'sudo raspi-config' " picamera.exc.PiCameraError: Camera is not enabled. Try running 'sudo raspi-config' and ensure that the camera has been enabled.

>>>

Anonymous user #3

40 months ago
Score 0++
Does this component send EDID to the connected device to negotiate comparable resolutions?

Anonymous user #2

40 months ago
Score 0++
Does this support audio passthrough?

Xiali

40 months ago
Score 0++
Hi dear ,Yes ,it supports audio passthrough,By the way ,There are many Raspberry Pi fans exchange experiences on our official website, you are welcome to join us https://geek...munity/forum

Anonymous user #1

45 months ago
Score 0++

Hello, What model of Raspi can use this HDMI to CS2 module?

Can I use Raspi 3 model B or must be Raspi 4 ?? Tks

Cindy

44 months ago
Score 0++

Hello sir,

Both Raspberry Pi 3 or Raspberry Pi 4 are OK to use with this HDMI to CS2 .