-
-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NVENC stopped working after ffmpeg update. #428
Comments
I created a separate directory for tmp and reinstalled memories and am finally getting a log file generated as well as seeing ffmpeg processes in nvtop. However it's still failing, and the log file is filled with errors. |
I feel like I'm just chasing my tail at this point and missing something obvious. Sometimes a log gets created, sometimes it doesn't. The log that was created was named I decided to try removing memories and re-installing, checked all the permissions, and initially the processes launched, and now they wont again. I have tried rebooting and still nothing, changed tmp directories and still nothing. At this point I even disabled nvenc to see if CPU transcoding at least worked and still got nothing. I have literally been troubleshooting this for almost 2 full days at this point and Im not sure what else to try... |
A couple of things to note/try:
|
Ok I tried starting as fresh as possible but still getting
I also verified the permissions for;
Of course I made sure to run Edit: To clarify the |
Hi! My host: Debian 11 Whole path config.php has the same right paths to VOD server starts manually with that command: |
@shperrung I really wish I knew what version of ffmpeg I had working. I compiled it about a month ago from master, and when I recently re-compiled I thought nothing of deleting the old one. I have tried figuring it out from the VideoLAN git repo and GitHub but the version numbers are all over the place so I’m not sure what version it actually would have been. Edit: ok so I learned apparently the master branch, which is considered stable by the devs, are actually nightly builds. I’m going to try just going back a few weeks and see what happens |
@relink2013 |
I have the same issue. stopped working and starting after update. how do u run in that it works ? |
This is currently exactly where I'm at too. |
@relink2013 @darkobas Here is some information about difference in scale_cuda and scale_npp. I'll try to rebuild ffmpeg in image with --enable-cuda-llvm https://www.reddit.com/r/ffmpeg/comments/euiwtv/comment/fjwojvb/ |
I created another tmp folder here (inside container!): /var/www/html/tmp and indicated it in config.php. Then I restarted nextcloud stack and played a video. Of course, I got "Transcoding Failed", but it created log file /var/www/html/tmp.log with details of attempts to use nvidia |
@darkobas @relink2013 |
I've been following along with @shperrung and continuing to experiment on my own and I have still not gotten any further. I do have a suggestion though, @pulsejet why not just take an existing container such as There is actually a similar solution being discussed over in the Recognize Apps GitHub to take all the NVIDIA stuff and just put it in a separate docker container. I personally think this would be the best route for both Memories and Recognize since the official NC devs have zero interest in including the nvidia drivers or libs anyway. |
@relink2013 |
@pulsejet |
I just want to add a note here: I'd really like to fix all these issues with GPU decoding; unfortunately I don't have a GPU so there's no way I can test anything. If you find/fix any bugs please do open a PR, or drop a note to add to the wiki. The reason I have refrained from needing a second container for decoding stuff is because not everyone runs docker, so this cannot be a requirement (it has to be an "option", i.e. more maintenance overhead). If someone is willing to maintain the transcoding parts, that will be great. |
I've been at this for a week now and I just cant seem to get anywhere, no logs, nothing...
I have no idea if I have the skill to accomplish it or not, but I've been very tempted to at least try recently. I've been wondering if there is a way to modify the command that is sent to ffmpeg? I've been rolling around ideas to have ffmpeg running on a different system, but I'm really not sure where to start on something like that. |
The way it works is Memories runs the
|
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
@darkobas2 please file a separate issue as indicated earlier. Do also include any information you see in the JS console and the network tab (for that request), as well as anything that might have shown up in the Nextcloud logs. |
@darkobas2, You run it right as www-data. It has to write log into /tmp/go-vod but just in case of successful transcoding.
Here you can just replace If you don't want or can't fix it, use my method and just improve ffmpeg in you image. In case of docker installation you anyway must build your own image because there are no "standard" Nextcloud image with pre-built ffmpeg (nvidia-cuda). I heard about Nextcloud - AIO but latest release is built with ffmpeg free from cuda-nvidia stuff. How to build image
There is the one peculiarity with that image: it depends of base "standard" image "nextcloud:25.0.3-apache" and you can't delete it. In that case you can export you own image ncff2503 then delete all images created during that building and then import ncff2503 back to host system. Run docker stack again. Export/Import I do in Portainer. |
I'm fine with this change. It can be a configurable option easily. Even better if we can detect it #450 |
Im running Nextcloud 25.0.3 on Ubuntu Server 22.04 With a Quadro P400.
I finally had nvenc working perfectly in Memories until I did a system update that updated the nvidia driver from 520 to 525. After the update transcoding stopped working. I re-compiled the latest version of ffmpeg and can now use nvenc in ffmpeg again, but Memories still refuses to transcode and I'm not sure why since
/tmp/go-vod.log
is not being created again, I tried creating a directory just for go-vod tmp and it still isn't created.Here is the memories section of
config.php
Permissions for the files in
/var/www/nextcloud/apps/memories/exiftool-bin
Permissions for
/ffmpeg-nvenc
Error from browser console
I should note that I also have the recognize app running in GPU mode and it's still working just fine. I can verify it's utilizing the GPU using
nvidia-smi
andnvtop
.Edit: I almost forgot, apparently some defaults were changed in the latest build of ffmpeg and I now have to specify
-b_ref_mode 0
in the ffmpeg command, otherwise I get the errorB frames as references are not supported
. That may have something to do with the issue. Is there anyway I can customize the command that is being sent to ffmpeg?The text was updated successfully, but these errors were encountered: