Bug 23494 - Current versions of vlc tainted do not support subtitles
Summary: Current versions of vlc tainted do not support subtitles
Status: RESOLVED WORKSFORME
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 6
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords: UPSTREAM
Depends on:
Blocks:
 
Reported: 2018-08-28 19:07 CEST by Len Lawrence
Modified: 2019-11-28 19:53 CET (History)
2 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments

Description Len Lawrence 2018-08-28 19:07:07 CEST
Description of problem:
Recent versions of vlc tainted no longer deal with subtitle tracks.
In vlc you select subtitles from the drop-down menu and then select the track if it is offered.
This holds good for mga6 and Cauldron.

mga5.1: vlc-2.2.8-1.0.mga5.tainted     Supports subtitles
mga6  : vlc-3.0.2-0.1.mga6.tainted     Track available, no subtitles     
mga7  : vlc-3.0.3-2.mga7.tainted       Track available, no subtitles     

On the other hand, if a track is available, mplayer shows subtitles without being asked which indicates that the tracks are valid.  


Version-Release number of selected component (if applicable):
mga6  : vlc-3.0.2-0.1.mga6.tainted
mga7  : vlc-3.0.3-2.mga7.tainted

How reproducible:
Always

Steps to Reproduce:
1. Select a video with either an embedded subtitle track or a separate .srt file
2. Play it using vlc tainted
3. Use the menu to select subtitles, then the appropriate track
Comment 1 katnatek 2018-08-28 19:56:04 CEST
install the package vlc-plugin-libass
Comment 2 Len Lawrence 2018-08-29 01:52:03 CEST
Did that.  That plugin was not needed before when the player worked.

It still does not work.  I tried adding '--sub-autodetect-file ' to the command-line without any effect.  I suspect that in that case it would be looking for a separate subtitle file rather than an embedded track.

The tracks were embedded using ffmpeg and that has always worked.
Ruby snippet:
video = filename + ".mp4"
system "cp #{video} #{video}.bak"
subtitle = filename + ".srt"
command = "ffmpeg -n -i #{video} -f srt -i #{subtitle} -c:s mov_text -metadata:s:s:0"
command += " language=eng -c:v copy -c:a copy #{filename}_st.mp4"
system command

I delete the SRT files so I cannot test the separate file aspect.
Comment 3 katnatek 2018-08-29 05:12:36 CEST
i think you need vlc-plugin-lua
but just in case i have this
rpm -qa|grep vlc
vlc-plugin-flac-3.0.2-0.1.mga6.tainted
libvlc5-3.0.2-0.1.mga6.tainted
vlc-plugin-lua-3.0.2-0.1.mga6.tainted
vlc-plugin-common-3.0.2-0.1.mga6.tainted
libvlccore8-3.0.0-0.git.19.mga6.tainted
vlc-plugin-theora-3.0.2-0.1.mga6.tainted
libvlccore9-3.0.2-0.1.mga6.tainted
phonon-vlc-0.10.0-1.mga6
npapi-vlc-2.2.0-1.mga6
vlc-3.0.2-0.1.mga6.tainted
vlc-plugin-vdpau-3.0.2-0.1.mga6.tainted
vlc-plugin-libass-3.0.2-0.1.mga6.tainted
vlc-plugin-pulse-3.0.2-0.1.mga6.tainted
phonon4qt5-vlc-0.10.0-1.mga6
vlc-plugin-gnutls-3.0.2-0.1.mga6.tainted
Comment 4 Len Lawrence 2018-08-29 09:09:15 CEST
Compared my package list with yours and added missing items incrementally to see if subtitles appeared.

Added phonon4qt5-vlc-0.10.0-1.mga6               no change
Added lib64vlccore8-3.0.0-0.git.19.mga6.tainted  no change
Added phonon and phonon-vlc                      no change
Added vlc-plugin-gnutls-3.0.2-0.1.mga6.tainted   no change

Comparison afterwards:
 
katnatek                          tarazed

libvlc5-3.0.2-0.1                 lib64vlc5-3.0.2-0.1
libvlccore8-3.0.0-0.git.19        lib64vlccore8-3.0.0-0.git.19
libvlccore9-3.0.2-0.1             lib64vlccore9-3.0.2-0.1
npapi-vlc-2.2.0-1.mga6            npapi-vlc-2.2.0-1.mga6
phonon4qt5-vlc-0.10.0-1           phonon4qt5-vlc-0.10.0-1
phonon-vlc-0.10.0-1               phonon-vlc-0.10.0-1
                                  svlc-3.0.2-0.1
