Closed Ligverd closed 9 years ago
please use VideoOutput2. VideoOutput crashes sometimes and I haven't tested it for a long time.
Thanks VideoOutput2 helped, now not falling.
Compared 1.4 video jittery played , I didn't use avShift i.e. did build a clean master branch. I use Qt 5.4.1 ffmpeg 2.6.1 openAL 1.16.0
This is a known issue or problem with me?
Now try different versions QtAV ranging from 1.4 and ffmpeg from 2.2.1 By results I will unsubscribe.
does 1.4 play smoothly?
Don't even know what to say.
v1.4 not very "friendly" openAL and this test I think is not correct.
Now in the master branch when building APK using QML in the package is not placed libQt5OpenGL.so we have to *.pro file do LIBS += Qt5OpenGL
But the difference is I didn't notice.
Here is the output QML application, greep OpenGL
...
D/dalvikvm( 4820): Trying to load lib /data/data/org.qtproject.example.test_qtav/lib/libQt5OpenGL.so 0x41623b30
D/dalvikvm( 4820): Added shared lib /data/data/org.qtproject.example.test_qtav/lib/libQt5OpenGL.so 0x41623b30
...
D/libEGL ( 4820): loaded /system/lib/egl/libEGL_mali.so
D/libEGL ( 4820): loaded /system/lib/egl/libGLESv1_CM_mali.so
D/libEGL ( 4820): loaded /system/lib/egl/libGLESv2_mali.so
D/OpenGLRenderer( 4820): Enabling debug mode 0
...
W/Qt A11Y ( 4820): Could not activate platform accessibility.
D/libEGL ( 4820): loaded /system/lib/egl/libEGL_mali.so
D/libEGL ( 4820): loaded /system/lib/egl/libGLESv1_CM_mali.so
D/libEGL ( 4820): loaded /system/lib/egl/libGLESv2_mali.so
D/OpenGLRenderer( 4820): Enabling debug mode 0
...
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:421 (virtual void QtAV::VideoShader::compile(QOpenGLShaderProgram*)): "bind attribute: a_Position => 0"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:421 (virtual void QtAV::VideoShader::compile(QOpenGLShaderProgram*)): "bind attribute: a_TexCoords0 => 1"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:270 (virtual void QtAV::VideoShader::initialize(QOpenGLShaderProgram*)): "glGetUniformLocation("u_Texture0") = 1"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:270 (virtual void QtAV::VideoShader::initialize(QOpenGLShaderProgram*)): "glGetUniformLocation("u_Texture1") = 2"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:270 (virtual void QtAV::VideoShader::initialize(QOpenGLShaderProgram*)): "glGetUniformLocation("u_Texture2") = 3"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:272 (virtual void QtAV::VideoShader::initialize(QOpenGLShaderProgram*)): "glGetUniformLocation("u_MVP_matrix") = 0"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:273 (virtual void QtAV::VideoShader::initialize(QOpenGLShaderProgram*)): "glGetUniformLocation("u_colorMatrix") = 4"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:274 (virtual void QtAV::VideoShader::initialize(QOpenGLShaderProgram*)): "glGetUniformLocation("u_opacity") = 5"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:973 (bool QtAV::VideoMaterialPrivate::ensureResources()): "plane linesize 0: padded = 736, effective = 704"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:974 (bool QtAV::VideoMaterialPrivate::ensureResources()): "plane width 736: effective = 704"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:975 (bool QtAV::VideoMaterialPrivate::ensureResources()): "planeHeight 0 = 576"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:973 (bool QtAV::VideoMaterialPrivate::ensureResources()): "plane linesize 1: padded = 368, effective = 352"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:974 (bool QtAV::VideoMaterialPrivate::ensureResources()): "plane width 368: effective = 352"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:975 (bool QtAV::VideoMaterialPrivate::ensureResources()): "planeHeight 1 = 288"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:973 (bool QtAV::VideoMaterialPrivate::ensureResources()): "plane linesize 2: padded = 368, effective = 352"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:974 (bool QtAV::VideoMaterialPrivate::ensureResources()): "plane width 368: effective = 352"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:975 (bool QtAV::VideoMaterialPrivate::ensureResources()): "planeHeight 2 = 288"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:995 (bool QtAV::VideoMaterialPrivate::ensureResources()): "effective_tex_width_ratio=0.956522"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:859 (bool QtAV::VideoMaterialPrivate::updateTextureParameters(const QtAV::VideoFormat&)): "///////////bpp 2"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:888 (bool QtAV::VideoMaterialPrivate::updateTextureParameters(const QtAV::VideoFormat&)): "texture width: 736 - 704 = pad: 32. bpp(gl): 1"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:888 (bool QtAV::VideoMaterialPrivate::updateTextureParameters(const QtAV::VideoFormat&)): "texture width: 368 - 352 = pad: 16. bpp(gl): 1"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:888 (bool QtAV::VideoMaterialPrivate::updateTextureParameters(const QtAV::VideoFormat&)): "texture width: 368 - 352 = pad: 16. bpp(gl): 1"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:1033 (bool QtAV::VideoMaterialPrivate::ensureTextures()): "creating texture for plane 0"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:1041 (bool QtAV::VideoMaterialPrivate::ensureTextures()): "texture for plane 0 is created (id=9)"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:1033 (bool QtAV::VideoMaterialPrivate::ensureTextures()): "creating texture for plane 1"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:1041 (bool QtAV::VideoMaterialPrivate::ensureTextures()): "texture for plane 1 is created (id=10)"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:1033 (bool QtAV::VideoMaterialPrivate::ensureTextures()): "creating texture for plane 2"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/VideoShader.cpp:1041 (bool QtAV::VideoMaterialPrivate::ensureTextures()): "texture for plane 2 is created (id=11)"
D/libtest_qtav.so( 4820): /home/kid/projects/QtAV/src/OpenGLVideo.cpp:183 (void QtAV::OpenGLVideoPrivate::bindAttributes(QtAV::VideoShader*, const QRectF&, const QRectF&)): "VAO is not supported"
...
Okay I will not distract you from important things, I will understand itself.
you don't need opengl module for qml app. qt5 gui module has fully support for opengl. opengl module is just for compatibility and will be removed in the future. I uploaded QMLPlayer apk http://sourceforge.net/projects/qtav/files/ci/QtAV1.7.0alpha-QMLPlayer-android-armv7-signed.apk/download It plays fine on my Nexus7.
Here is the output QML application, greep OpenGL
what's your problem?
For OpenGL thanks, didn't know.
Tried QMLPLayer played a local file Nexus 5 good Nexus 7 good Samsung Galaxy Tab P5110 sound twitches video jerks Wexler Tab sound twitches video jerks
On my test applications Samsung P5110
Here are twitching every 1-2 seconds
AVPlayer {
id: mediaplayer
autoPlay: true
source: "file:///VIDEOFILE"
}
VideoOutput2 {
source: mediaplayer
}
Here all goes smoothly only the sound stops shaking only after setBufferCount(16)
vo = new VideoOutput(this);
player->setRenderer(vo);
player->play("file:///VIDEOFILE");
Old hardware?
Audio should be smooth. I think it's audio code. what's your video resolution and bitrate? what about lower resolution and bitrate? Because QtAV does not support gpu decoder now, the playback will not be smooth for large videos
The question is not what smoothly or not smoothly in QtAV But the fact that if you play through the widget the smoothness fine with me if the same file/stream to play using QtQuick (QML) then begins to twitch.
I close the issue, because with the fall of the player like decided.
Didn't catch what the commit started the problem after QtAV 1.5. Target Android with QML If in QML not specified opengl or explicitly specify opengl:true then the program crash before starting playback. If you explicitly disable opengl:false it works.
Also if you use the Widget i.e. without QML everything works fine with opengl
At the start of playing with QML stable error
qml/SGVideoNode.cpp ?