Monthly Archives: January 2021

Qt Video Streaming with OpenCV and GStreamer

  • gstreamer
  • Qt
  • OpenCV

Qt 6.0

New Features in Qt 6.0
Removed Modules

  • Qt Multimedia Widgets

What’s New in Qt 6.0
Removed Modules

  • Qt Bluetooth bluetooth
  • Qt Multimedia multimedia
  • Qt Multimedia Widgets multimediawidgets

Livekeys (ex. Livecv)

Livekeys
Livecv
github.com/live-keys/livekeys

YouTube

Live CV – Feature Detection Module
Livekeys – Live Coding Environment


basysKom GmbH

Prof. Dr. Eva Brucherseifer – Hochschule Darmstadt
github.com/basysKom
Azure IoT Hub: Connecting a Qt Application with Azure (Part 1 of 4)


RidgeRun Embedded Solutions

GstQtOverlay
Gstreamer QT Overlay


Documentation

cv::VideoWriter Class Reference, 3.4
cv::VideoWriter Class Reference, 4.5.1


Examples

Qt Multimedia Examples
Video Graphics Item Example
Audio Input Example


Tutorials

OpenCV und Qt Quick – ein Einstieg
basysKom_qmlopencv_trah.pdf, Torsten Rahn, torsten.rahn@basyskom.com

OpenCV with GStreamer and QT on Windows
How to Read, Process and Display Videos Using Qt and OpenCV
Compile Opencv with GStreamer for Visual Studio 2019 on windows 10 with and contribution modules
Painting video with GStreamer and Qt/QML or Gtk+ with overlay

Book: Computer Vision with OpenCV 3 and Qt5

Introduction to QML
github.com/PacktPublishing/Computer-Vision-with-OpenCV-3-and-Qt5/tree/master/ch12/CvQml

    qmlRegisterType<QImageProcessor>("com.amin.classes", 1, 0, "ImageProcessor");
    qmlRegisterType<QImageViewer>("com.amin.classes", 1, 0, "ImageViewer");

Questions

How to efficiently display OpenCV video in Qt?
Sending OpenCV images continuously from C++ to Qml
Send QImage from C++ to QML via QQuickImageProvider or using a signal
QML Desktop Streaming
Open a microphone device with QAudioInput
Opening a GStreamer pipeline from OpenCV with VideoWriter
How to open a GStreamer pipeline from OpenCV with VideoWriter
Qt Overlay over GStreamer


GitHub

github.com/chili-epfl/qml-cvcamera, CVCamera is a QML wrapper for fast camera access using OpenCV
oKcerG/windowhole.cpp
github.com/GStreamer/gst-plugins-base/blob/master/tests/examples/overlay/qt-videooverlay.cpp


YouTube

Opencv GStreamer on Windows video writer to stream from C++ app to IP address to the web player
Video Streaming Made Awesome with GStreamer and Python – sunhacks 2020 Talk

Damian Ziobro

GStreamer + QT/QML integration on RaspberryPI
LinkedIn
GitHub

PHP 7

Interactive


$ pkg install php73-readline

$ php -a
php >

Composer

Packagist – The PHP Package Repository

$ curl -sS https://getcomposer.org/installer | php
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:

The phar extension is missing.
Install it or recompile php without --disable-phar

The filter extension is missing.
Install it or recompile php without --disable-filter

$ pkg install php73-phar
$ pkg install php73-filter

Serialization / Unserialization

  • Object Injection
  • Pop Chains
  • Object Relation Mapper
  • LFI Scripts

Intro to PHP Deserialization / Object Injection
Advanced PHP Deserialization – Phar Files

<?php

class User {
    
    public $username;
    public $isAdmin;

    public function PrintData() {
        if ($this->isAdmin) {
            echo $this->username . " is an admin\n";
        } else {
            echo $this->username . " is NOT an admin\n";
        }
    }

}

$obj = new User();
$obj->username = 'ippsec';
$obj->isAdmin = True;
echo serialize($obj);

?>
Type:Length:Name of class/variable:How many items in the object
O:4:"User":2:{s:8:"username";s:6:"ippsec";s:7:"isAdmin";b:1;}

Type
O = Object
s = String
b = Boolean
$obj = unserialize($_POST['ippsec']);
$obj->PrintData();
$ php -S 127.0.0.1:8070 &
[1] 1245

PHP 7.3.26 Development Server started at Thu Jan 14 11:56:06 2021
Listening on http://127.0.0.1:8070
Document root is /usr/home/andreas/composer
Press Ctrl-C to quit.

$ curl -XPOST -d 'ippsec=O:4:"User":2:{s:8:"username";s:6:"ippsec";s:7:"isAdmin";b:1;}' localhost:8070/test.php
[Thu Jan 14 12:01:17 2021] 127.0.0.1:38066 [200]: /test.php

ippsec is an admin

Local File Inclusion (LFI)

Local File Inclusion (LFI) — Web Application Penetration Testing

Local File Inclusion (LFI) allows an attacker to include files on a server through the web browser. This vulnerability exists when a web application includes a file without correctly sanitising the input, allowing and attacker to manipulate the input and inject path traversal characters and include other files from the web server.

Object Relational Mapper (ORM)