vlc-3.0.2-0.1                     vlc-3.0.2-0.1
vlc-plugin-common-3.0.2-0.1       vlc-plugin-common-3.0.2-0.1
vlc-plugin-flac-3.0.2-0.1         vlc-plugin-flac-3.0.2-0.1
vlc-plugin-gnutls-3.0.2-0.1       vlc-plugin-gnutls-3.0.2-0.1
vlc-plugin-libass-3.0.2-0.1       vlc-plugin-libass-3.0.2-0.1
vlc-plugin-lua-3.0.2-0.1          vlc-plugin-lua-3.0.2-0.1
vlc-plugin-pulse-3.0.2-0.1        vlc-plugin-pulse-3.0.2-0.1
                                  vlc-plugin-speex-3.0.2-0.1
vlc-plugin-theora-3.0.2-0.1       vlc-plugin-theora-3.0.2-0.1    
vlc-plugin-vdpau-3.0.2-0.1        vlc-plugin-vdpau-3.0.2-0.1

So our setups are virtually the same now but subtitles still do not appear.
Comment 5 Len Lawrence 2018-08-29 16:21:59 CEST
Further to this, looking at the codec page while the video is playing shows that the codec for the subtitle track is tx3g.  Means little to me.
Comment 6 Len Lawrence 2018-08-29 16:43:02 CEST
There is certainly a lot of argument about timed text format on the web and about it no longer being supported by vlc.  tx3g crops up a lot and there is discussion about character encodings and libass.  My reading of these posts persuades me that there is probably little we can do at Mageia to rectify the situation.  It is really in the hands of the vlc developers.  

