Hi,
I have a isuse about video streaming not showing on display(HDMI & MIPI). I have already boot up ov5640 CAM on imx8mq with yocto kernal 5.4.70. It seems workable but no streaming window on display when I upgrade to yocto kernal 5.10.72. I don't get any error log & gstreamer still running on console.
there is the log :
root@pico-imx8mq:~# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,framerate=30/1 ! waylandsink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[ 1352.798992] ov5640_mipi 1-003c: s_stream: 1
^Chandling interrupt.
Interrupt: Stopping pipeline [ 1356.721092] ov5640_mipi 1-003c: s_stream: 0
...
Execution ended after 0:00:04.646189685
Setting pipeline to NULL ...
Freeing pipeline ...
root@pico-imx8mq:~#
I try to use command gst-launch-1.0 videotestsrc ! autovideosink, it is working normally and showing on display.
there is the log :
root@pico-imx8mq:~# gst-launch-1.0 videotestsrc ! "video/x-raw,width=1280,height=720" ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:03.6 / 99:99:99.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:05.695684926
Setting pipeline to NULL ...
Total showed frames (173), playing for (0:00:05.695649646), fps (30.374).
Freeing pipeline ...
root@pico-imx8mq:~#
so I suppose it's a v4l2src problem but I have no idea what should I do to prove or solve it.
There is some infomation with yocto kernal 5.10.72 :
root@pico-imx8mq:~# v4l2-ctl --all
Driver Info:
Driver name : mx6s-csi
Card type : i.MX6S_CSI
Bus info : platform:30a90000.csi1_bridge
Driver version : 5.10.72
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 0
Video input : 0 (Camera: ok)
Format Video Capture:
Width/Height : 0/0
Pixel Format : ''
Field : Any
Bytes per Line : 0
Size Image : 0
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 0, Height 0
Default : Left 0, Top 0, Width 0, Height 0
Pixel Aspect: 1/1
Selection Video Capture: crop, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: crop_default, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: compose, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: compose_default, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: compose_bounds, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: compose_padded, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: native_size, Left 0, Top 0, Width 0, Height 0, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
---------------------------------------------------------------------------------------------
root@pico-imx8mq:~# gst-device-monitor-1.0
Probing devices...
Device found:
name : Monitor of Dummy Output
class : Audio/Source
caps : audio/x-raw, format={ (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE, (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE, (string)S24_32LE, (string)S24_32BE, (string)U8 }, layout=interleaved, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-alaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-mulaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
properties:
device.description = "Monitor\ of\ Dummy\ Output"
device.class = monitor
device.icon_name = audio-input-microphone
is-default = true
gst-launch-1.0 pulsesrc device=auto_null.monitor ! ...
Device found:
name : Dummy Output
class : Audio/Sink
caps : audio/x-raw, format={ (string)S16LE, (string)S16BE, (string)F32LE, (string)F32BE, (string)S32LE, (string)S32BE, (string)S24LE, (string)S24BE, (string)S24_32LE, (string)S24_32BE, (string)U8 }, layout=interleaved, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-alaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
audio/x-mulaw, rate=[ 1, 384000 ], channels=[ 1, 32 ]
properties:
device.description = "Dummy\ Output"
device.class = abstract
device.icon_name = audio-card
is-default = true
gst-launch-1.0 ... ! pulsesink device=auto_null
Device found:
name : i.MX6S_CSI
class : Video/Source
caps : video/x-raw, format=YUY2, width=2592, height=1944, pixel-aspect-ratio=1/1, framerate=15/1
video/x-raw, format=YUY2, width=1920, height=1080, pixel-aspect-ratio=1/1, framerate=30/1
video/x-raw, format=YUY2, width=1280, height=720, pixel-aspect-ratio=1/1, framerate=30/1
video/x-raw, format=YUY2, width=720, height=480, pixel-aspect-ratio=1/1, framerate=30/1
video/x-raw, format=YUY2, width=640, height=480, pixel-aspect-ratio=1/1, framerate=30/1
video/x-raw, format=YUY2, width=320, height=240, pixel-aspect-ratio=1/1, framerate=30/1
video/x-raw(format:Interlaced), format=YUY2, width=320, height=240, pixel-aspect-ratio=1/1, framerate=30/1, interlace-mode=alternate
properties:
udev-probed = true
device.bus_path = platform-30a90000.csi1_bridge
sysfs.path = "/sys/devices/platform/soc\@0/30800000.bus/30a90000.csi1_bridge/video4linux/video0"
device.subsystem = video4linux
device.product.name = i.MX6S_CSI
device.capabilities = :capture:
device.api = v4l2
device.path = /dev/video0
v4l2.device.driver = mx6s-csi
v4l2.device.card = i.MX6S_CSI
v4l2.device.bus_info = platform:30a90000.csi1_bridge
v4l2.device.version = 330312 (0x00050a48)
v4l2.device.capabilities = 2216689665 (0x84200001)
v4l2.device.device_caps = 69206017 (0x04200001)
gst-launch-1.0 v4l2src ! ...
Appreciate any assistance or tips that would be helpful.
hi, did you try it yet ?
I still wait your reply, thanks.