meeb / tubesync

Syncs YouTube channels and playlists to a locally hosted media server
GNU Affero General Public License v3.0
1.96k stars 123 forks source link

tubesyng ffmpeg illegal instruction #546

Closed chaos7x closed 2 weeks ago

chaos7x commented 2 weeks ago

I think the ffmpeg version in tubesync is faulty. When I call it in the docker container I get the message.

illegal instruction

FFmpeg version 7.0.2 (ffmpeg homepage - https://johnvansickle.com/ffmpeg/) or

Until autobuild-2024-07-30-14-10 from yt-dlp runs without problems

meeb commented 2 weeks ago

Interesting, I don't see this. What does this output?

$ docker exec -ti tubesync ffmpeg -version

Are you running the x86 or ARM container?

chaos7x commented 2 weeks ago

It’s running the x86 container.

Processor: AMD Turion(tm) II Neo N54L Dual-Core Processor OS: Debian Bookworm

IMG_1382

meeb commented 2 weeks ago

Huh, interesting. Assuming your container downloaded correctly, if I were to guess I'd say that your CPU is 14 years or so old and doesn't support some of the instruction sets required for the latest builds of ffmpeg.

Edit: as a work-around, try dropping a shell into the container and:

rm /usr/local/bin/ffmpeg

and

rm /usr/local/bin/ffprobe

then

apt update && apt install ffmpeg

That should replace ffmpeg inside the container with the default Debian version which I imagine is a lot more conservative and will probably work fine on your older CPU. Of course there's very good reasons why ffmpeg is kept up to date so while this might hack it back to working for you, you may find some features no longer work (e.g. thumbnail embedding or some format conversions).

chaos7x commented 2 weeks ago

This is one possibility. Let's see what happens when he releases his new version of ffmpeg here. https://johnvansickle.com/ffmpeg/ This Version of ffmpeg ist still running.

meeb commented 2 weeks ago

TubeSync bundles the yt-dlp builds of ffmpeg from https://github.com/yt-dlp/FFmpeg-Builds which I update when there's a new yt-dlp release to keep them in sync. You can review the commits applied to their builds to see what's broken on your setup. Either way this is looking like an upstream issue.

chaos7x commented 2 weeks ago

I opened a ticket there.

meeb commented 2 weeks ago

I've had a peak at the upstream issues and I would concur this could well be difficult to track down. Sorry, you might have to manually replace ffmpeg in TubeSync for the time being (and lose some features) until (or if) this gets fixed properly upstream. I'll pull in any patches as and when they are released from upstream so if it does get patched it'll be fixed in TubeSync as well.

I'll close this for now but feel free to open it again if you note anything related to TubeSync.

meeb commented 2 weeks ago

Just to mention, one possible work-around for you might be to build your own container if you're comfortable with that. Fork this repo then edit these lines in the Dockerfile:

https://github.com/meeb/tubesync/blob/main/Dockerfile#L5 https://github.com/meeb/tubesync/blob/main/Dockerfile#L6 https://github.com/meeb/tubesync/blob/main/Dockerfile#L30 https://github.com/meeb/tubesync/blob/main/Dockerfile#L31

To pin ffmpeg to whatever is the latest version that still works for your CPU. What the lines are should be obvious.