Sign inSign up

marksystem/debian_armh_gestreamer

By marksystem

•Updated almost 7 years ago

Image
0

69

marksystem/debian_armh_gestreamer repository overview

⁠Gstreamer Docker Image for Toradex Apalis-IMX6

Author: www.mark-systems.de⁠

⁠Hardware Setup

  • Toradex Apalis-IMX6
  • Toradex Ixora V1.1A
  • USB Web-Camera: Microsoft LifeCam HD-3000

⁠Linux OS on imx6

apalis-imx6-08481731:~$ cat /etc/*release
ID="torizon"
NAME="TorizonCore"
VERSION="4.0.0-dev-20191211+build.36 (zeus)"
VERSION_ID="4.0.0-dev-20191211-build.36"
PRETTY_NAME="TorizonCore 4.0.0-dev-20191211+build.36 (zeus).36"
BUILD_ID=".36"
ANSI_COLOR="1;34"

⁠IXM6 MCU information

apalis-imx6-08481731:~$ lscpu
Architecture:        armv7l
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           4
Vendor ID:           ARM
Model:               10
Model name:          Cortex-A9
Stepping:            r2p10
CPU max MHz:         996.0000
CPU min MHz:         396.0000
BogoMIPS:            6.00
Flags:               half thumb fastmult vfp edsp neon vfpv3 tls vfpd32

⁠Image on DockerHub

docker pull marksystem/debian_armh_gestreamer:latest

⁠Dockerfile for Image: debian_armh_gestreamer

FROM torizon/arm32v7-debian-base

MAINTAINER Michael Mark <[email protected]>
 
RUN apt-get -y update && apt-get install -y \
    libgstreamer1.0-0 \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad \
    gstreamer1.0-plugins-ugly \
    gstreamer1.0-libav \
    gstreamer1.0-doc \
    gstreamer1.0-tools \
    gstreamer1.0-x \
    gstreamer1.0-alsa \
    gstreamer1.0-gl \
    gstreamer1.0-gtk3 \
    gstreamer1.0-pulseaudio \
    cheese \
    openssh-server \ 
    && apt-get clean && apt-get autoremove && rm -rf /var/lib/apt/lists/*

RUN touch tmp/test.jpeg

CMD ["/bin/bash"]

⁠Test at Ubuntu 18.04

⁠Run debian container x86 in Ubuntu 18.04

docker run --privileged --device=/dev/video0:/dev/video0 -it marksystem/debian_gestreamer
⁠Test-Run inside container
⁠CMD: Get single test picture from webcam
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=1 ! jpegenc ! filesink location=/tmp/test.jpg

⁠IMX6 Plattform Test

⁠Run debian armh container in imx6 Torizon image:

docker run --privileged --device=/dev/video0:/dev/video0 -it marksystem/debian_armh_gestreamer

⁠Test gstreamer with test video-test-source

gst-launch-1.0 videotestsrc num-buffers=1 ! jpegenc ! filesink location=/tmp/test.jpg
root@7edf798cfba3:/# gst-launch-1.0 videotestsrc num-buffers=1 ! jpegenc ! filesink location=/tmp/test.jpg
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.000726263
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@7edf798cfba3:/# ls -la tmp/
total 20
drwxrwxrwt 1 root root 4096 Jan  6 09:06 .
drwxr-xr-x 1 root root 4096 Jan  6 09:01 ..
-rw-r--r-- 1 root root 9423 Jan  6 09:07 test.jpg
root@7edf798cfba3:/# 

⁠INFO_1 Take a Series of Still Images

Using the same setup with Apalis iMX6Q from a CSI Camera Module 5MP OV5640 source, one can capture a series of still images

root@apalis-imx6:~# gst-launch-1.0 v4l2src device=/dev/video1 ! jpegenc ! multifilesink location=test%d.jpg

⁠Run tests on imx6 target in docker container

Note: Used keyboard interrupt to end test

apalis-imx6-08481731:~$ docker run --privileged --device=/dev/video0:/dev/video0 -it marksystem/debian_armh_gestreamer

root@4562cbf8840b:/# gst-launch-1.0 videotestsrc ! filesink location=/tmp/test.jpg
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:01.884288409
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@4562cbf8840b:/# ls -la tmp/
total 91472
drwxrwxrwt 1 root root     4096 Jan  6 09:19 .
drwxr-xr-x 1 root root     4096 Jan  6 09:18 ..
-rw-r--r-- 1 root root 93657600 Jan  6 09:33 test.jpg
root@4562cbf8840b:/#

⁠Get stream from USB Webcam source

apalis-imx6-08481731:~$ docker run --privileged --device=/dev/video11:/dev/video11 -it  marksystem/debian_armh_gestreamer
root@b27460b4bf49:/# gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video11 ! jpegenc ! filesink location=/tmp/test.jpeg
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.418285732
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
root@b27460b4bf49:/# ls -la tmp/
total 84
drwxrwxrwt 1 root root  4096 Jan  6 10:11 .
drwxr-xr-x 1 root root  4096 Jan  6 10:10 ..
-rw-r--r-- 1 root root 74528 Jan  6 10:12 test.jpg

Tag summary

Content type

Image

Digest

Size

144.5 MB

Last updated

almost 7 years ago

docker pull marksystem/debian_armh_gestreamer