IBBoard/cawbird

Scrambled video player

tassoman opened this issue · 17 comments

Describe the bug
Scrambled video, clicking ⏯️ play button

To Reproduce
Steps to reproduce the behavior:

  1. Install Cawbird 1.3.2 by OBS repository on Ubuntu
  2. Search for a tweet with video content attached
  3. Click ⏯️ button
  4. See a scrambled video

Expected behavior
I expected watching a decoded video.

Screenshots

Istantanea_2021-01-15_16-45-06

System details:

  • OS: Ubuntu 20.04 LTS
  • Version: Cawbird 1.3.2
  • Package type: OBS Repository

No debug messages available in console.

Looks like a GStreamer problem. Does it happen with all videos or just some?

Also, what do you get when you play videos from Twitter directly through GStreamer: gst-play-1.0 --gst-debug-level=1 https://video.twimg.com/tweet_video/DN47pBXXkAI4bU0.mp4

(I should find a way to get the URL for new videos in case they're using different codecs etc!)

I saw this as well, but wasn't sure if it was because I was running git master and not the 1.3.2 release, but see it also happens in 1.1.0. It happens with all videos. The gst-play-1.0 command you gave works fine. I'm running Xubuntu 20.04.

The scrambling happens on all videos, but Inside GStreamer itself, they run flawless.
@philipzae did you got the same behaviour on the Xubuntu LTS? I'm running it too, amd64.

@tassoman yes i'm having it on LTS.

Seems strange that the scrambling is happening on my desktop but not happening on my laptop and both are running Xubuntu 20.04 LTS. I checked the gstreamer versions on both machines and they are the same, so not sure what would be causing this issue.

Okay, if we've narrowed it down to a distro and specific library versions, what about hardware? What graphics have you got?

Both using intel graphics.

root@laptop:~# lspci
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)

root@laptop:~# uname -a 
Linux laptop 5.4.0-62-generic #70-Ubuntu SMP Tue Jan 12 12:45:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

root@laptop:~# lscpu 
Architecture:                    x86_64
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           60
Model name:                      Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz

root@laptop:~# lsmod | grep vid
uvcvideo               98304  0
videobuf2_vmalloc      20480  1 uvcvideo
videobuf2_memops       20480  1 videobuf2_vmalloc
videobuf2_v4l2         24576  1 uvcvideo
videobuf2_common       49152  2 videobuf2_v4l2,uvcvideo
videodev              225280  4 videobuf2_v4l2,v4l2loopback,uvcvideo,videobuf2_common
mc                     53248  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
video                  49152  1 i915

@philipzae Can you post the same output as @tassoman? Thanks.

Also, it may be a bit much and I don't know about the inner workings of GStreamer, but can someone post a log for GST_DEBUG=4 cawbird in case it says something useful?

I'm assuming this is OBS builds on all machines? And that the video still moves, even while scrambled? It looks like the scan lines or stride length of the image are out of sync or something.

Yes, correct, video moves like behind un synced scan lines, audio is flawless. My packet is coming from OBS repository.
I'm going to go with the GST debug

cawbird-gst.log
I've started ⏯️ about at 00:01:36.
This log is ansi gibberish, you can see some red logs inside it

dpkg is showing this version

ii libgstreamer1.0-0:amd64 1.16.2-2

@IBBoard here you go. The similarity I can see between mine and @tassoman is that we are both using 4th gen processors.

# lspci
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

# uname -a
Linux jayx-HP-ProDesk-600-G1-TWR 5.4.0-58-generic #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

# lscpu
Architecture:                    x86_64
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           60
Model name:                      Intel(R) Core(TM) i5-4570S CPU @ 2.90GHz

# lsmod | grep vid
video                  49152  1 i915

There's on a few WARN entries in the log, and I'm not sure whether they're bad warnings or expected. Digging around, I've found some bugs relating to Intel drivers based on the /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed entry, but often with a different return codes (1, 2, 3).

But I also found an old Corebird bug that says it's VA-API.

It also gives a slightly different command to test that's more representative:

gst-play-1.0 --videosink=gtksink https://video.twimg.com/tweet_video/EsHMEAyXIAQTdUe.mp4

Can you try that and see if it corrupts? It seems to use a scaled Cairo canvas.

If that corrupts, can you try removing libvaapi or whatever Ubuntu calls it tp see whether it's a VA-API problem?

Yes it is corrupted with gstreamer1.0-vaapi installed. I removed it and its works correctly now.

I had noticed a few video thumbnails on my desktop that were similarly corrupted and removing vaapi fixed the thumbnails.

I purged from apt

ii gstreamer1.0-vaapi:amd64 1.16.2-2 amd64 VA-API plugins for GStreamer

Then it worked flawless 😐
You nailed it! 🪲 🔨