[mythtv-users] Closed Captions are not displayed on H264 recordings within Mythtv (fixes/28)

M D weworama at gmail.com
Thu Jul 6 16:37:27 UTC 2017


I am having difficulty getting closed captions to display on H264
recordings within Mythtv (fixes/28).  VLC does display these when playing
Myth's recordings.

The problem occurs on two separate combined Back/Front Ends
(Mythbuntu/Ubuntu distro versions) and one remote FE
(debian/deb-multimedia).

Mythbackend-1
MythTV Version : v0.28.1-33-gec95cbd
MythTV Branch : fixes/0.28
Network Protocol : 88
Library API : 0.28.20161120-1
QT Version : 5.5.1
Options compiled in:
 linux profile use_hidesyms using_alsa using_oss using_pulse
using_pulseoutput using_backend using_bindings_perl using_bindings_python
using_bindings_php using_crystalhd using_dvb using_firewire using_frontend
using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv
using_joystick_menu using_libcec using_libcrypto using_libdns_sd
using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl
using_opengl_video using_opengl_themepainter using_qtwebkit using_qtscript
using_qtdbus using_sdl using_taglib using_v4l2 using_x11 using_xrandr
using_xv using_profiletype using_bindings_perl using_bindings_python
using_bindings_php using_freetype2 using_mythtranscode using_opengl
using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libass
using_libxml2

Mythbackend-2 - not as up-to-date as the others - it does record H264 CC
(V4L modules locally compiled against the stock kernel)
MythTV Version : v0.28-104-g3930f5d
MythTV Branch :
fixes/0.28

Network Protocol :
88

Library API :
0.28.20161120-1

QT Version :
5.5.1

Options compiled
in:

 linux profile use_hidesyms using_alsa using_oss using_pulse
using_pulseoutput using_backend using_bindings_perl using_bindings_python
using_bindings_php using_crystalhd using_dvb using_firewire using_frontend
using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv
using_joystick_menu using_libcec using_libcrypto using_libdns_sd
using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl
using_opengl_video using_opengl_themepainter using_qtwebkit using_qtscript
using_qtdbus using_sdl using_taglib using_v4l2 using_x11 using_xrandr
using_xv using_profiletype using_bindings_perl using_bindings_python
using_bindings_php using_freetype2 using_mythtranscode using_opengl
using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libass
using_libxml2

remote frontend
MythTV Version : 03f4403
MythTV Branch : fixes/0.28
Network Protocol : 88
Library API : 0.28.20161120-1
QT Version : 5.7.1
Options compiled in:
 linux profile use_hidesyms using_alsa using_oss using_pulse
using_pulseoutput using_backend using_bindings_perl using_bindings_python
using_bindings_php using_crystalhd using_dvb using_firewire using_frontend
using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv
using_joystick_menu using_libcec using_libcrypto using_libdns_sd
using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl
using_opengl_video using_opengl_themepainter using_qtwebkit using_qtscript
using_qtdbus using_taglib using_v4l2 using_x11 using_xrandr using_xv
using_profiletype using_bindings_perl using_bindings_python
using_bindings_php using_freetype2 using_mythtranscode using_opengl
using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libass
using_libxml2


My configuration:

    I do not see anything in the current backend configuratrion/setup
options other than VBI format - that is set to NTSC Closed Caption.

    The subtitle codec in the FE setup -> video ->playbackOSD -> subtitle
codec is set to UTF8 by default.  I do not see another obvious option
relating to CEA-608/708 but the remote FE does report those are being used
on an ASTC recording and the H264 codec was opened with no errors reported
at the "general" level on the remote FE.

https://code.mythtv.org/trac/ticket/11932 and
https://code.mythtv.org/trac/ticket/12893  suggest  H264 should work,
but,  I also see
https://code.mythtv.org/trac/ticket/13016  -  We do not have DVB-C, but we
do notice many programs with a lot missing in the ASTC CC.  Our H264
problem affects FTA-DVB-S2 recordings - nothing is displayed.


Obvious errors found in the logs

I am ignoring these:
- lirc errors -  we do not use a IR remote
- some failed CRC checks  (on some dialog in some programs) which I have
always assumed was some static/interference in the OTA signal causing the
CC content to be scrambled/missing - the video is generally good quality in
these recordings.  I will keep a closer watch on these now though.
-some alsa errors which seem to come and go (over a number of months).  The
sound does work.

mythfrontend -v vbi does not report any errors other than 4 relating to
alsa:
    E  ALSA: snd_pcm_info_get_card: Operation not permitted
    ALSA lib control.c:1373:(snd_ctl_open_noupdate) Invalid CTL /dev/mixer
    E  ALSA: failed to register mixer device /dev/mixer: No such file or
