Problem when plugging in GoPro via HDMI input at iMx6 TinyRex
hkkang , 01-21-2018, 11:56 PM
Hello,
I'm trying to use GoPro with recenty purchased iMx6 TinyRex development kit.root@imx6-tinyrexultra:~# uname -a
Linux imx6-tinyrexultra 4.1.36-yocto+g7f55696 #1 SMP PREEMPT Sat Jul 29 17:36:08 CEST 2017 armv7l armv7l armv7l GNU/LinuxActually, I plugged my GoPro in HDMI input and followed the reference( http://www.imx6rex.com/imx6-tiny-rex...es/#hdmi_input ) to watch the camera-inputs via HDMI output e.g. monitor.
I've followed the steps which the reference guided but faced an error when trying HDMI input -> HDMI output:root@imx6-tinyrexultra:~# modprobe mxc_v4l2_capture
root@imx6-tinyrexultra:~# lsmod | grep adv7610
adv7610_video 6416 0
v4l2_int_device 2897 4 ov5647_camera_mipi_int,adv7610_video,ipu_csi_enc,m xc_v4l2_capture
root@imx6-tinyrexultra:~# gst-launch-1.0 imxv4l2src ! autovideosink
====== IMXV4L2SRC: 4.1.6 build on Jul 29 2017 19:45:50. ======
WARNING: erroneous pipeline: could not link imxv4l2src0 to autovideosink0Just a single line of error message. So I try this:root@imx6-tinyrexultra:~# gst-launch-1.0 imxv4l2src
====== IMXV4L2SRC: 4.1.6 build on Jul 29 2017 19:45:50. ======
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
(gst-launch-1.0:971): GStreamer-CRITICAL **: gst_mini_object_ref: assertion 'mini_object != NULL' failed
** (gst-launch-1.0:971): CRITICAL **: gst_video_info_from_caps: assertion 'caps != NULL' failed
(gst-launch-1.0:971): GStreamer-CRITICAL **: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed
** (gst-launch-1.0:971): CRITICAL **: gst_video_info_from_caps: assertion 'caps != NULL' failed
ERROR: from element /GstPipeline0/pipeline0/GstImxV4l2Src:imxv4l2src0: Internal data flow error.
Additional debug info:
../../../../gstreamer-1.8.1/libs/gst/base/gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline0/pipeline0/GstImxV4l2Src:imxv4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:02.393705334
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@imx6-tinyrexultra:~# After some googling, I found that 'caps' is suspected to be 'Capabilities' and tried 'gst-inspect-1.0':root@imx6-tinyrexultra:~# gst-inspect-1.0 imxv4l2src
====== IMXV4L2SRC: 4.1.6 build on Jul 29 2017 19:45:50. ======
Factory Details:
Rank primary + 1 (257)
Long-name IMX Video (video4linux2) Source
Klass Src/Video
Description Capture frames from IMX SoC video4linux2 device
Author Multimedia Team <shmmmw@freescale.com>
Plugin Details:
Name imxv4l2.imx
Description IMX SoC v4l2-based video source/sink
Filename /usr/lib/gstreamer-1.0/libgstimxv4l2plugins.so
Version 4.1.6
License LGPL
Source module imx-gst1.0-plugin
Binary package Freescle Gstreamer Multimedia Plugins
Origin URL http://www.freescale.com
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseSrc
+----GstPushSrc
+----GstImxV4l2Src
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
EMPTYAnd I tried 'gst-device-monitor' to see the name of video source: root@imx6-tinyrexultra:~# gst-device-monitor-1.0 Probing devices...xcb_connection_has_error() returned true(OMITTED)Device found:name : class : Video/Sourcecaps : video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, interlace-mode=(string){ progressive, interleaved }, framerate=(fraction)[ 0/1, 2147483647/1 ];properties:udev-probed = truedevice.bus_path = platform-v4l2_cap_0sysfs.path = /sys/devices/soc0/v4l2_cap_0/video4linux/video0device.subsystem = video4linuxdevice.capabilities = :capture:video_overlay:device.api = v4l2device.path = /dev/video0v4l2.device.driver = mxc_v4l2v4l2.device.card = ""v4l2.device.bus_info = ""v4l2.device.version = 267 (0x0000010b)v4l2.device.capabilities = 83886085 (0x05000005)v4l2.device.device_caps = 0 (0x00000000)The name of video input is EMPTY. Also, I've checked if any cameras were connected but no devices were found:root@imx6-tinyrexultra:~# v4l2-ctl --list-devices():/dev/video0/dev/video16/dev/video17I have tested HDMI input by clicking the 'HDMI input test' under Applications menu. So I believed that all of HDMI input, HDMI decoder, HDMI output work well. Do I miss any drivers to be installed?
Please shed me lights to solve this problem..
Thanks in advance. marek , 01-22-2018, 10:56 AM
Dear Mr.
hkkang,Here are some links from testing from past that might show some cmd line arguments:
http://wiki.voipac.com/xwiki/bin/vie...2Fmax2Fultra29http://wiki.voipac.com/xwiki/bin/vie...inyrex/adv7610I usually did the testing against PC hdmi output.
Code:
gst-launch-1.0 v4l2src [COLOR=#19177C]device[/COLOR][COLOR=#666666]=[/COLOR][COLOR=#BA2121]"/dev/video0"[/COLOR] ! video/x-raw,width[COLOR=#666666]=[/COLOR]1280,height[COLOR=#666666]=[/COLOR]720,framerate[COLOR=#666666]=[/COLOR]30/1 ! videoconvert ! autovideosink
I will ask my colleague to retest it. In the case "
HDMI input test" works for you then this is its contentCode:
var_kernel=$(uname -r)case ${var_kernel} in3.14*) gst-launch imxv4l2src num-buffers=800 ! autovideosink ;;4.1*) gst-launch-1.0 v4l2src device="/dev/video0" num-buffers=800 ! videoconvert ! autovideosink ;;\?) ;;esac
m
hkkang , 01-22-2018, 10:38 PM
Thank you very much!
Now it works amazingly!
Use our interactive
Discord forum to reply or ask new questions.