Allow global autoconnect libavcodec58-core22

libavcodec58-core22 is a content snap that provides libavcodec-dev compatible library and its dependencies.

Objectives

  • reduce the size of ffmpeg-dependent applications like media players. It helped me to reduce size of mpv-wayland snap from 44M to 6.7M. Also this is an example of libavcodec58-core22 use with the rest of ffmpeg components.
  • allow Tor Browser reproducible builds without maintaining of ffmpeg and its dependencies compilation
  • possible use by other web browsers: firefox and derivatives. It could reduce security maintenance needs and snaps size.
  • reduce an application license mess

libavcodec also could be integrated into the gnome/core-desktop some day. kf5-5-108-qt-5-15-10-core22 already contains libavcodec as a dependency and it is usable by applications. So keeping shared part of ffmpeg small can prevent framework bloat later.

libavcodec58-core22 can be transferred to snapcrafters or canonical.

Every statement can be discussed first.

1 Like

libavcodec could have free and non-free tracks selectable by the user

Hi @kotyk,

Sorry for the delay coming to this, it got missed in our queue for a while.

Are those snaps not already auto-connecting the interface successfully? Given you are the publisher of them, that should be allowed without an explicit auto-connect being granted. Regarding global auto-connect, from https://snapcraft.io/docs/process-for-aliases-auto-connections-and-tracks, there is a note on the content-interface explaining that we don’t usually grant this:

content - the base declaration defines that snaps that plugs the content interface will auto-connect with other snaps from the same publisher. Global auto-connect for content providers is allowed only under certain circumstances

  • Rationale: because there is no tight coupling or dependency graphs between the provider and the consumer, there are no guarantees that a providing snap cannot break consuming snaps. Publishers are expected to manage breaking changes with their snaps, but are not generally expected to be concerned about others’ snaps

-1 from me on the global auto-connect.

Hello @kotyk guess you missed and my fault too, as I got no time to make a documentation on this.

This has everything, and doesn’t stage from the repo, rather, builds everything from source. Also there is already a PR from me.

Would you like to help me continue to maintain this?

Also, as a note, there is a SDK for webkitgtk

EDIT: Snaps using ffmpeg-2204 are

  1. Metadata Cleaner
  2. Video Trimmer
  3. Tube Converter(Parabolic)
  4. Tagger
1 Like

It’s a cool project. But isn’t it too heavy for a web browser?

Anyway, there should be any form of ffmpeg content snap from trusted publisher with global autoconnection.

1 Like

It will be used any where, doesn’t matter a web browser or what. It has everything related to ffmpeg. And Global Autoconnection is not really necessary, those who want to use this, just ask for an autoconnection and done. Tube Converter and Tagger aren’t published by me, so, I just asked for auto-connection here. It’s unnecessary to be given global. For that we also need to add the paths like LD_LIBRARY_PATH, PATH to the snapd, cause people should not even think about that also.

Hi @kotyk, as mentioned by @dclane above, granting global auto-connect to content-interface may break other snaps and that’s why we generally don’t grant this interface. So -1 from me as well

thanks

Thanks for looking at this 0xnishit.

That’s 2 votes against, 0 in favour; Not granting this auto-connect.