Page 1 of 1

Subtitles no longer working for vlc

PostPosted: Jun 8th, '18, 08:33
by tarazed
I am not sure when this happened, but after a recent update of tainted vlc, embedded subtitles no longer work for video files. To set this in context; for a long time I have been downloading files from the BBC as MP4 with an associated SRT file which I then embed in the MP4 file using ffmpeg. The resulting files play in vlc and the subtitle track can be selected but nothing happens; no OSD text. Playing the original MP4 file from a directory containing the associated SRT file also fails to display the on-screen text when selected. That always used to work as well. However if the files with embedded subtitles are passed to mplayer, mplayer displays the subtitles automatically, which suggests that the subtitle track has been embedded correctly. I do not know what component of vlc is used for displaying subtitles. If it is a plugin, there is a possibility that something is missing. I have tried this version of vlc on three different machines; failure on all three. vlc is invoked from the command-line, passing the filename as an argument. Failure also occurs with subtitled video files recorded by vlc itself from a TV input. These have the .ts extension and as with .mp4 the embedded subtitle track can be selected but fails to display. There is a constant stream of repeated error messages in the console:
Code: Select all
[00007f08bc0563a0] main blend error: blending YUVA to VDV0 failed
[00007f08bc0563a0] blend blend error: no matching alpha blending routine (chroma: YUVA -> VDV0)

These packages are installed.
Code: Select all
$ rpm -qa | grep vlc
npapi-vlc-2.2.0-1.mga6
vlc-plugin-theora-3.0.2-0.1.mga6.tainted
lib64vlccore9-3.0.2-0.1.mga6.tainted
vlc-plugin-common-3.0.2-0.1.mga6.tainted
vlc-plugin-lua-3.0.2-0.1.mga6.tainted
lib64vlc5-3.0.2-0.1.mga6.tainted
vlc-plugin-flac-3.0.2-0.1.mga6.tainted
svlc-3.0.2-0.1.mga6.tainted
vlc-3.0.2-0.1.mga6.tainted
vlc-plugin-speex-3.0.2-0.1.mga6.tainted
vlc-plugin-vdpau-3.0.2-0.1.mga6.tainted
vlc-plugin-pulse-3.0.2-0.1.mga6.tainted

I have tried some searches on the web but do not see any recent reports of such a problem.

Re: Subtitles no longer working for vlc

PostPosted: Jun 11th, '18, 22:56
by tarazed
On second thoughts, observing that the problem persists with the version of vlc waiting in Updates Testing I shall open a new bug on this matter.

Re: Subtitles no longer working for vlc

PostPosted: Jan 6th, '19, 22:48
by asimov-solensan
Did you finally open bug for this?

I also have been expecting this to be solved in an update but it's still the same.

I also checked that on mplayer (smplayer in my case) subtitles don't work, but I can't see any error in the logs, got the same as you on vlc.

Also tried on parole player and they all work flawless, embedded or from a srt file.

So it seems that it's related to some library used for vlc and mplayer but not parole.

Re: Subtitles no longer working for vlc

PostPosted: Jan 7th, '19, 12:40
by tarazed
I think I did post a bug for this. Shall try to locate it. In the meantime I discovered that when running it from the command line adding '--avcodec-hw none' did the trick. If you prefer to avoid the command line edit the file /usr/share/applications/vlc.desktop. Look for the lines:
Code: Select all
 Exec=/usr/bin/vlc --started-from-file %U
TryExec=/usr/bin/vlc

Try:
Code: Select all
 Exec=/usr/bin/vlc --avcodec-hw none --started-from-file %U

If that does not work, edit the TryExec line. Apologies for the lack of certainty - memory is a bit foggy.

Re: Subtitles no longer working for vlc

PostPosted: Jan 7th, '19, 12:48
by tarazed

Re: Subtitles no longer working for vlc

PostPosted: Jan 7th, '19, 19:30
by asimov-solensan
Thanks, that worked.

If I get it correctly, with that option there is not hardware acceleration. I expect it gets solved at some point, reading the bug historic seems that is more a problem of VLC than mageia.

Re: Subtitles no longer working for vlc

PostPosted: Sep 23rd, '19, 16:50
by scanray
Hi,

this error continues with VLC 3.0.8 in MGA 7

When play from comman line: vlc *.mkv
Code: Select all
no matching alpha blending routine (chroma: YUVA -> VDV0)

and: vlc *.mkv --avcodec-hw none
Code: Select all
main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
qt interface error: Unable to load extensions module

Changing in Input/Codecs hardware-accelerated decoding to any other than automatic or VDPAU, it works to show the subtitles.


Good day,

Re: Subtitles no longer working for vlc

PostPosted: Sep 23rd, '19, 18:39
by tarazed
Hmm. This is a surprise. Just ran vlc 3.0.8 under Mageia 6 and no longer see the stream of error messages and find that subtitles can be switched on. There are a couple of lines in the terminal at the start
Code: Select all
[00007f82f9e915a0] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  390.129  Tue Jul 23 00:27:49 PDT 2019 for hardware decoding

then nothing more. Everything works smoothly. However, under Mageia 7, on another machine, with vlc 3.0.8 tainted the error messages first reported stream by constantly in the terminal window and subtitles do not work, as you observed. Introducing the workaround (disabling VDPAU) brings back subtitles and removes the stream of error messages. So the bug cannot yet be closed.

As for your "qt interface error", do you have svlc installed?

Re: Subtitles no longer working for vlc

PostPosted: Sep 24th, '19, 04:03
by scanray
I don't have the svlc installed. I never did it.

Well, in MGA6 I also worked very well the VLC. But it is worth saying that in MGA6 I used the NVIDIA drivers from the NVIDIA page. Not those in the repository. They always worked very well for me.
With MGA7 I couldn't make them work. I am using the repository: 430.5

With VDAPU:
Code: Select all
[00000000023f4630] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00000000024c4350] qt interface error: Unable to load extensions module
[00007f35ccc179b0] main demux error: option sub-original-fps does not exist
[00007f35cd8765f0] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  430.50  Thu Sep  5 22:38:52 CDT 2019 for hardware decoding
[00007f35bc02f330] blend blend error: no matching alpha blending routine (chroma: YUVA -> VDV0)
[00007f35bc02f330] main blend error: blending YUVA to VDV0 failed

and the last 2 lines are repeated all the time

With VA-API:
Code: Select all
VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)
[0000000000f3d630] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[000000000100d350] qt interface error: Unable to load extensions module
[00007f1c44c179b0] main demux error: option sub-original-fps does not exist
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[00007f1c380b3ed0] vaapi_drm generic error: vaInitialize: unknown libva error
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[00007f1c380b3ed0] vaapi_drm generic error: vaInitialize: unknown libva error


with VA-API with DRM:
Code: Select all
VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)
[0000000001c7c630] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[0000000001d4c350] qt interface error: Unable to load extensions module
[00007f5ff8c179b0] main demux error: option sub-original-fps does not exist
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[00007f5fec0b3ed0] vaapi_drm generic error: vaInitialize: unknown libva error
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[00007f5fec0b3ed0] vaapi_drm generic error: vaInitialize: unknown libva error
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
QObject::~QObject: Timers cannot be stopped from another thread