Skip to content
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

fixing unavailable ffmpeg version #376

Merged
merged 1 commit into from
May 4, 2023
Merged

Conversation

gautamkrishnar
Copy link
Contributor

@gautamkrishnar gautamkrishnar commented May 3, 2023

It looks like the ffmpeg version provided in the Dockefile is no longer available in the origin repo: (https://github.com/yt-dlp/FFmpeg-Builds/releases/tag/autobuild-2023-04-13-12-52)

This pr fixes the build issues by using the latest available autobuild version of the ffmpeg from the origin repo: https://github.com/yt-dlp/FFmpeg-Builds/releases/tag/autobuild-2023-05-03-12-37

cc: @meeb

fixing unavailable ffmpeg version
@meeb
Copy link
Owner

meeb commented May 4, 2023

Thanks! For some reason I've not yet determined (or spent much time looking into given they're outdated) every time the yt-dlp devs make a new ffmpeg release all the old releases hashes change so yes this needs updating every time there's a new ffmpeg release to "fix" the container build.

@meeb meeb merged commit 0c5a9c5 into meeb:main May 4, 2023
@gautamkrishnar
Copy link
Contributor Author

gautamkrishnar commented May 4, 2023

@meeb old release hashes change is due to the curl that you are doing in the dockerfile. Thats what i dound out. When there is a release available and it is live the curl:

> curl -L https://github.com/yt-dlp/FFmpeg-Builds/releases/download/autobuild-2023-04-16-12-50/ffmpeg-N-110285-ga3f49168dc-linux64-gpl.tar.xz -o /tmp/ffmpeg-N-110285-ga3f49168dc-linux64-gpl.tar.xz
> file /tmp/ffmpeg-N-110285-ga3f49168dc-linux64-gpl.tar.xz
/tmp/ffmpeg-N-110285-ga3f49168dc-linux64-gpl.tar.xz: XZ compressed data, checksum CRC64

Will download the file and you do sha256sum. This will now have sha256 of the ffmpeg-N-110285-ga3f49168dc-linux64-gpl.tar.xz

For some reason, devs take down older versions. At that point, the curl above will no longer work. It will download the html page of GitHub which shows 404 instead of the actual zip file:

> curl -L https://github.com/yt-dlp/FFmpeg-Builds/releases/download/autobuild-2023-04-13-12-52/ffmpeg-N-110232-g1e91a39502-linux64-gpl.tar.xz -o /tmp/ffmpeg-N-110232-g1e91a39502-linux64-gpl.tar.xz
>  file /tmp/ffmpeg-N-110232-g1e91a39502-linux64-gpl.tar.xz
/tmp/ffmpeg-N-110232-g1e91a39502-linux64-gpl.tar.xz: ASCII text, with no line terminators

When you generate sha256 it will generate the sha of the HTML 404 page now instead of the archive. This is the problem.

@gautamkrishnar gautamkrishnar deleted the fix/dockerfile branch May 4, 2023 10:50
@gautamkrishnar
Copy link
Contributor Author

@meeb
One solution to this problem is by using GitHub releases API to find the latest version of FFmpeg available on the repo and using the latest auto build version every time when you build the container. Please let me know if you are interested in adding that change. I can make some changes to support that.

@meeb
Copy link
Owner

meeb commented May 4, 2023

Yeah I had noticed that the yt-dlp devs delete selected older ffmpeg releases. I can only assume there's a logical reason behind it. For example the autobuild-2023-03-31-12-55 and autobuild-2023-04-16-12-50 releases still exist, but the autobuild-2023-04-13-12-52 release has been deleted.

I did consider uses the releases API, however this doesn't include hashes for the asset files as far as I can see.

Thanks for looking into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants