gmbeard / shadow-cast

GPU accelerated screen and audio recording for Linux
GNU General Public License v2.0
39 stars 0 forks source link

ERROR: Invalid external buffer capabilities #29

Closed wanjohiryan closed 7 months ago

wanjohiryan commented 7 months ago

Capture fails to start.

All i get is: ERROR: Invalid external buffer capabilities

Any idea on how to solve this? I am running a basic command shadow-cast 'video.mp4'

If you could point me in the right direction i wouldn't mind.

Nvidia GPU details


+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            On   | 00000000:00:1E.0 Off |                    0 |
| N/A   33C    P8    14W /  70W |     24MiB / 15360MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1924      G                                      24MiB |
+-----------------------------------------------------------------------------+
gmbeard commented 7 months ago

Hey @wanjohiryan. Thanks for the report.

A cursory search for this error message suggests that it originates from NvFBC - NVIDIA's framebuffer capture facility...

Your nvidia-smi output suggests you're using quite an old NVIDIA driver version - I'm currently running 550.67. My first instinct would be to suggest you try upgrading to a newer driver version and see if this resolves your issue

wanjohiryan commented 7 months ago

Thank you so much for this info... tbh i never thought my driver version was that old, Dayum! 😅

Before you go could you answer 2 more questions?

  1. Could you provide some example commands for me to run on the console to use shadowcast. (On the Readme you do not provide any example commands.)

  2. Is there a way to output whatever shadow is recording to stdin/stdout and capture it with ffmpeg on the other side? (My plans are to convert the mp4 or mkv output into fmp4) e.g would this: "shadow-cast .... - | ffmpeg ... " work?

Thank you so much for this utility @gmbeard :)

gmbeard commented 7 months ago

Could you provide some example commands for me to run on the console to use shadowcast

As long as shadow-cast is in your $PATH then running it can be done by simply supplying a filename with a known media container file extension, e.g....

$ shadow-cast ./my-recording.mp4

There are some optional parameters to control the video / audio encoder, sample rate, and video frame rate. You can view these options with shadow-cast -h (they're also documented in the README on this repo)

Is there a way to output whatever shadow is recording to stdin/stdout

Writing to STDOUT isn't supported. STDIN doesn't really make much sense since it records the screen / audio output.

It seems like updating your NVIDIA driver did the trick, so I'll go ahead and close this issue.