directory
    E  ALSA: Unable to open audio mixer. Volume control disabled


The errors below are the ones I have tried to explore as they seem to be
possibly related to the CC issue:

-Along with the others the remote front end seems to be having difficulties
with loading fonts listed in
/usr/share/mythtv/themes/default/osd_subtitle.xml    It nags, but does
display ASTC closed captions. For example:

2017-07-05 10:35:37.416642 I  ###    7163393 14 0 0  0 1   6 - ''
2017-07-05 10:35:37.478947 I  Adding cc708 chunk: win 0 row 0:
fg=#ffffff.255 bg=#000000.255 edge=#000000.0 off=1 pensize=1 it=0 ul=0 bf=0
font=3  text='  Previously on "Blindspot"...  '
2017-07-05 10:35:37.484938 I  ###    7163359 14 0 0  0 1  65 - '
[7020](Patterson)
  [7020]Previously on "Blindspot"...'
2017-07-05 10:35:37.494626 E  MythFontProperties: Failed to load 'Droid
Sans', got 'DejaVu Sans' instead
                        Location:
/usr/share/mythtv/themes/default/osd_subtitle.xml @ 42
                        Name: 'text'    Type: 'fontdef'
                etc. 8x with the different fonts.

In part, this occurs due to broken links in the pattern:

 /usr/share/mythtv/themes/MythCenter-wide/fonts$ ls -la
drwxr-xr-x 2 root root 4096 Jun 14 10:29 .
drwxr-xr-x 9 root root 4096 Jun 14 10:29 ..
lrwxrwxrwx 1 root root   51 May 27 04:26 DroidSans-Bold.ttf ->
../../../../fonts/truetype/droid/DroidSans-Bold.ttf
lrwxrwxrwx 1 root root   46 May 27 04:26 DroidSans.ttf ->
../../../../fonts/truetype/droid/DroidSans.ttf

as the targets are not in that directory

/usr/share/mythtv/themes/MythCenter-wide/fonts$ ls -la
../../../../fonts/truetype/droid/
total 3948
drwxr-xr-x  2 root root    4096 Mar 11 09:26 .
drwxr-xr-x 54 root root    4096 Dec  7  2016 ..
-rw-r--r--  1 root root 4033420 Feb 13  2016 DroidSansFallbackFull.ttf

I appear to have fixed one backend (#1) by changing the 4 Droid fonts
(listed in the themes directory) to that one font file
  but ...
   on the remote front end (with only 2 Droid fonts in that theme directory
) there seems to be a bigger/different/additional problem as just fixing
the links did not stop the nagging for even the two links that were fixed.
I ve glanced at the rest of the xml files there, but ...


mythfrontend -v all  generates a lot of output. I have pasted one section
of the output below that seems appropriate and appears to show what is
happening with a H264 file.

I am not sure where to go next.

Is the H264 issue a bug or am I missing a setting that creates this
behavior?

While I could update Myth#2, I don't think that is the problem - vlc does
display the subtitles it records while myth on nearly up-to-date machines
does not.

Thanks for any advice.

Wayne



Output from mythfrontend -v all  - after starting a recording with H264 on
the remote FE.

2017-07-06 07:37:24.300030 I  Player(0): ClearAfterSeek(0)
2017-07-06 07:37:24.300046 I  Player(0): A/V sync reset
2017-07-06 07:37:24.300056 I  Player(0): Waiting for video buffers...
2017-07-06 07:37:24.307976 I  MythSocket(55db4672c8c0:47): read  <- 47
6       524288
2017-07-06 07:37:24.308028 E  [h264 @ 0x7f5f68d4d740] decode_slice_header
error
2017-07-06 07:37:24.308962 E  [h264 @ 0x7f5f68d4d740] reference picture
missing during reorder
2017-07-06 07:37:24.308973 E  [h264 @ 0x7f5f68d4d740] Missing reference
picture, default is 2147483647
2017-07-06 07:37:24.323576 I  RingBuf(myth://Videos@rock/testsubtitle.ts):
safe_read(... at 524288, 524288) -> 524288, took 46 ms (91.1805Mbps) avg 186 ms
2017-07-06 07:37:24.328726 I  MythSocket(55db4672c8c0:47): write -> 47
50      QUERY_FILETRANSFER 84[]:[]REQUEST_BLOCK[]:[]524288
2017-07-06 07:37:24.337703 E  [h264 @ 0x7f5f68d4d740] mmco: unref short
failure
2017-07-06 07:37:24.359051 I  MythSocket(55db4672c8c0:47): read  <- 47
6       524288
2017-07-06 07:37:24.375185 I  RingBuf(myth://Videos@rock/testsubtitle.ts):
safe_read(... at 1048576, 524288) -> 524288, took 46 ms (91.1805Mbps) avg 172
ms
2017-07-06 07:37:24.378759 E  [h264 @ 0x7f5f68d4d740] reference picture
missing during reorder
2017-07-06 07:37:24.378766 E  [h264 @ 0x7f5f68d4d740] reference picture
missing during reorder
2017-07-06 07:37:24.378773 E  [h264 @ 0x7f5f68d4d740] Missing reference
picture, default is 65674
2017-07-06 07:37:24.378777 E  [h264 @ 0x7f5f68d4d740] Missing reference
picture, default is 65674
2017-07-06 07:37:24.380319 I  MythSocket(55db4672c8c0:47): write -> 47
50      QUERY_FILETRANSFER 84[]:[]REQUEST_BLOCK[]:[]524288
2017-07-06 07:37:24.394230 E  [h264 @ 0x7f5f68d4d740] mmco: unref short
failure
2017-07-06 07:37:24.394239 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394249 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394256 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394263 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394269 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394276 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394283 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394289 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394296 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394302 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394308 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394315 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394321 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394327 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394333 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.394340 I  WriteAudio: Preparing 3072 bytes (384 frames)
2017-07-06 07:37:24.404945 N  Player(0): Waited 104ms for video buffers
AAAAAAALAAALAALLLAAAAAAAAAAAAAAP
2017-07-06 07:37:24.410617 I  MythSocket(55db4672c8c0:47): read  <- 47
6       524288
2017-07-06 07:37:24.415017 E  [h264 @ 0x7f5f68d4d740] mmco: unref short
failure
2017-07-06 07:37:24.426816 I  RingBuf(myth://Videos@rock/testsubtitle.ts):
safe_read(... at 1572864, 524288) -> 524288, took 46 ms (91.1805Mbps) avg 159
ms
2017-07-06 07:37:24.431913 I  RingBuf(myth://Videos@rock/testsubtitle.ts):
Avg read interval was 148 msec. 512K -> 512K block size
2017-07-06 07:37:24.431976 I  MythSocket(55db4672c8c0:47): write -> 47
50      QUERY_FILETRANSFER 84[]:[]REQUEST_BLOCK[]:[]524288
2017-07-06 07:37:24.447917 E  [h264 @ 0x7f5f68d4d740] reference picture
missing during reorder
2017-07-06 07:37:24.447926 E  [h264 @ 0x7f5f68d4d740] Missing reference
picture, default is 65682
2017-07-06 07:37:24.459295 E  [h264 @ 0x7f5f68d4d740] mmco: unref short
failure
2017-07-06 07:37:24.462461 I  MythSocket(55db4672c8c0:47): read  <- 47
6       524288
2017-07-06 07:37:24.478356 I  RingBuf(myth://Videos@rock/testsubtitle.ts):
safe_read(... at 2097152, 524288) -> 524288, took 46 ms (91.1805Mbps) avg 225
ms
2017-07-06 07:37:24.483487 I  MythSocket(55db4672c8c0:47): write -> 47
50      QUERY_FILETRANSFER 84[]:[]REQUEST_BLOCK[]:[]524288
2017-07-06 07:37:24.505419 N  Player(0): Waited 205ms for video buffers
AAAAAAAAAAALAAAAALALALAAAAAALAAP
2017-07-06 07:37:24.508873 I  AFD: positionMap[ 1923 ] == 107566268.
2017-07-06 07:37:24.513677 I  MythSocket(55db4672c8c0:47): read  <- 47
6       524288
2017-07-06 07:37:24.529940 I  RingBuf(myth://Videos@rock/testsubtitle.ts):
safe_read(... at 2621440, 524288) -> 524288, took 46 ms (91.1805Mbps) avg 207
ms
2017-07-06 07:37:24.535068 I  MythSocket(55db4672c8c0:47): write -> 47
50      QUERY_FILETRANSFER 84[]:[]REQUEST_BLOCK[]:[]524288
2017-07-06 07:37:24.565385 I  MythSocket(55db4672c8c0:47): read  <- 47
6       524288
2017-07-06 07:37:24.581487 I  RingBuf(myth://Videos@rock/testsubtitle.ts):
safe_read(... at 3145728, 524288) -> 524288, took 46 ms (91.1805Mbps) avg 191
ms
2017-07-06 07:37:24.586617 I  MythSocket(55db4672c8c0:47): write -> 47
50      QUERY_FILETRANSFER 84[]:[]REQUEST_BLOCK[]:[]524288
2017-07-06 07:37:24.601772 I  AFD: video timecode 3143583453 34928705
34928705 0
2017-07-06 07:37:24.603000 I  AOBase: AddData frames=1536, bytes=12288,
used=1, free=10239935, timecode=34928728 needsupmix=0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20170706/9678716e/attachment.html>


More information about the mythtv-users mailing list