Embedded Closed Captions not shown in LE 10.0.3 on RPi3

  • Problem

    After upgrade from LE 10.0.2 to LE 10.0.3, embedded Closed Captions (subtitles) are no longer displayed on Raspberry Pi 3 model B. This occurred with an h264 stream using the video addon for Canadian Broadcasting Corporation (CBC) (geo restricted to Canada - configure with free user account from watch.cbc.ca).

    The closed captions return when I downgrade back to LE 10.0.2.


    Log Files


    Notes

    • In the above log files some buffering was experienced, but that did not impact the ability to view or not view closed captions.
    • The problem consistently occurs regardless of whether the CBC video addon is configured to playback using FFMPEG or InputStreamAdaptive.
    • Closed captions are properly displayed using same CBC video addon on 2017 NVidia Sheild.
    • External subtitle streams/files do work with both LE 10.0.2 and LE 10.0.3 as can be verified using the video addon for ConTV.


    Steps to Demonstrate Problem

    First enable embedded closed captions.

    • Navigate to Gear icon -> Player -> Language.
    • Navigate to Enable parsing for closed captions and press Enter to toggle to active.

    Next begin playback of an h264 video stream or file that contains embedded closed captions.

    For example: Shows/Animation/The Adventures of Napkin Man!/Season 3/Queen of the Fairies

    The default installation seems to enable closed captions. A person can check while the video is playing by opening the playback menu "key m" and ensure that closed captions are enabled using the subtitles icon.


    Background Details

    The following information was displayed on the screen when I pressed the o key.

    Video decoder: ff-h264_v4l2m2m-drm_prime (HW)

    Pixel format: drm_prime

    Deinterlace method: none

    Video stream: 1,280x720 px, 1.78 AR, 29.970 FPS

    Audo stream: FL, FR, ff-aac, 32 bit, 44,100 Hz

    System memory usage: 24%

    System CPU usage: #0: 10% #1: 2.1% #2: 24% #3 6.1%

  • Can you test with "Allow hardware acceleration with DRM PRIME" disabled?

    If that works, test with "Allow using DRM PRIME decoder".

    I know the streams may not play well with these options disabled, but it may narrow down where the problem lies if you confirm if closed captions start working.

    It would be helpful if you can find a file that has the issue that isn't geolocked.

  • Thank you popcornmix for the suggestions.


    > Can you test with "Allow hardware acceleration with DRM PRIME" disabled?

    Action:

    Using LE 10.0.3 I disabled the setting with Gear icon -> Player -> Videos and disabled - Allow hardware acceleration with DRM PRIME. Note that Allow using DRM PRIME decoder is still enabled.

    Result:

    The subtitles are not displayed.

    Action:

    Next I disabled Allow using DRM PRIME decoder.

    Result:

    The subtitles are not displayed.


    > It would be helpful if you can find a file that has the issue that isn't geolocked.

    I am trying to locate a such a file.

    In the meantime I was able to capture the .m3u8 file if that is of use.

    desktop_master.m3u8 file:

    #EXTM3U

    #EXT-X-VERSION:4

    #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="English",LANGUAGE="eng",DEFAULT=YES,AUTOSELECT=YES,URI="QualityLevels(192000)/Manifest(audio_eng_aacl,format=m3u8-aapl,filter=desktop)"

    #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="English (Descriptive)",LANGUAGE="eng",AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video",URI="QualityLevels(192000)/Manifest(audiodv_eng_aacl,format=m3u8-aapl,filter=desktop)"

    #EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="CC",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,INSTREAM-ID="CC1"

    #EXT-X-STREAM-INF:BANDWIDTH=2768070,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="audio",CLOSED-CAPTIONS="CC"

    QualityLevels(2500515)/Manifest(video,format=m3u8-aapl,filter=desktop)

    #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=2768070,RESOLUTION=1280x720,CODECS="avc1.4d401f",URI="QualityLevels(2500515)/Manifest(video,format=m3u8-aapl,filter=desktop,type=keyframes)"

    #EXT-X-STREAM-INF:BANDWIDTH=3688341,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="audio",CLOSED-CAPTIONS="CC"

    QualityLevels(3400976)/Manifest(video,format=m3u8-aapl,filter=desktop)

    #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=3688341,RESOLUTION=1280x720,CODECS="avc1.4d401f",URI="QualityLevels(3400976)/Manifest(video,format=m3u8-aapl,filter=desktop,type=keyframes)"

    #EXT-X-STREAM-INF:BANDWIDTH=2052054,RESOLUTION=960x540,CODECS="avc1.4d401f,mp4a.40.2",AUDIO="audio",CLOSED-CAPTIONS="CC"

    QualityLevels(1799912)/Manifest(video,format=m3u8-aapl,filter=desktop)

    #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=2052054,RESOLUTION=960x540,CODECS="avc1.4d401f",URI="QualityLevels(1799912)/Manifest(video,format=m3u8-aapl,filter=desktop,type=keyframes)"

    #EXT-X-STREAM-INF:BANDWIDTH=1234539,RESOLUTION=640x360,CODECS="avc1.42c01e,mp4a.40.2",AUDIO="audio",CLOSED-CAPTIONS="CC"

    QualityLevels(999996)/Manifest(video,format=m3u8-aapl,filter=desktop)

    #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1234539,RESOLUTION=640x360,CODECS="avc1.42c01e",URI="QualityLevels(999996)/Manifest(video,format=m3u8-aapl,filter=desktop,type=keyframes)"

    #EXT-X-STREAM-INF:BANDWIDTH=825700,RESOLUTION=640x360,CODECS="avc1.42c01e,mp4a.40.2",AUDIO="audio",CLOSED-CAPTIONS="CC"

    QualityLevels(599957)/Manifest(video,format=m3u8-aapl,filter=desktop)

    #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=825700,RESOLUTION=640x360,CODECS="avc1.42c01e",URI="QualityLevels(599957)/Manifest(video,format=m3u8-aapl,filter=desktop,type=keyframes)"

    #EXT-X-STREAM-INF:BANDWIDTH=621314,RESOLUTION=416x234,CODECS="avc1.42c00d,mp4a.40.2",AUDIO="audio",CLOSED-CAPTIONS="CC"

    QualityLevels(399971)/Manifest(video,format=m3u8-aapl,filter=desktop)

    #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=621314,RESOLUTION=416x234,CODECS="avc1.42c00d",URI="QualityLevels(399971)/Manifest(video,format=m3u8-aapl,filter=desktop,type=keyframes)"

    #EXT-X-STREAM-INF:BANDWIDTH=204384,CODECS="mp4a.40.2",AUDIO="audio",CLOSED-CAPTIONS="CC"

    QualityLevels(192000)/Manifest(audiodv_eng_aacl,format=m3u8-aapl,filter=desktop)

    I will continue to search for a non-geolocked example.

    Thanks again for your help with this issue.

  • I can play that stream (in UK). And it doesn't have close captions on LibreELEC on Pi.

    It does have closed captions on VLC.

    I installed kodi on Ubuntu 22.10. It describes itself as:

    Kodi from Debian (20.0-ALPHA2 Debian package version: 2:20.0~alpha2+dfsg1-1build1). Platform: Linux x86 64-bit

    and it behaves the same as kodi on pi. No subs or closed captions visible (although I can choose between two options).

    As this seems to be a general kodi issue, it's best to report it here.

    Make sure you follow the template, include a debug log, indictate which versions of kodi this worked on, and which it fails on

    Include the URL to reproduce the issue, and hopefully someone who knows this code can help.

  • Thank you for looking into this issue. I am glad that you were able to reproduce the problem. Further it is great that you were able to identify the commit that cause the problem.

    If a new issue needs to be created then let me know. Otherwise as per the previous post in this thread I will hold off as there may be no need.