Youtube error "Your browser can't play this video"

Now browsing youtube, this is what I get.

I have installed all the components mentionned in the manual.

I have tried to clean the gstreamer cache and restarted nyxt.

Same result.

Any idea what to check? Maybe a hook to change the user agent to something “newer” ?

You need gstreamer-libraries for video playback, the manual lists the needed libs under “Troubleshooting” (run “manual” with ctrl-space (default) or alt-x (emacs) or : (vi-bindings))

Missed the part where you wrote “tried to clean the gstreamer cache”. But are you sure you have installed all the gst-plugins? Some youtube-videos might use the h264/x264-codec

1 Like

Hi,

The Nyxt project has a bug report template. Not sure if what are you facing is a bug. But I think some of the information asked by the bug report template could make it easier for me to help you. I am not an expert on Nyxt, though. I am just trying to help :slight_smile:

If you think this could be valuable to solve your problem, please provide the following:

Information

  • OS name+version:

  • Graphics card and driver:

  • Desktop environment / Window manager name+version:

  • How you installed Nyxt (Guix pack, package manager, build from source):

  • Information from command copy-system-information:

    If you can’t run copy-system-information, try nyxt --system-information from
    a shell. It this still does not work, please provide the following:

    • Nyxt version (from =M-x nyxt-version= or =nyxt --version=):
    • Lisp implementation/version (if built from source):
    • Kernel name+version:
    • WebKitGTK+ | QtWebEngine version:

Output when started from a shell


Another good test would be installing the Ephiphany Web Browser and seeing if youtube works in your environment keeping everything else constant. That’s a way of making clear if the problem is on Nyxt or something else.

1 Like

I have installed all I could find in the packages availables.

Thanks! I am not sure it is a bug yet, nothing show in the output in shell, as if no specific error, and I don’t know if there is a thing like dev tool that could help me understand what is youtube expecting that it’s not getting…

For now I have made a work around, mapping the following function to C-c p to open the video using mpv (it’s using youtube-dl under the hood and working pretty much on 90% of videos) - it’s not perfect but it’s usable.

(define-command youtube-play-current-page ()
  "Watch a Youtube video with mpv"
    (uiop:run-program
     (list "mpv" (render-url (url(current-buffer))))))

I am having the same error (installed via Guix so 2.0.0 prerelease 6). @yashasolutions You can use open-inspector command to open developer tools!

1 Like

Have you tried installing gst-libav?

Please report your OS distribution, it will help troubleshoot you :slight_smile:

Mmm, I am on Lubuntu 21.04 and I am using the Guix version: should I not get that dependency with the Guix graft?

Sadly it seems that there is an issue with the WebKitGTK Guix package and it may not find the gst plugins from the Guix pack.

On Lubuntu you are better off installing Nyxt from the .deb, it’s lighter and more integrated.

@ambrevar I just tried installing the .deb package: not good for my use case…
When I try to connect to swank from Emacs I get

Can't locate module: SWANK-IO-PACKAGE::SWANK-INDENTATION
   [Condition of type SIMPLE-ERROR]

Restarts:
 0: [*ABORT] Return to SLIME's top level.
 1: [ABORT] abort thread (#<THREAD "worker" RUNNING {10098A6033}>)

Backtrace:
  0: (SWANK::MODULE-FILENAME SWANK-IO-PACKAGE::SWANK-INDENTATION)
  1: (SWANK:SWANK-REQUIRE (SWANK-IO-PACKAGE::SWANK-INDENTATION SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG SWANK-IO-PACKAGE::SWANK-PACKAGE-FU SWANK-IO-PACKAGE::SWANK-PRESENTATIONS SWANK-IO-PACKAGE::SWANK-MACROSTE..
  2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:SWANK-REQUIRE (QUOTE (SWANK-IO-PACKAGE::SWANK-INDENTATION SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG SWANK-IO-PACKAGE::SWANK-PACKAGE-FU SWANK-IO-PACKAGE::SWANK-PRESENTAT..
  3: (EVAL (SWANK:SWANK-REQUIRE (QUOTE (SWANK-IO-PACKAGE::SWANK-INDENTATION SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG SWANK-IO-PACKAGE::SWANK-PACKAGE-FU SWANK-IO-PACKAGE::SWANK-PRESENTATIONS SWANK-IO-PACKAGE::S..
  4: (SWANK:EVAL-FOR-EMACS (SWANK:SWANK-REQUIRE (QUOTE (SWANK-IO-PACKAGE::SWANK-INDENTATION SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG SWANK-IO-PACKAGE::SWANK-PACKAGE-FU SWANK-IO-PACKAGE::SWANK-PRESENTATIONS SWA..
  5: ((LAMBDA NIL :IN SWANK::SPAWN-WORKER-THREAD))
  6: (SWANK/SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA NIL :IN SWANK::SPAWN-WORKER-THREAD) {523ADC1B}>)
  7: ((FLET SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/home/runner/work/nyxt/nyxt/_build/quicklisp-client/dists/quicklisp/software/slime-v2.26.1/swank/sbcl.lisp") #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<F..
  8: ((LAMBDA NIL :IN SWANK::SPAWN-WORKER-THREAD))
  9: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
 10: ((FLET "WITHOUT-INTERRUPTS-BODY-11" :IN SB-THREAD::RUN))
 11: ((FLET SB-UNIX::BODY :IN SB-THREAD::RUN))
 12: ((FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::RUN))
 13: (SB-THREAD::RUN)
 14: ("foreign function: call_into_lisp")
 15: ("foreign function: funcall1")

I reported that on Reddit once and then some nice user pointed me to your Guix recipe: https://www.reddit.com/r/Nyxt/comments/njh04d/how_to_connect_200_to_slime/

Thanks for reporting, looks like we need to load more of swank in the Nyxt image. Will work on it.

1 Like

worked for me on Lubuntu 20.04 with nyxt 2.2.1 deb package and gstreamer1.0-libav installed (which was result for apt search gst-libav)

1 Like

I recently struggled with this issue, with nyxt 2.2.4. Installing gstreamer according to How to install Gstreamer on Ubuntu - LifeStyleTransfer helped. But, I have a Youtube Premium subscription, and I could only get the videos to play, when I was not logged in to Youtube premium.

Or perhaps use Invidious?

I’m new to nyxt (and CL) and I’m having a similar issue. However it’s with both Youtube and Invidious. Any ideas on how I might go about debugging this?

Do you have all of the g streamer plugins (gst)?

In my OS? I have one of them installed. Not sure how useful this list will be, on Void I have gst-plugins-base1, the following are also available:
gst-libav
gst-omx
gst-plugins-bad1(-devel)
gst-plugins-base1-devel
gst-plugins-good1(-devel)
gst-plugins-ugly1
gst-editing-services(-devel)
gst123

And then a couple of other gstreamer/libgstreamer items. I installed Nyxt via Void’s package manager incidentally.

YouTube requires all of GStreamer plugins to work properly, so try installing the bad and ugly ones :slight_smile:

Okay, I’ve installed those additionally and I’m still getting the same issue.

I have no other options to suggest then. Seems like YouTube is so hostile to WebKit that even GStreamer plugins don’t help :man_shrugging: