POT_VideoProbe {
source: mediaPlayer
onVideoFrameProbed: console.log("Frame probed!")
}
where mediaPlayer is an element of type MediaPlayer. Modifying the frame is not probably possible at the moment.
Have fun! Bye ;-)
Download PiOmxTextures 5.2.2 for Raspbian Jessie Pi2 here (extraction code is: 2bd6, md5:
8be82eee7498e63e63ecbe17cb3eb7ef).
Hi
ReplyDeleteI have cross-compiled my application, but when I run it on RPi I get: "EGL Error : Could not create the ego surface : error = 0x300b". Do you know why I get this error ?
thanks
Bogdan
Is a minimal app working? Are the samples in the repo working?
DeleteActually is an older version of piomxtextures_pocplayer. I see that you set shared openGL context to true
ReplyDeleteQGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true);
QGuiApplication app(argc, argv);
Older? Use the same version provided in the package.
DeleteThis comment has been removed by the author.
ReplyDeleteHello.
ReplyDeleteI'm having problem with your test application.
I'm running ./piomxtextures_pocplayer /home/pi/POT/big_buck_bunny_480p_h264.mov and the application looks like it is working properly but no video is displayed.
Tested the same video with omxplayer and it works..
Can you help me?
Click with the mouse and the control bar should appear. It does not start immediately because I always forget to add autostart.
DeleteThanks for the response, but it's not it.
ReplyDeleteIt still doesn't display anything even when I press "Play/Pause".
I can see that the "Buffer created " and progress bar is moving from left to right, but that's it. Screen is black.
Here you can see the console log: https://gist.github.com/lewicki-pk/56d77b5bf6d7c1ccd2a5acfe0e0c52eb
Any idea?
Ah there was someone else reporting the same problem, very weird. I used this build recently on a new Pi but I had no issue. Logs seem perfectly normal. Are you using Jessie? Did you update to the latest available firmware?
DeleteI am using Jessie (not Lite, but regular). After I wrote to you I have also checked with other videos (from www.sample-videos.com) and they work properly, but one other video (which I used for testing) did not. This really is weird. (BTW. Great project!)
ReplyDeleteHi,
ReplyDeleteAs always, I like to compile my self every new release.
Just after running "make" on the "piomxtextures_src" folder I get this error:
"piomxtextures_src/omxplayer_lib/DllSwResample.h:41:42: fatal error: libswresample/swresample.h"
I have made the compilation on my old Wheezy image, which do not have any missing dependency (at least, it works well last time I compile your project).
Do you have suggestion/hint?
Thanks,
Seems not a complete error line... maybe you are missing ffmpeg?
DeleteI have run the compile_ffmpeg.sh successfully.
DeleteThe complete line is this:
In file included from /home/atron/opt/pi/piomxtextures_src/omxplayer_lib/OMXAudioCodecOMX.h:27:0,
from /home/atron/opt/pi/piomxtextures_src/omxplayer_lib/OMXPlayerAudio.h:35,
from /home/atron/opt/pi/piomxtextures_src/omx_playeraudio.h:30,
from /home/atron/opt/pi/piomxtextures_src/omx_mediaprocessor.cpp:38:
/home/atron/opt/pi/piomxtextures_src/omxplayer_lib/DllSwResample.h:41:42: fatal error: libswresample/swresample.h: No such file or directory
compilation terminated.
make[1]: *** [omx_mediaprocessor.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/atron/opt/pi/piomxtextures_qt_driver/mediaplayer'
make: *** [sub-mediaplayer-make_first] Error 2
Well, I have just realized that something strange happens when I run "make" on the drivers folder. This message is shown:
DeleteProject MESSAGE: Building for RPi1...
WARNING: Cannot open substitute for output '/mnt/rpi/usr/local/qtrpi/lib/cmake/Qt5Multimedia/Qt5Multimedia_OpenMAXILPlayerServicePlugin.cmake'
I don't known why it says "Building for RPi1..." when I have specified set
"prepare_3rdparty.sh ~/opt/qt5 pi2".
No idea sorry. I don't even have that cmake file. Your env seems different so no idea.
DeleteNo problem. I will try it with a fresh image.
DeleteThanks!
This comment has been removed by the author.
DeleteThis comment has been removed by the author.
DeleteHello!
ReplyDeleteI tried to install POT 5.2.2 and I faced with problem:
pi@raspberrypi:~/PiOmxTextures_5.2.2_pi2_jessiel_5.6.0-rc1 $ /usr/local/Qt-rasp2-5.6.0-rc1/bin/qmlscene "video1.mp4" video_simple.qml
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
qt.qpa.input: X-less xkbcommon not available, not performing key mapping
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
The same error when I run:
/usr/local/Qt-rasp2-5.6.0-rc1/bin/qmlscene "video1.mp4" video_simple.qml
pi@raspberrypi:~/PiOmxTextures_5.2.2_pi2_jessiel_5.6.0-rc1 $ /usr/local/Qt-rasp2-5.6.0-rc1/bin/qmlscene "video1.mp4" video_sile.qml
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
qt.qpa.input: X-less xkbcommon not available, not performing key mapping
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
I use clear Raspbian 2016-05-10-raspbian-jessie-lite from https://www.raspberrypi.org/downloads/raspbian/
I setted up
Deleteexport QT_DEBUG_PLUGINS=1
and found this:
Got keys from plugin meta data ("org.qt-project.qt.mediaplayer")
QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/PiOmxTextures_5.2.2_pi2_jessiel_5.6.0-rc1/mediaservice" ...
loaded library "/usr/local/Qt-rasp2-5.6.0-rc1/plugins/mediaservice/libopenmaxilmediaplayer.so"
QLibraryPrivate::loadPlugin failed on "/usr/local/Qt-rasp2-5.6.0-rc1/plugins/mediaservice/libopenmaxilmediaplayer.so" : "Cannot load library /usr/local/Qt-rasp2-5.6.0-rc1/plugins/mediaservice/libopenmaxilmediaplayer.so: (libsmbclient.so.0: cannot open shared object file: No such file or directory)"
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"
QFactoryLoader::QFactoryLoader() checking directory path "/usr/local/Qt-rasp2-5.6.0-rc1/plugins/accessible" ...
QFactoryLoader::QFactoryLoader() checking directory path "/home/pi/PiOmxTextures_5.2.2_pi2_jessiel_5.6.0-rc1/accessible" ...
After fixing problems with dependencies problem solved
DeleteHello Luca, can you tell is OMXCameraSurface element working and bugfree ?
ReplyDeleteWorked in the past. But I discontinued that part for the moment.
DeleteThanks, maybe you can advise how can I show live feed from camera in my qml application?
DeleteYou can try gstreamer. Was working more or less.
DeleteMy binaries include gstreamer support for Qt. You can use the camera plugin which is included.
DeleteThis comment has been removed by the author.
ReplyDeleteHi,
ReplyDeleteI've deleted my previous post in order to add more information.
After compiling the qtmultimedia module I've built the piomxtextures_qt_driver and rsync.
Then, when I tested the video feature I got this:
(videotest:835): GStreamer-CRITICAL **: gst_object_ref_sink: assertion 'GST_IS_OBJECT (object)' failed
(videotest:835): GStreamer-CRITICAL **: gst_element_set_state: assertion 'GST_IS_ELEMENT (element)' failed
So, I decided to remove all the gstreamer lib from the plugins folder. After that I get this:
08:40:05.370 INFO: POT build Jun 11 2016 04:26:25.
08:40:05.376 INFO: Initializing GPU context in media processor...
bash: line 1: 1297 Segmentation fault DISPLAY=':0.0' /opt/videotest/bin/videotest
Application finished with exit code 139.
I first impressions are that I do not build the project correctly. What I am doing wrong?
Thanks,
God damm it...
DeleteI missed that. Sorry.
QGuiApplication::setAttribute(Qt::AA_ShareOpenGLContexts, true);
QGuiApplication app(argc, argv);