@katnatek: You have not said whether embedded subtitles work for you in vlc.  If so, then there must be a solution.  If not then we shall have to close this investigation pending further developments upstream.
Comment 7 katnatek 2018-08-29 17:22:59 CEST
(In reply to Len Lawrence from comment #6)
I test: 
   mkv's with selectable subtitles
   avi and mp4 with external subtitle files
   dvd's with subtitles

All that works for me in vlc

For embedded you mean "permanent"?
I don't have files with that type o subtitles
Comment 8 Len Lawrence 2018-08-29 18:24:50 CEST
(In reply to katnatek comment #7)

Yes, embedded = permanent = single file.

I have tried vlc with a separate SRT file and even after selection the subtitles fail to appear.  With mplayer they are shown automatically, either from separate .srt file or embedded in the .mp4 or .mkv file.

Tried mkvmerge to combine the video and subtitle tracks but that does not help.

These latest tests were mostly performed on mga6 with vlc3.0.

However, vlc does show subtitles, on demand, for commercial DVDs.  The codec is spu.  It is a mystery why your mp4's and mkv's work in vlc and mine do not.  We have the same plugins, the same versions...  Do you see any mention of tx3g on the codec page?  My suspicion is that we have different encoders for the text.  Here, for separate .srt files the codec seems to be subt.
Comment 9 katnatek 2018-08-30 00:04:17 CEST
mkv selectable subtitles -> SubStation Alpha (ssa)
mp4 external subtitle -> Text subtitles with tags (subt)
avi with subtitles not selectable/not activable nothing

My best guess based on previous issues 
is your file claim to be srt but is not or not standard
Convert with aegisub or other subtitle tool
Comment 10 katnatek 2018-08-30 00:06:48 CEST
Also you can try remove the .config/vlc and start vlc again
Comment 11 Len Lawrence 2018-08-30 11:18:55 CEST
Managed to crash aegisub by opening an SRT track then for the video selecting track 0, so you may be on to something.  These were separate .srt and .mp4 files.
$ aegisub
Assertion 'c->callback' failed at pulsecore/socket-client.c:126, function do_call(). Aborting.
Aborted (core dumped)

Running vlc in its raw state, without the configuration file, did not help with subtitles.  .config/vlc was recreated, as expected.  Running these tests with the separate subtitle file.
mp4 external subtitle -> Text subtitles with tags (subt)

Errors appear in the terminal, a constant stream of:

[00007f08f4032ce0] main blend error: blending YUVA to VDV0 failed
[00007f08f4032ce0] blend blend error: no matching alpha blending routine (chroma: YUVA -> VDV0)

Note that these errors have always accompanied vlc, as far back as I can remember.  I chose to ignore them.

Subtitle files open in aegisub and the content looks OK, character set UTF-8.
Tried to open video and was forced to choose between two (?) video tracks of types h264 and mjpeg.  The mjpeg track was empty apparently and choosing h264 caused the crash observed before.  What I had hoped to do was combine the mp4 file with the srt using "soft-subbing".  Looks like a dead end.
Comment 12 Len Lawrence 2018-08-30 11:58:03 CEST
Starting to wonder if this might have something to do with the nvidia graphics.
On a netbook with Intel graphics vlc 3.02 would not even start - it failed to open the Intel graphics driver and froze the whole machine.  And again, mplayer has no trouble at all.
Comment 13 Len Lawrence 2018-08-30 12:34:34 CEST
Googled for the YUV error and came across a couple of suggestions for running vlc.

Tried this:
$ vlc --avcodec-hw none APlaceToCallHome_5_1.mp4

Not only did the YUVA errors disappear but subtitles came up automatically.
So there is a workaround for this problem.

Furthermore, the same modification to the vlc command enabled it to start on my netbook and play videos.

@ katnatek:
This bug can be closed as far as I am concerned but I leave it up to you whether it should be SOLVED or WONTFIX.  It is not solved, in the sense that this is new behaviour and an explanation is not obvious.  If you had a mind to do further research to feed back upstream then I would be happy to help.

Thanks for your help in this instance.
Comment 14 Len Lawrence 2018-08-30 15:56:30 CEST
Re comment #13.
Discussion on Ubuntu forums tends towards the opinion that the fault is in the video driver(s), so VLC cannot fix it.  In which case SOLVED should be OK.
Comment 15 katnatek 2018-08-30 19:54:36 CEST
(In reply to Len Lawrence from comment #14)
For your aegisub issue:
did you have lib(64)ass and tainted ffmpeg?

For the Intel Graphics machine maybe you like to see bug#16986

I think worksforme is the status for this but need other title
Some that reflects the relationship software/hardware of this particular issue
Comment 16 Marja Van Waes 2018-08-30 20:09:52 CEST
(In reply to Len Lawrence from comment #14)
> Re comment #13.
> Discussion on Ubuntu forums tends towards the opinion that the fault is in
> the video driver(s), so VLC cannot fix it.  In which case SOLVED should be
> OK.

(In reply to katnatek from comment #15)
> (In reply to Len Lawrence from comment #14)
> For your aegisub issue:
> did you have lib(64)ass and tainted ffmpeg?
> 
> For the Intel Graphics machine maybe you like to see bug#16986
> 
> I think worksforme is the status for this but need other title
> Some that reflects the relationship software/hardware of this particular
> issue

Assigning to the registered VLC maintainer for his opinion and decision.

CC: (none) => marja11
Assignee: bugsquad => shlomif

Comment 17 Len Lawrence 2018-08-30 20:38:51 CEST
@ katnatek: comment #15
Yes, lib64ass9-0.13.6-1.mga6 and ffmpeg-3.3.8-1.mga6.tainted.

Thanks for the Intel graphics link.
Comment 18 Lewis Smith 2019-11-28 17:13:28 CET
Please can you say whether this problem still exists for Mageia 7?
Even if it does, the latest views tended towards closing it anyway. Please do if you agree.

CC: (none) => lewyssmith
Assignee: shlomif => bugsquad

Comment 19 Len Lawrence 2019-11-28 17:22:32 CET
Well, I don't know what others find but I have to invoke it this way to get subtitles:

$ vlc --avcodec-hw none [whatever]

In that sense it is solved, so if Shlomi agrees, I think it should be closed.
Comment 20 Len Lawrence 2019-11-28 17:24:10 CET
And this is the lineup:

$ rpm -qa | grep vlc
vlc-plugin-pulse-3.0.8-1.mga7.tainted
vlc-plugin-speex-3.0.8-1.mga7.tainted
svlc-3.0.8-1.mga7.tainted
vlc-3.0.8-1.mga7.tainted
vlc-plugin-samba-3.0.8-1.mga7.tainted
lib64vlccore9-3.0.8-1.mga7.tainted
vlc-plugin-lua-3.0.8-1.mga7.tainted
phonon4qt5-vlc-0.10.2-2.mga7
vlc-plugin-common-3.0.8-1.mga7.tainted
lib64vlc5-3.0.8-1.mga7.tainted
vlc-plugin-theora-3.0.8-1.mga7.tainted
vlc-plugin-flac-3.0.8-1.mga7.tainted
vlc-plugin-vdpau-3.0.8-1.mga7.tainted
Comment 21 Lewis Smith 2019-11-28 19:53:52 CET
Thanks for replying.
It certainly looks like an upstream issue. Is there a bug there? If not - perhaps create one. If you do, please post its reference here.

In the meantime,
 $ vlc --avcodec-hw none [whatever]
is an easy-enough workaround.

Keywords: (none) => UPSTREAM
Resolution: (none) => WORKSFORME
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.