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

[Package Issue]: yt-dlp.yt-dlp hard depends on Gyan.FFmpeg and no ability to use shared ffmeg #138665

Open
2 tasks done
ghost opened this issue Feb 10, 2024 · 6 comments
Open
2 tasks done
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation.

Comments

@ghost
Copy link

ghost commented Feb 10, 2024

Please confirm these before moving forward

  • I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
  • I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue

Other

Brief description of your issue

yt-dlp.yt-dlp hard depends on Gyan.FFmpeg, but there's also Gyan.FFmpeg.Shared, who want/need the libraries provided by ffmpeg, so having 2 packages that provide the same thing isn't really ideal.

Steps to reproduce

winget install yt-dlp

Actual behavior

it installs Gyan.FFmpeg, even if i already have Gyan.FFmpeg.Shared installed

Expected behavior

either the ability to choose which ffmpeg package to install or having a separate package called yt-dlp (shared)

Environment

Windows Package Manager v1.6.3482
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.2861
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3482.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled

Screenshots and Logs

No response

@ghost ghost added the Issue-Bug It either shouldn't be doing this or needs an investigation. label Feb 10, 2024
Copy link
Contributor

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Triage This work item needs to be triaged by a member of the core team. label Feb 10, 2024
@mdanish-kh
Copy link
Contributor

I believe this depends on:

@BiosPlus
Copy link
Contributor

I believe the other problem (and why I didn't include ffmpeg as a dependency in my yt-dlp PRs) is that ffmepg isn't required for the operation of yt-dl, it's needed when remuxing or converting audio/video tracks, in which case the program informs the user that ffmpeg is needed.

Would it not be best left to user choice on their installation method of this optional tool, especially given a user may already have ffmpeg available in path via an alternative means (choco for example places it in a directory within C:\programdata\choco\bin\ or something close to that effect iirc) and our dependency throws another instance of it onto a PC?

If it makes sense, I think we just keep ffmpeg out of the yt-dlp installer.yamls as a dependency.


Also, yt-dl also recommends having PhantomJS installed in some instances, yet we don't throw that in by default 😅

image

@stephengillie
Copy link
Collaborator

I believe the other problem (and why I didn't include ffmpeg as a dependency in my yt-dlp PRs) is that ffmepg isn't required for the operation of yt-dl, it's needed when remuxing or converting audio/video tracks, in which case the program informs the user that ffmpeg is needed.

If some form of FFmpeg isn't present, then I believe yt-dlp throws an error.

Would it not be best left to user choice on their installation method of this optional tool, especially given a user may already have ffmpeg available in path via an alternative means (choco for example places it in a directory within C:\programdata\choco\bin\ or something close to that effect iirc) and our dependency throws another instance of it onto a PC?

This is the goal behind the Issue that mdanish-kh linked.

If it makes sense, I think we just keep ffmpeg out of the yt-dlp installer.yamls as a dependency.

The error I mentioned above might block pipeline validation approval, or result in a poor user experience for users who don't have FFmpeg installed and don't know about it - they install a new application, get an error, and think poorly of our package manager system for allowing errant packages.

Also, yt-dl also recommends having PhantomJS installed in some instances, yet we don't throw that in by default 😅

Maybe we should. It's not in the repo yet, but appears to be a portable type of package.

@stephengillie stephengillie removed the Needs-Triage This work item needs to be triaged by a member of the core team. label Feb 12, 2024
@3xploiton3
Copy link

looping installation
image

@SheepCommander
Copy link

installing Gyan.FFmpeg.Shared doesn't even properly add ffmpeg to my PATH in my case

Gyan.FFmpeg fixes this tho

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation.
Projects
None yet
Development

No branches or pull requests

5 participants