zxing

Detect bar codes in the video streams and send them as element messages to the GstBus if message property is TRUE. If the attach-frame property is TRUE, the posted barcode message includes a sample of the frame where the barcode was detected (Since 1.18).

The element generates messages named barcode. The structure contains these fields:

  • GstClockTime timestamp: the timestamp of the buffer that triggered the message.

  • gchar * type: the symbol type.

  • gchar * symbol: the detected bar code data.

  • GstClockTime stream-time: timestamp converted to stream-time.

  • GstClockTime running-time: timestamp converted to running-time.

  • GstSample frame: the frame in which the barcode message was detected, if the .#GstZXing:attach-frame property was set to TRUE (Since 1.18)

    This element is based on the c++ implementation of zxing which can found at https://github.com/zxing-cpp/zxing-cpp.

Example launch lines

 gst-launch-1.0 -m v4l2src ! videoconvert ! zxing ! videoconvert ! xvimagesink

This pipeline will detect barcodes and send them as messages.

 gst-launch-1.0 -m v4l2src ! tee name=t ! queue ! videoconvert ! zxing ! fakesink t. ! queue ! videoconvert ! xvimagesink

Same as above, but running the filter on a branch to keep the display in color

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBaseTransform
                    ╰──GstVideoFilter
                        ╰──zxing

Factory details

Authors: – Stéphane Cerveau

Classification:Filter/Analyzer/Video

Rank – marginal

Plugin – zxing

Package – GStreamer Bad Plug-ins

Pad Templates

sink

video/x-raw:
         format: { ARGB, xRGB, Y444, Y42B, I420, Y41B, YUV9, YV12 }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencealways

Directionsink

Object typeGstPad


src

video/x-raw:
         format: { ARGB, xRGB, Y444, Y42B, I420, Y41B, YUV9, YV12 }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencealways

Directionsrc

Object typeGstPad


Properties

attach-frame

“attach-frame” gboolean

Attach a frame dump to each barcode message

Flags : Read / Write

Default value : false


format

“format” GstBarCodeFormat *

Barcode image format

Flags : Read / Write

Default value : all (0)


message

“message” gboolean

Post a barcode message for each detected code

Flags : Read / Write

Default value : true


try-faster

“try-faster” gboolean

Try faster to analyze the frame

Flags : Read / Write

Default value : false


try-rotate

“try-rotate” gboolean

Try to rotate the frame to detect barcode (slower)

Flags : Read / Write

Default value : false


Named constants

GstBarCodeFormat

BARCODE_FORMAT_ALL all format BARCODE_FORMAT_AZTEC aztec format BARCODE_FORMAT_CODABAR codabar format BARCODE_FORMAT_CODE_39 code39 format BARCODE_FORMAT_CODE_93 code 93 format BARCODE_FORMAT_CODE_128 code 128 format BARCODE_FORMAT_DATA_MATRIX data matrix format BARCODE_FORMAT_EAN_8 EAN 8 format BARCODE_FORMAT_EAN_13 EAN 13 format BARCODE_FORMAT_ITF ITF format BARCODE_FORMAT_MAXICODE maxicode format BARCODE_FORMAT_PDF_417 pdf 417 format BARCODE_FORMAT_QR_CODE QR code format BARCODE_FORMAT_RSS_14 RSS 14 format BARCODE_FORMAT_RSS_EXPANDED RSS expanded format BARCODE_FORMAT_UPC_A UPC_A format BARCODE_FORMAT_UPC_E UPC_E format BARCODE_FORMAT_UPC_EAN_EXTENSION UPC_EAN_EXTENSION format

Members

all (0) – ALL
aztec (1) – AZTEC
codabar (2) – CODABAR
code_39 (3) – CODE_39
code_93 (4) – CODE_93
code_128 (5) – CODE_128
png (6) – PNG
ean_8 (7) – EAN_8
ean_13 (8) – EAN_13
itf (9) – ITF
maxicode (10) – MAXICODE
pdf_417 (11) – PDF_417
qr_code (12) – QR_CODE
rss_14 (13) – RSS_14
rss_expanded (14) – RSS_EXPANDED
upc_a (15) – UPC_A
upc_e (16) – UPC_E
upc_ean_expansion (17) – UPC_EAN_EXTENSION

Since : 1.18


The results of the search are