[FFmpeg-devel] [PATCH v12 1/1] avformat: Add IPFS protocol support.

Michael Niedermayer michael at niedermayer.cc
Wed Apr 6 18:03:49 EEST 2022


On Tue, Apr 05, 2022 at 11:27:12PM +0200, Mark Gaiser wrote:
[...]
> >
> >
> > [...]
> > > +    // Populate c->gateway_buffer with whatever is in c->gateway
> > > +    if (c->gateway != NULL) {
> > > +        if (snprintf(c->gateway_buffer, sizeof(c->gateway_buffer), "%s",
> > > +                     c->gateway) >= sizeof(c->gateway_buffer)) {
> > > +            av_log(h, AV_LOG_WARNING, "The -gateway parameter is too
> > long. "
> > > +                                      "We allow a max of %zu
> > characters\n",
> > > +                   sizeof(c->gateway_buffer));
> > > +            ret = AVERROR(EINVAL);
> > > +            goto err;
> > > +        }
> > > +    } else {
> > > +        // Populate the IPFS gateway if we have any.
> > > +        // If not, inform the user how to properly set one.
> > > +        ret = populate_ipfs_gateway(h);
> > > +
> > > +        if (ret < 1) {
> > > +            // We fallback on dweb.link (managed by Protocol Labs).
> > > +            snprintf(c->gateway_buffer, sizeof(c->gateway_buffer), "
> > https://dweb.link");
> > > +
> > > +            av_log(h, AV_LOG_WARNING, "IPFS does not appear to be
> > running. "
> > > +                                      "You’re now using the public
> > gateway at dweb.link.\n");
> > > +            av_log(h, AV_LOG_INFO, "Installing IPFS locally is
> > recommended to "
> > > +                                   "improve performance and
> > reliability, "
> > > +                                   "and not share all your activity
> > with a single IPFS gateway.\n"
> > > +                   "There are multiple options to define this
> > gateway.\n"
> > > +                   "1. Call ffmpeg with a gateway param, "
> > > +                                   "without a trailing slash: -gateway
> > <url>.\n"
> > > +                   "2. Define an $IPFS_GATEWAY environment variable
> > with the "
> > > +                                   "full HTTP URL to the gateway "
> > > +                                   "without trailing forward slash.\n"
> > > +                   "3. Define an $IPFS_PATH environment variable "
> > > +                                   "and point it to the IPFS data path "
> > > +                                   "- this is typically ~/.ipfs\n");
> > > +        }
> > > +    }
> >
> > This will print the warning every time a ipfs url is opened. Not just once
> > is that intended ?
> >
> 
> Yes.
> 
> Or rather, I don't see how to make it persistent in a nice intuitive way.
> By nice intuitive I mean showing it for, lets say, 10 times you use ffmpeg
> to be "sure" you've seen it before it can stop annoying the user about it.
> 
> Adding complexity for that doesn't seem to be worth it to me.

my concern was a use case like image2 formats which open a protocol connection
per image. So a ipfs://.../image%d.jpeg would produce a warning per image
iam not sure this use case makes sense though. 

thx


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220406/83ed7a0d/attachment.sig>


More information about the ffmpeg-devel mailing list