A Player that shows YUV format image/video on GUI that builds by QML.
Known issues please see here.
- I420 (YU12, YUV420P)
- YV12 (YUV420P)
- YUY2 (YUYV, YUV422)
- UYVY (Y422, YUV422)
- YVYU (YUV422)
- NV12 (YUV420SP)
- NV21 (YUV420SP)
- NV16 (YUV422SP)
- NV61 (YUV422)
Require:
- Qt5.10+
- CMake & Ninja
You can use the docker image that we already build, as below
$ docker pull kakalin/qt:5.12.0_opencv_gstreamer
And then running with docker:
$ ./docker-run.sh
If you have some issues with using it, please check here or here, please check here
Please install Qt/QML on your local machine.
qmake
or CMake
choose one for building.
# qmake
$ ./build.sh
# cmake
$ ./cmake-build.sh
$ ./build/YUVPlayer
export QT_LOGGING_RULES=[.type]=true|false
For example:
# Turn on all debug logging
$ export QT_LOGGING_LURES=*.debug=true
# Turn on all logging level of all multimedia module
$ export QT_LOGGING_LURES=qt.multimedia.*=true
# Enable OpenCV debug message
$ export OPENCV_LOG_LEVEL=DEBUG
# Enable OpenCV VideoIO debug message
$ export OPENCV_VIDEOIO_DEBUG=1
- Thanks to Display cv::Mat as QVideoFrame in a QML VideoOutput for converting
cv::Mat
toQVideoFrame
data type. - Thanks to alpqr/qt-opencv-demo that supply
YUVBuffer
for convert YUV format fromcv::Mat
toQVideoFrame
data type