Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-124273

RTSP does not work

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.7.0
    • Multimedia
    • None
    • Android, Windows
    • 2024wk16FOQtforAndroid

    Description

      I was testing with the same reproducer provided here:
      https://bugreports.qt.io/browse/QTBUG-115794
      Also attached here for convivence.

      It is said that RTSP issue has been fixed in that bug report- although I am still getting lots of errors and cannot get it to work. The errors I am having are different so I create this new report.

      I've tested on both Windows and Android and neither work. I attach my Windows qtdiag result. Android device is Pixel Tablet (Android 14) and Pixel6 Pro emulator (Android 11).

      The streams I am trying to play are:
      1. Public server on Internet: rtsp://rtsp-test-server.viomic.com:554/stream
      2 My own video (bunny video here: https://sample-videos.com/video321/mp4/480/big_buck_bunny_480p_30mb.mp4) being streamed by VLC:

      vlc <video_file> --sout "#rtp{sdp=rtsp://:8554/}"
      

      So that one can access it by

      rtsp://<ip_address>:8554/
      

      First thing first, VLC player can play both properly on both Windows and Android. So I'd expect the stream sources are valid. But QML MediaPlayer cannot. The issue is a white screen and nothing is being played.

      On Windows, the log for online server is:

      QML debugging is enabled. Only use this in a safe environment.
      Available HW decoding frameworks:
           d3d11va
           dxva2
      Available HW encoding frameworks:
           d3d11va
           dxva2
      [rtsp @ 0000029D0EE1D340] UDP timeout, retrying with TCP
      [rtsp @ 0000029D0EE1D340] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
      Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
      Input #0, rtsp, from 'rtsp://rtsp-test-server.viomic.com:554/stream':
        Metadata:
          title           : No Name
        Duration: N/A, bitrate: N/A
        Stream #0:0: Video: h264, none, 90k tbr, 90k tbn
        Stream #0:1: Audio: aac, 44100 Hz, stereo, fltp
      qt.multimedia.ffmpeg.mediadataholder: AVStream duration -9223372036854775808 is invalid. Taking it from the metadata
      qt.multimedia.ffmpeg.mediadataholder: AVStream duration -9223372036854775808 is invalid. Taking it from the metadata
      

      and log for local VLC server is (no obvious error/warning although still does not work):

      QML debugging is enabled. Only use this in a safe environment.
      Available HW decoding frameworks:
           d3d11va
           dxva2
      Available HW encoding frameworks:
           d3d11va
           dxva2
      

      On Pixel Tablet, the logs for both are (the logs are the same probably because Windows laptop is as a foreign device as an online server):

      I mple.video_test: Late-enabling -Xcheck:jni
      I mple.video_test: Using CollectorTypeCMC GC.
      D CompatibilityChangeReporter: Compat change id reported: 171979766; UID 10117; state: ENABLED
      D CompatibilityChangeReporter: Compat change id reported: 242716250; UID 10117; state: ENABLED
      W ziparchive: Unable to open '/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/base.dm': No such file or directory
      W ziparchive: Unable to open '/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/base.dm': No such file or directory
      D nativeloader: Configuring clns-6 for other apk /data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/base.apk. target_sdk_version=34, uses_libraries=, library_path=/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/lib/arm64:/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/org.qtproject.example.video_test
      V GraphicsEnvironment: Currently set values for:
      V GraphicsEnvironment:   angle_gl_driver_selection_pkgs=[""]
      V GraphicsEnvironment:   angle_gl_driver_selection_values=[""]
      V GraphicsEnvironment: ANGLE GameManagerService for org.qtproject.example.video_test: false
      V GraphicsEnvironment: org.qtproject.example.video_test is not listed in per-application setting
      V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported.
      D vulkan  : searching for layers in '/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/lib/arm64'
      D vulkan  : searching for layers in '/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/base.apk!/lib/arm64-v8a'
      D CompatibilityChangeReporter: Compat change id reported: 247079863; UID 10117; state: ENABLED
      W ziparchive: Unable to open '/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/base.dm': No such file or directory
      W ziparchive: Unable to open '/data/app/~~lYWtJN7_Xa1J6KGRkk9rEw==/org.qtproject.example.video_test-fCE2kilYYnpDegLGXWvQZA==/base.dm': No such file or directory
      D QtLoader: Class org.qtproject.qt.android.multimedia.QtAudioDeviceManager does not implement setActivity method
      I QtCore  : Start
      I Qt      : qt started
      D CompatibilityChangeReporter: Compat change id reported: 210923482; UID 10117; state: ENABLED
      D CompatibilityChangeReporter: Compat change id reported: 237531167; UID 10117; state: DISABLED
      D libEGL  : loaded /vendor/lib64/egl/libGLES_mali.so
      W qt.multimedia.ffmpeg.libsymbolsresolver: : Couldn't load OpenSsl library
      

      On Pixel6 Pro emulator, the log for online server is:

      I mple.video_tes: Late-enabling -Xcheck:jni
      I mple.video_tes: Unquickening 12 vdex files!
      W mple.video_tes: Unexpected CPU variant for X86 using defaults: x86
      D NetworkSecurityConfig: No Network Security Config specified, using platform default
      D NetworkSecurityConfig: No Network Security Config specified, using platform default
      D libEGL  : loaded /vendor/lib/egl/libEGL_emulation.so
      D libEGL  : loaded /vendor/lib/egl/libGLESv1_CM_emulation.so
      D libEGL  : loaded /vendor/lib/egl/libGLESv2_emulation.so
      D QtLoader: Class org.qtproject.qt.android.multimedia.QtAudioDeviceManager does not implement setActivity method
      I QtCore  : Start
      I Qt      : qt started
      D HostConnection: HostConnection::get() New Host Connection established 0xf27f37e0, tid 31585
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      W OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
      D EGL_emulation: eglCreateContext: 0xf27f3d90: maj 2 min 0 rcv 2
      D EGL_emulation: eglMakeCurrent: 0xf27f3d90: ver 2 0 (tinfo 0xf2b37690) (first time)
      I Gralloc4: mapper 4.x is not supported
      D HostConnection: createUnique: call
      D HostConnection: HostConnection::get() New Host Connection established 0xf27f3cb0, tid 31585
      D goldfish-address-space: allocate: Ask for block of size 0x100
      D goldfish-address-space: allocate: ioctl allocate returned offset 0x3e1ffc000 size 0x2000
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      W qt.multimedia.ffmpeg.libsymbolsresolver: : Couldn't load OpenSsl library
      D HostConnection: HostConnection::get() New Host Connection established 0xb97c7c50, tid 31588
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      D EGL_emulation: eglCreateContext: 0xb97c87b0: maj 2 min 0 rcv 2
      D EGL_emulation: eglMakeCurrent: 0xb97c87b0: ver 2 0 (tinfo 0xf2b3ac30) (first time)
      D HostConnection: HostConnection::get() New Host Connection established 0xb97c8970, tid 31601
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      D EGL_emulation: eglCreateContext: 0xb97c8ac0: maj 2 min 0 rcv 2
      D EGL_emulation: eglMakeCurrent: 0xb97c8ac0: ver 2 0 (tinfo 0xc34aa190) (first time)
      W qt.multimedia.ffmpeg.mediadataholder: : AVStream duration -9223372036854775808 is invalid. Taking it from the metadata
      W qt.multimedia.ffmpeg.mediadataholder: : AVStream duration -9223372036854775808 is invalid. Taking it from the metadata
      I VideoCapabilities: Unsupported profile 4 for video/mp4v-es
      I OMXClient: IOmx service obtained
      D SurfaceUtils: connecting to surface 0xed091528, reason connectToSurface
      I MediaCodec: [OMX.android.goldfish.h264.decoder] setting surface generation to 32319489
      D SurfaceUtils: disconnecting from surface 0xed091528, reason connectToSurface(reconnect)
      D SurfaceUtils: connecting to surface 0xed091528, reason connectToSurface(reconnect)
      E ACodec  : [OMX.android.goldfish.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010
      E ACodec  : Wrong cropped rect (0, 0, 0, 0) vs. frame (0, 0)
      E ACodec  : [OMX.android.goldfish.h264.decoder] configureCodec returning error -22
      E ACodec  : signalError(omxError 0x80001001, internalError -22)
      E MediaCodec: Codec reported err 0xffffffea, actionCode 0, while in state 3
      D SurfaceUtils: disconnecting from surface 0xed091528, reason disconnectFromSurface
      E MediaCodec: configure failed with err 0xffffffea, resetting...
      I OMXClient: IOmx service obtained
      I BpBinder: onLastStrongRef automatically unlinking death recipients: android.media.IResourceManagerService
      

      and for VNC server is (quite the same thing, although it does not make it to "qt.multimedia.ffmpeg.mediadataholder:" step):

      I mple.video_tes: Late-enabling -Xcheck:jni
      I mple.video_tes: Unquickening 12 vdex files!
      W mple.video_tes: Unexpected CPU variant for X86 using defaults: x86
      D NetworkSecurityConfig: No Network Security Config specified, using platform default
      D NetworkSecurityConfig: No Network Security Config specified, using platform default
      D libEGL  : loaded /vendor/lib/egl/libEGL_emulation.so
      D libEGL  : loaded /vendor/lib/egl/libGLESv1_CM_emulation.so
      D libEGL  : loaded /vendor/lib/egl/libGLESv2_emulation.so
      D QtLoader: Class org.qtproject.qt.android.multimedia.QtAudioDeviceManager does not implement setActivity method
      I QtCore  : Start
      I Qt      : qt started
      D HostConnection: HostConnection::get() New Host Connection established 0xf27f3150, tid 31750
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      W OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
      D EGL_emulation: eglCreateContext: 0xf27f2c10: maj 2 min 0 rcv 2
      D EGL_emulation: eglMakeCurrent: 0xf27f2c10: ver 2 0 (tinfo 0xf2b37f70) (first time)
      I Gralloc4: mapper 4.x is not supported
      D HostConnection: createUnique: call
      D HostConnection: HostConnection::get() New Host Connection established 0xf27f2d60, tid 31750
      D goldfish-address-space: allocate: Ask for block of size 0x100
      D goldfish-address-space: allocate: ioctl allocate returned offset 0x3e1ffc000 size 0x2000
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      W qt.multimedia.ffmpeg.libsymbolsresolver: : Couldn't load OpenSsl library
      D HostConnection: HostConnection::get() New Host Connection established 0xb9907c50, tid 31753
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      D EGL_emulation: eglCreateContext: 0xb99087b0: maj 2 min 0 rcv 2
      D EGL_emulation: eglMakeCurrent: 0xb99087b0: ver 2 0 (tinfo 0xf2b3b3d0) (first time)
      D HostConnection: HostConnection::get() New Host Connection established 0xb9908970, tid 31764
      D HostConnection: HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_2
      D EGL_emulation: eglCreateContext: 0xb99094d0: maj 2 min 0 rcv 2
      D EGL_emulation: eglMakeCurrent: 0xb99094d0: ver 2 0 (tinfo 0xc35aa5f0) (first time)
      

      Attachments

        1. qtbug_115794.zip
          2 kB
        2. qtdiag.txt
          15 kB

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              padubsky Pavel Dubsky
              luqiaochen Luqiao Chen
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes