Scrambled video player
tassoman opened this issue · 17 comments
Describe the bug
Scrambled video, clicking ⏯️ play button
To Reproduce
Steps to reproduce the behavior:
- Install Cawbird 1.3.2 by OBS repository on Ubuntu
- Search for a tweet with video content attached
- Click ⏯️ button
- See a scrambled video
Expected behavior
I expected watching a decoded video.
Screenshots
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.
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! 🪲 🔨