Channels VIER and VIJF in Retrospect only give sound on RPi 3 / LibreELEC 7.95.3

Issue #822 closed
Dag Wieers
created an issue

When I start (any) stream, we only hear the sound of the stream.

The logs only show the following information:

19:43:55.816 T:1962536768  NOTICE: VideoPlayer: Opening: http://vod.streamcloud.be/vier_vod/mp4:_definst_/demol/2017/volledigeafleveringen/20170206_aflevering1.mp4/chunklist_w187488663_ao.m3u8
19:43:55.829 T:1962536768 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
19:43:55.842 T:1555039136  NOTICE: Creating InputStream
19:43:55.856 T:1555039136  NOTICE: Creating Demuxer
19:43:56.044 T:1555039136  NOTICE: Opening stream: 0 source: 256
19:43:56.058 T:1555039136  NOTICE: Creating audio thread
19:43:56.234 T:1555039136  NOTICE: OMXClock using audio as reference
19:43:56.335 T:1555039136 WARNING: CDVDMessageQueue(video)::Put MSGQ_NOT_INITIALIZED

Comments (16)

  1. Dag Wieers reporter

    I assume there is something wrong with LibreELEC's ffmpeg rather than Retrospect. Here is the information with debug logging on:

    19:50:22.518 T:1962536768  NOTICE: VideoPlayer: Opening: http://vod.streamcloud.be/vier_vod/mp4:_definst_/demol/2017/volledigeafleverngen/20170206_aflevering1.mp4/chunklist_w650361529_ao.m3u8
    19:50:22.532 T:1962536768 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
    19:50:22.547 T:1962536768   DEBUG: CMMALRenderer::CMMALRenderer
    19:50:22.561 T:1962536768   DEBUG: CMMALRenderer::UnInitMMAL
    19:50:22.576 T:1401942944   DEBUG: Thread MMALProcess start, auto delete: false
    19:50:22.590 T:1962536768   DEBUG: CMMALRenderer::PreInit
    19:50:22.604 T:1401942944   DEBUG: CMMALRenderer::Run - starting
    19:50:22.618 T:1240306592   DEBUG: Thread VideoPlayer start, auto delete: false
    19:50:22.633 T:1240306592  NOTICE: Creating InputStream
    19:50:22.647 T:1240306592  NOTICE: Creating Demuxer
    19:50:22.809 T:1240306592   DEBUG: Open - avformat_find_stream_info starting
    19:50:22.826 T:1240306592   DEBUG: Open - av_find_stream_info finished
    19:50:22.840 T:1240306592    INFO: ffmpeg[49ED93A0]: Input #0, hls,applehttp, http://vod.streamcloud.be/vier_vod/mp4:_definst_/demol/017/volledigeafleveringen/20170206_aflevering1.mp4/chunklist_w650361529_ao.m3u':
    19:50:22.854 T:1240306592    INFO: ffmpeg[49ED93A0]:   Duration: 01:11:39.52, start: 0.000000, bitrate: 0 kb/s
    19:50:22.871 T:1240306592    INFO: ffmpeg[49ED93A0]:   Program 0
    19:50:22.885 T:1240306592    INFO: ffmpeg[49ED93A0]:     Metadata:
    19:50:22.909 T:1240306592    INFO: ffmpeg[49ED93A0]:       variant_bitrate : 0
    19:50:22.921 T:1240306592    INFO: ffmpeg[49ED93A0]:     Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 115 kb/s
    19:50:22.935 T:1240306592   DEBUG: CDVDDemuxFFmpeg::AddStream ID: 0
    19:50:22.950 T:1240306592   DEBUG: SeekTime - unknown position after seek
    19:50:22.964 T:1240306592   DEBUG: COMXCoreComponent::Initialize OMX.broadcom.clock input port 80 output port 81 m_handle 0x52c04870
    19:50:22.979 T:1240306592   DEBUG: OMXClock::OMXStop
    19:50:22.994 T:1240306592   DEBUG: OMXClock::OMXSetSpeed(0.000) pause_resume:1
    19:50:23.006 T:1240306592  NOTICE: Opening stream: 0 source: 256
    19:50:23.021 T:1240306592  NOTICE: Creating audio thread
    19:50:23.037 T:1248695200   DEBUG: Thread OMXPlayerAudio start, auto delete: false
    19:50:23.049 T:1240306592   DEBUG: OnPlayBackStarted: play state was 1, starting 1
    19:50:23.062 T:1240306592   DEBUG: CVideoPlayer::SetCaching - caching state 2
    19:50:23.078 T:1962536768   DEBUG: PlayFile: OpenFile succeed, play state 2
    19:50:23.089 T:1240306592   DEBUG: CDVDClock::SetSpeedAdjust - adjusted:0.000000
    19:50:23.103 T:1248695200   DEBUG: COMXPlayerAudio - CDVDMsg::PLAYER_SETSPEED 0
    19:50:23.118 T:1962536768   DEBUG: OnPlayBackStarted: play state was 2, starting 0
    19:50:23.131 T:1555039136   DEBUG: Thread BackgroundLoader start, auto delete: false
    19:50:23.146 T:1962536768   DEBUG: ADDON: Dll Initializing - Waveform
    19:50:23.162 T:1962536768   DEBUG: SECTION:LoadDLL(/storage/.kodi/addons/visualization.waveform/visualization.waveform.so.1.1.0)
    19:50:23.174 T:1555039136   DEBUG: Thread BackgroundLoader 1555039136 terminating
    19:50:23.188 T:1248695200   DEBUG: COMXAudioCodecOMX::Decode(0x57413f70,17) format=8(8) chan=2 samples=1024 size=8192 data=0x56a92eb00x56aee2c0,(nil),(nil),(nil),(nil),(nil),(nil)
    19:50:23.204 T:1962536768   DEBUG: Loading: /storage/.kodi/addons/visualization.waveform/visualization.waveform.so.1.1.0
    19:50:23.216 T:1248695200   DEBUG: COMXAudioCodecOMX::GetData size=8192/8192 line=4096/4096 buf=0x56bdc198, desired=65536
    19:50:23.231 T:1240306592   DEBUG: CVideoPlayer::OMXDoProcessing Resume 0.00,18442241441792.00 (A:10 V:01) EOF:0 FULL:1 T:0.20
    19:50:23.325 T:1248695200   DEBUG: COMXAudio::SetCodingType OMX_AUDIO_CodingPCM
    19:50:23.416 T:1962536768   DEBUG: Calling TransferSettings for: Waveform
    19:50:23.506 T:1240306592   DEBUG: OMXClock::OMXSetSpeed(1.000) pause_resume:1
    19:50:23.598 T:1248695200   DEBUG: COMXAudio:SetAudioProps hdmi_stream_channels 0 hdmi_channel_map 00000008
    19:50:23.688 T:1962536768   DEBUG: Visualisation::Start()
    19:50:23.778 T:1248695200    INFO: COMXAudio::Initialize remap:(nil) chan:2->2 norm:1 upmix:1 3:3
    
  2. Bas Rieter repo owner

    Indeed, Retrospect passes the correct stream, but LibreElec does not see the video. Not really something I can fix from my end. Perhaps post on the LibreElec forum?

  3. Dag Wieers reporter

    I wanted to verify first that this is a problem on my end (and i.e. it works for someone else). I will contact the LibreELEC team. Thanks for your prompt feedback !

  4. Dag Wieers reporter

    Bas,

    Looking closer into this, the .m3u8 file that Retrospect downloads only consists of .aac files, not any video-files as one would expect:

    [dag@moria ~]$ less chunklist_w1393100106_ao.m3u8
     #EXTM3U
     #EXT-X-VERSION:3
     #EXT-X-TARGETDURATION:11
     #EXT-X-MEDIA-SEQUENCE:0
     #EXTINF:10.56,
     media_w1393100106_ao_0.aac
     #EXTINF:10.8,
     media_w1393100106_ao_1.aac
     #EXTINF:10.56,
     media_w1393100106_ao_2.aac
     #EXTINF:9.92,
     media_w1393100106_ao_3.aac
     #EXTINF:10.24,
     media_w1393100106_ao_4.aac
     #EXTINF:9.6,
     media_w1393100106_ao_5.aac
     #EXTINF:9.92,
     media_w1393100106_ao_6.aac
     #EXTINF:10.56,
     media_w1393100106_ao_7.aac
     #EXTINF:9.76,
     media_w1393100106_ao_8.aac
     #EXTINF:10.04,
     media_w1393100106_ao_9.aac
     #EXTINF:10.68,
     media_w1393100106_ao_10.aac
     #EXTINF:10.36,
     media_w1393100106_ao_11.aac
     #EXTINF:10.2,
    ...
    #EXTINF:10.28,
    media_w1393100106_ao_419.aac
    #EXTINF:9.88,
    media_w1393100106_ao_420.aac
    #EXTINF:9.76,
    media_w1393100106_ao_421.aac
    #EXTINF:9.64,
    media_w1393100106_ao_422.aac
    #EXTINF:6.48,
    media_w1393100106_ao_423.aac
    #EXT-X-ENDLIST
    
  5. Dag Wieers reporter

    If I instead download to same URL, but replace "ao" with "vo" I do get the video files !

    #EXTM3U
     #EXT-X-VERSION:3
     #EXT-X-TARGETDURATION:11
     #EXT-X-MEDIA-SEQUENCE:0
     #EXTINF:10.56,
     media_w1393100106_0.ts
     #EXTINF:10.8,
     media_w1393100106_1.ts
     #EXTINF:10.56,
     media_w1393100106_2.ts
     #EXTINF:9.92,
     media_w1393100106_3.ts
     #EXTINF:10.24,
     media_w1393100106_4.ts
     #EXTINF:9.6,
     media_w1393100106_5.ts
     #EXTINF:9.92,
     media_w1393100106_6.ts
     #EXTINF:10.56,
     media_w1393100106_7.ts
     #EXTINF:9.76,
     media_w1393100106_8.ts
     #EXTINF:10.04,
     media_w1393100106_9.ts
     #EXTINF:10.68,
    ...
     media_w1393100106_420.ts
     #EXTINF:9.76,
     media_w1393100106_421.ts
     #EXTINF:9.64,
     media_w1393100106_422.ts
     #EXTINF:6.48,
     media_w1393100106_423.ts
     #EXT-X-ENDLIST
    

    So I think Retrospect is doing something wrong here ?

  6. Dag Wieers reporter

    So the playlist we download consists of this content:

     #EXTM3U
     #EXT-X-VERSION:3
     #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1801002,CODECS="avc1.66.30, mp4a.40.2",RESOLUTIO N=720x404
     chunklist_w94804529.m3u8
     #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,CODECS="mp4a.40.2"
     chunklist_w94804529_ao.m3u8
    

    And apparently we are somehow using the second entry, which is audio-only whereas the first entry is both video and audio.

  7. Dag Wieers reporter

    And then I found it. The default maximum stream bitrate is set (by default ?) to 1500 and if you look at the above content you can tell it will select the audio-only stream. And indeed, after I changed the Maximum stream bitrate to 2000 everything worked as expected.

    So I think we should probably increase the default value from 1500 to 2000 in order to make VIER and VIJF work out-of-the-box. (Or change the setting for VIER and VIJF specifically to something higher).

  8. Bas Rieter repo owner

    Ok, that is NP at all. You only need to configure Retrospect to allow a higher bitrate. That is done via the Add-on settings and you don't (and should never) need any XML editing at all (I saw your fork). You go to the Retrospect add-on settings via the Kodi GUI and bump the maximum bitrate there. Your change will be reverted the next time an update is pushed, as the settings.xml is auto generated.

    All settings can be viewed here: http://www.rieter.net/content/2014/11/01/how-to-configure-xot/. What I will do is bump the default bitrate to be higher in general. 1500 kbps is really low nowadays.

    EDIT: I already bumped it to 4000 a while ago. So just configure Retrospect and you should be fine without your XML changes.

  9. Dag Wieers reporter

    Ok, I wasn't sure you wanted to increase the bitrate for everything at once, or preferred a more granular approach.

    But will this only work for new users, or does this automatically work for existing users as well ?

    Thanks again for your help !

  10. Bas Rieter repo owner

    You can select a higher bitrate for the Vier/Vijf only in their respective channel settings.

    And no, existing users did not get it bumped. I will see if I can filter the audio only streams just to be sure.

  11. Bas Rieter repo owner

    @Dag Wieers Could you please post a full Retrospect DEBUG log so I can verify some stuff? Because I do seem to filter out low bitrate streams:

    if b < 200:
        Logger.Info("Skipping stream of quality '%s' kbps", b)
        continue
    
  12. Log in to comment