Hi again,
I managed to enable the driver, I set the EDID (1080P50EDID.txt) and checked the status:
Code: Select all
pi@raspberrypi:/usr/lib $ v4l2-ctl --log-status
Status Log:
[ 1680.454021] unicam fe801000.csi: ================= START STATUS =================
[ 1680.455712] tc358743 0-000f: -----Chip status-----
[ 1680.456335] tc358743 0-000f: Chip ID: 0x00
[ 1680.456955] tc358743 0-000f: Chip revision: 0x00
[ 1680.456968] tc358743 0-000f: Reset: IR: 1, CEC: 1, CSI TX: 0, HDMI: 0
[ 1680.456977] tc358743 0-000f: Sleep mode: off
[ 1680.456987] tc358743 0-000f: Cable detected (+5V power): yes
[ 1680.457517] tc358743 0-000f: DDC lines enabled: yes
[ 1680.458047] tc358743 0-000f: Hotplug enabled: yes
[ 1680.458669] tc358743 0-000f: CEC enabled: no
[ 1680.458678] tc358743 0-000f: -----Signal status-----
[ 1680.458687] tc358743 0-000f: TMDS signal detected: yes
[ 1680.458696] tc358743 0-000f: Stable sync signal: yes
[ 1680.458705] tc358743 0-000f: PHY PLL locked: yes
[ 1680.458715] tc358743 0-000f: PHY DE detected: yes
[ 1680.465500] tc358743 0-000f: Detected format: 1920x1080p50.0 (2640x1125)
[ 1680.465513] tc358743 0-000f: horizontal: fp = 0, -sync = 720, bp = 0
[ 1680.465524] tc358743 0-000f: vertical: fp = 0, -sync = 45, bp = 0
[ 1680.465534] tc358743 0-000f: pixelclock: 148500000
[ 1680.465546] tc358743 0-000f: flags (0x0):
[ 1680.465556] tc358743 0-000f: standards (0x0):
[ 1680.465569] tc358743 0-000f: Configured format: 1920x1080p50.0 (2640x1125)
[ 1680.465580] tc358743 0-000f: horizontal: fp = 0, -sync = 720, bp = 0
[ 1680.465591] tc358743 0-000f: vertical: fp = 0, -sync = 45, bp = 0
[ 1680.465601] tc358743 0-000f: pixelclock: 148500000
[ 1680.465612] tc358743 0-000f: flags (0x0):
[ 1680.465622] tc358743 0-000f: standards (0x0):
[ 1680.465631] tc358743 0-000f: -----CSI-TX status-----
[ 1680.465641] tc358743 0-000f: Lanes needed: 2
[ 1680.465650] tc358743 0-000f: Lanes in use: 2
[ 1680.466272] tc358743 0-000f: Waiting for particular sync signal: no
[ 1680.466892] tc358743 0-000f: Transmit mode: no
[ 1680.467511] tc358743 0-000f: Receive mode: no
[ 1680.468131] tc358743 0-000f: Stopped: no
[ 1680.468142] tc358743 0-000f: Color space: YCbCr 422 16-bit
[ 1680.468671] tc358743 0-000f: -----HDMI status-----
[ 1680.468681] tc358743 0-000f: HDCP encrypted content: no
[ 1680.468691] tc358743 0-000f: Input color space: RGB limited range
[ 1680.469226] tc358743 0-000f: AV Mute: off
[ 1680.469761] tc358743 0-000f: Deep color mode: 8-bits per channel
[ 1680.472269] tc358743 0-000f: HDMI infoframe: Auxiliary Video Information (AVI), version 2, length 13
[ 1680.472281] tc358743 0-000f: colorspace: RGB
[ 1680.472293] tc358743 0-000f: scan mode: Overscan
[ 1680.472304] tc358743 0-000f: colorimetry: ITU709
[ 1680.472316] tc358743 0-000f: picture aspect: 16:9
[ 1680.472327] tc358743 0-000f: active aspect: Same as Picture
[ 1680.472339] tc358743 0-000f: itc: No Data
[ 1680.472350] tc358743 0-000f: extended colorimetry: xvYCC 601
[ 1680.472361] tc358743 0-000f: quantization range: Default
[ 1680.472372] tc358743 0-000f: nups: Unknown Non-uniform Scaling
[ 1680.472383] tc358743 0-000f: video code: 31
[ 1680.472394] tc358743 0-000f: ycc quantization range: Limited
[ 1680.472406] tc358743 0-000f: hdmi content type: Graphics
[ 1680.472418] tc358743 0-000f: pixel repeat: 0
[ 1680.472430] tc358743 0-000f: bar top 0, bottom 0, left 0, right 0
[ 1680.472440] unicam fe801000.csi: -----Receiver status-----
[ 1680.472451] unicam fe801000.csi: V4L2 width/height: 1920x1080
[ 1680.472462] unicam fe801000.csi: Mediabus format: 0000200f
[ 1680.472472] unicam fe801000.csi: V4L2 format: UYVY
[ 1680.472482] unicam fe801000.csi: Unpacking/packing: 0 / 0
[ 1680.472492] unicam fe801000.csi: ----Live data----
[ 1680.472501] unicam fe801000.csi: Programmed stride: 3840
[ 1680.472511] unicam fe801000.csi: Detected resolution: 0x0
[ 1680.472522] unicam fe801000.csi: Write pointer: dc300000
[ 1680.472531] unicam fe801000.csi: ================== END STATUS ==================
Which looks very promising to me.
Now I tried to stream the video locally using GStream with the command u mentioned in another Thread:
Code: Select all
gst-launch-1.0 -vvv -e v4l2src device=/dev/video0 ! video/x-raw,format=UYVY,framerate=50/1 ! v4l2h264enc ! h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay! tcpserversink host=192.168.0.32 port=5000
But this leads to:
Code: Select all
Leitung wird auf PAUSIERT gesetzt ...
Leitung ist aktiv und erfordert keinen VORLAUF …
/GstPipeline:pipeline0/GstTCPServerSink:tcpserversink0: current-port = 5000
Leitung wird auf ABSPIELEN gesetzt ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)UYVY, framerate=(fraction)50/1, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)UYVY, framerate=(fraction)50/1, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)50/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)50/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
Verzögerung neu verteilen …
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = video/x-raw, format=(string)UYVY, framerate=(fraction)50/1, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)UYVY, framerate=(fraction)50/1, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, colorimetry=(string)bt601
FEHLER: Von Element /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0: Verarbeiten des Einzelbilds schlug fehl.
Zusätzliche Fehlerdiagnoseinformation:
gstv4l2videoenc.c(803): gst_v4l2_video_enc_handle_frame (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0:
Maybe be due to not enough memory or failing driver
EOS bei Beenden ist eingeschaltet -- warten auf EOS nach dem Fehler
Auf EOS wird gewartet …
FEHLER: Von Element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Zusätzliche Fehlerdiagnoseinformation:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason error (-5)
There is some german text in there. If you need some translation, please tell me.
I am not sure if this really is a Memory issue.
What is your advice here? Trying it again with 720P50? Or is the problem somewhere else? As far as I understood using 2 lanes should be OK for 1080P50.
UPDATE:
I was able to record the HDMI Input in 1080P50 using the yavta tool:
Code: Select all
./yavta --capture=1000 -n 3 --encode-to=file.h264 -f UYVY -m -T /dev/video0
Just 1 error at the end mentioning:
Code: Select all
Total number of frames dropped 205
Releasing vcsm handle 73728
Closing dma_buf 8
Releasing vcsm handle 77824
Closing dma_buf 9
Releasing vcsm handle 81920
Closing dma_buf 10
3 buffers released.
Failed to find matching V4L2 buffer for mmal buffer 0x1823900
205 frames were dropped additionally.
UPDATE2:
I captured 720p/50 from my camera which works until I move the camera. Yavta then produces this output:
Code: Select all
258 (0) [-] none 258 1843200 B 224.398989 224.418978 49.995 fps ts mono/EoF
259 (1) [-] none 259 1843200 B 224.418987 224.439000 50.005 fps ts mono/EoF
260 (2) [-] none 260 1843200 B 224.438987 224.458981 50.000 fps ts mono/EoF
Exception
Source changed
Unmapped all buffers
Source changed
Unmapped all buffers
I don't know what this means, because my source (the camera?) didn't change in any way..
The strange thing is that
v4l2-ctl --log-status
now says that no video is detected.. But I didn't change a thing... If I turn my camera off and on the video signal gets detected again..
Thank you in advance