QMPlay2 icon indicating copy to clipboard operation
QMPlay2 copied to clipboard

DVB-T1/T2 (terrestrial TV channels) teletext showed instead subtitles

Open RafaelLinux opened this issue 1 year ago • 33 comments

When I play a DVB-T1/2 TV channel and enable subtitles (pressing N key), QMP2 shows teletext screens in a continuous loop thru ALL teletext pages, instead TV channel subtitles.

vokoscreenNG-2023-03-20_02-12-02_VP9.webm

RafaelLinux avatar Mar 20 '23 01:03 RafaelLinux

Is it possible to change subtitles stream?

zaps166 avatar Mar 20 '23 16:03 zaps166

Each time I press "N", it only enables/disables Teletext. There is only one electable subtitles channel.

RafaelLinux avatar Mar 20 '23 19:03 RafaelLinux

I think I've seen this bug before somewhere (maybe I tested it long time ago). I need sample video file, but idk how it works (also in real TV I don't know how to use "feature" (teletext) :smile:).

zaps166 avatar Mar 20 '23 20:03 zaps166

Usually, there is a button named "Teletext" in remote controller. I'm not sure if Teletext content will be saved with video, cause Teletext is asynchronous, but I'll try.

RafaelLinux avatar Mar 20 '23 20:03 RafaelLinux

To do anything with this I need the file. I think you should be able to capture everything using ffmpeg from command line.

zaps166 avatar Mar 22 '23 22:03 zaps166

As it's saved as TS file, I can insert here, so I shared video in this link https://file.io/f33shlyHra00 MPV plays correctly Teletext channel. VLC detect it as a Teletext channel and show typical buttons in interface (blue, yellow, green and black buttons on remote control).

RafaelLinux avatar Mar 23 '23 02:03 RafaelLinux

On your file: VLC detects, buttons are visible, but teletext doesn't work (buttons do nothing). MPV doesn't works either. QMPlay2 doesn't show anything, subtitles track is not selected and not possible to select it.

zaps166 avatar Mar 23 '23 18:03 zaps166

Curiously, only QMP2 it's not working for me same way. Among those players, only QMP2 begin to show ALWAYS Teletext layer just when I open the stream or the recorded file. As you told, teletext buttons in VLC doesn't work (I personally, I don't need Teletext), however, VLC is the only only that recognices "DVB Subtitles" and shows it!!!. MPV shows subtitles correctly )slowly, not accelerated as QMP2) but they are not interactive. You can see the three players playing live same DVB-T stream with subtitles enabled in attached link.

Resume:

  • QMP2 ALWAYS enable (for me) Teletext, independently if I closed QMP2 with or without subtitles enabled and reopen the stream or file. Teletext layer always is showed. It's really anoying .
  • QMP2 doesn't detect "DVB Subtitles". Only VLC is able to identify and show stream subtitles (they are even colored).

https://file.io/EQ9hZ52pc6lp

RafaelLinux avatar Mar 23 '23 21:03 RafaelLinux

You don't have to show me the comparison, I know about it. QMPlay2 doesn't support DVB-T, but to try to avoid this issue (don't display teletext), I need captured stream with working teletext. this doesn't work in any of three players, unfortunately.

zaps166 avatar Mar 24 '23 21:03 zaps166

Try to capture MPEG stream using ffmpeg command line using stream copy (audio, video, subtitles).

zaps166 avatar Mar 24 '23 21:03 zaps166

Just copied as is with ffmpeg -i "http://192.168.1.11:9981/stream/channel/7159c961dd4920e9633297f32f9ab8e7" -map 0:v:0 -map 0:a:0 -map 0:s -c copy -y -f mpegts test.ts

https://file.io/slZuwZjT4A1I

RafaelLinux avatar Mar 28 '23 01:03 RafaelLinux

I can see teletext on VLC, but I can't enable this stream on QMPlay2, so still can't reproduce your issue :sob: The dvbsub stream is enabled by default, dvb_teletext can't be enabled.

Btw. your videos don't work on VA-API on Radeon RX 6900 XT (but they work on AMD Radeon Vega 8 VA-API). Could you report it here and link your video (I can see the issue on MPV, VLC, QMPlay2)?

Look :rofl:

https://user-images.githubusercontent.com/6239090/228329948-0c6f0f16-f6c9-469b-9987-8657bfc1175a.mp4

zaps166 avatar Mar 28 '23 18:03 zaps166

Really annoying !!! ;) I'm using openSUSE Tumbleweed with Nvidia propietary drivers. In my system, that issue doesn't happen!!! Plays fine like in the live stream. Llike in my firstposted video, when I open this file with QMP2, "accelerated" Teletext is enabled by default, till I press "N". However, I really don't know what do you want me to say in that forum ...

RafaelLinux avatar Mar 29 '23 00:03 RafaelLinux

I believe NVIDIA currently does not support VA-API in any applications except Firefox (and even that is experimental), so a VA-API exclusive bug will not show up when using NVIDIA hardware. It is indeed very hard to report a bug you can't even reproduce on your own system.

Asides that, for openSUSE TW I currently employ these build options:

%define __builder Ninja
  -DCMAKE_C_COMPILER=clang \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DCMAKE_C_FLAGS="${CFLAGS:-%optflags} -gdwarf-4" \
  -DCMAKE_CXX_FLAGS="${CXXFLAGS:-%optflags} -gdwarf-4" \
  -DSOLID_ACTIONS_INSTALL_PATH="%{_datadir}/solid/actions" \
  -DUSE_LINK_TIME_OPTIMIZATION=ON \
  -DUSE_PCH=ON \
  -DUSE_GIT_VERSION=OFF \
  -DCMAKE_INSTALL_PREFIX=%{_prefix} \
  -DCMAKE_INSTALL_LIBDIR=%{_libdir} \
  -DUSE_GLSLC=ON \
  -DUSE_PORTAUDIO=ON \
  -DUSE_PIPEWIRE=ON \
  -DUSE_RUBBERBAND=ON \
  -DUSE_UPDATES=OFF

Meanwhile, the AUR version uses these:

  -G Ninja \
  -DCMAKE_C_COMPILER=clang \
  -DCMAKE_CXX_COMPILER=clang++ \
  ../QMPlay2-src-${pkgver} \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DCMAKE_INSTALL_LIBDIR=lib \
  -DUSE_CHIPTUNE_SID=ON \
  -DUSE_LINK_TIME_OPTIMIZATION=OFF \
  -DUSE_PCH=ON \
  -DUSE_GLSLC=OFF \
  -DUSE_GIT_VERSION=OFF

Any differences that could cause the differences in behavior?

DarkWav avatar Mar 29 '23 00:03 DarkWav

Can I use your video file and report a driver bug?

I'll check later again.

zaps166 avatar Mar 29 '23 07:03 zaps166

Can I use your video file and report a driver bug?

I have no objection to that!!!

RafaelLinux avatar Mar 29 '23 09:03 RafaelLinux

I believe NVIDIA currently does not support VA-API in any applications except Firefox (and even that is experimental), so a VA-API exclusive bug will not show up when using NVIDIA hardware. It is indeed very hard to report a bug you can't even reproduce on your own system.

But, I'm not sure about how that is related to my reported issue. I'll try to test issue in another Linux without Nvidia card, but suspect is not related.

RafaelLinux avatar Mar 29 '23 13:03 RafaelLinux

I believe NVIDIA currently does not support VA-API in any applications except Firefox (and even that is experimental), so a VA-API exclusive bug will not show up when using NVIDIA hardware. It is indeed very hard to report a bug you can't even reproduce on your own system.

But, I'm not sure about how that is related to my reported issue. I'll try to test issue in another Linux without Nvidia card, but suspect is not related.

It's only related to the VA-API bug @zaps166 discovered with their 6900XT, it has nothing to do with the original issue.

DarkWav avatar Mar 29 '23 13:03 DarkWav

And for the original issue: files deleted 😔 But I should have it on another computer

zaps166 avatar Mar 29 '23 13:03 zaps166

And for the original issue: files deleted pensive But I should have it on another computer

Here you have it again. I can't attach here cause it's 32MiB and you want to keep original stream, so can't convert to webm ;) https://file.io/QUEBcZDou2HU

Anyway, take into account that in QMP2, Teletext appears when selecting the second channel (as you see in screenshot) imagen

RafaelLinux avatar Mar 29 '23 16:03 RafaelLinux

  1. Bug reported.
  2. When I select 2nd stream with teletext it doesn't work at all, I can't select second stream at all (Manjaro/Arch and QMPlay2 for Windows and AppImage). Do you use the newest version and do you use any custom compilation of FFmpeg/QMPlay2? Could you try my AppImage?

Screenshot_20230329_195009

zaps166 avatar Mar 29 '23 17:03 zaps166

This is my version: imagen

Anyway, your AppImage crashed when trying to open my TS file: [29 mar. 2023 20:10:55.393] CUVID :: Unable to get function pointers Set LIBVA_DRIVERS_PATH to /usr/lib64/dri libva info: VA-API version 1.17.0 libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva info: Found init function __vaDriverInit_1_15 [29 mar. 2023 20:10:55.446] QMPlay2 crashed (SIGSEGV) fish: Job 1, './QMPlay2-23.02.05-1-x86_64.App…' terminated by signal SIGSEGV (Address boundary error)

RafaelLinux avatar Mar 29 '23 18:03 RafaelLinux

This is my version: imagen

Anyway, your AppImage crashed when trying to open my TS file: [29 mar. 2023 20:10:55.393] CUVID :: Unable to get function pointers Set LIBVA_DRIVERS_PATH to /usr/lib64/dri libva info: VA-API version 1.17.0 libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva info: Found init function __vaDriverInit_1_15 [29 mar. 2023 20:10:55.446] QMPlay2 crashed (SIGSEGV) fish: Job 1, './QMPlay2-23.02.05-1-x86_64.App…' terminated by signal SIGSEGV (Address boundary error)

Can you try to set "FFmpeg Decoder" as the highest option under Settings > Playback Settings > Decoders priority? The AppImage usually crashes when "FFmpeg VA-API Decoder" is set as the highest option on NVIDIA systems.

It seems like you are using openSUSE Tumbleweed's official QMPlay2/FFmpeg builds, links to spec files for those: https://build.opensuse.org/package/view_file/openSUSE:Factory/QMPlay2/QMPlay2.spec?expand=1 https://build.opensuse.org/package/view_file/openSUSE:Factory/ffmpeg-5/ffmpeg-5.spec?expand=1

DarkWav avatar Mar 29 '23 18:03 DarkWav

It doesn't crash priorizing FFMPEG. It doesn't work as in my installed version. It appears selected the first channel but if I select the second one, and I access again to select channel, last clicked one (second one) in not selected!!! No Teletext in any way.

Second channel appears like "not selected" even after it let me select it previously: imagen.

But I consider this workaround is enough. At least, Teletext is not enabled by default (second channel) so I don't mind if they are played "accelerated" or not ;)

RafaelLinux avatar Mar 29 '23 18:03 RafaelLinux

@RafaelLinux @DarkWav

  • Please don't use nvidia_drv_video.so - it can crash any VA-API software on Linux on NVIDIA drivers (QMPlay2, OBS, etc.). This driver is obsolete and should never be installed (libva-vdpau-driver on Arch Linux)! You can uninstall it and try again without changing decoders priority.

@RafaelLinux

  • CUVID :: Unable to get function pointers - interesting... Did you put your computer to sleep before running QMPlay2 maybe?

It doesn't work as in my installed version. It appears selected the first channel but if I select the second one, and I access again to select channel, last clicked one (second one) in not selected!!! No Teletext in any way.

I have the same, that's why I can't reproduce.

zaps166 avatar Mar 29 '23 19:03 zaps166

Please don't use nvidia_drv_video.so - it can crash any VA-API software on Linux on NVIDIA drivers (QMPlay2, OBS, etc.). This driver is obsolete and should never be installed (libva-vdpau-driver on Arch Linux)! You can uninstall it and try again without changing decoders priority.

Alright, thanks for the heads up, the AppImage indeed doesn't crash any more once I uninstall that faulty driver.

DarkWav avatar Mar 29 '23 20:03 DarkWav

@RafaelLinux @DarkWav

* Please don't use `nvidia_drv_video.so` - it can crash any VA-API software on Linux on NVIDIA drivers (QMPlay2, OBS, etc.). This driver is obsolete and should never be installed (`libva-vdpau-driver` on Arch Linux)! You can uninstall it and try again without changing decoders priority.

I didn't know it was obsolete. Really I don't know if it is installed automatically or I installed it to get some acceleration. I uninstall it now (it's the libva-vdpau-driver library in openSUSE).

@RafaelLinux

* `CUVID :: Unable to get function pointers` - interesting... Did you put your computer to sleep before running QMPlay2 maybe?

Yes!!!! I always prefer to sleep my PC. My data is in a mechanical HD and takes a lot to Plasma to load my desktop configuration, so I usually sleep my PC (I can't hibernate a long time ago since I changed my SSD with BTRFS to compressed mode). You know a lot about my system XD

RafaelLinux avatar Mar 29 '23 21:03 RafaelLinux

I didn't know it was obsolete. Really I don't know if it is installed automatically or I installed it to get some acceleration. I uninstall it now (it's the libva-vdpau-driver library in openSUSE).

I think all distributions should remove this from repo. It can only cause issues, it's completely useless driver.

Yes!!!! I always prefer to sleep my PC. My data is in a mechanical HD and takes a lot to Plasma to load my desktop configuration, so I usually sleep my PC (I can't hibernate a long time ago since I changed my SSD with BTRFS to compressed mode). You know a lot about my system XD

It's a known NVIDIA BUG and I see it's still not resolved... See #548. I also found this.

Btw. If you put your computer to sleep with Vulkan application, it can freeze/crash, too (did they fix it already...?).

zaps166 avatar Mar 29 '23 22:03 zaps166

nvidia_drv_video driver year is 2012... https://www.freedesktop.org/software/vaapi/releases/libva-vdpau-driver/

zaps166 avatar Mar 29 '23 22:03 zaps166

As a Linux user, it's my fault for continue buying Nvidia graphic cards. In fact, I use official Nvidia (for openSUSE) repository to get propietary drivers, but as you showed me, that doesn't solve Nvidia issues on Linux systems.

You have really done a lot of research and know the ins and outs of Nvidia and its failures much better than I do. For years, I've kept thinking "they'll fix it" and I see that they won't. I'm not.

Thank you

RafaelLinux avatar Mar 30 '23 08:03 RafaelLinux