Replies: 4 comments 5 replies
-
Thanks for writing this up. Could this be accomplished with existing URL embeds and the standard set of video filetypes? example.com/media.mp4 Or do IPFS and Arweave hashes not include filetypes in the URL? |
Beta Was this translation helpful? Give feedback.
-
Curious here. What are the bandwidth comparisons of streaming multimedia from Livepeer/IPFS/Arweave compared to streaming platforms such as YouTube, Cloudflare, etc.? |
Beta Was this translation helpful? Give feedback.
-
I'm generally in favor of making it easier to embed videos into casts. Is this a Standards FIP, meant to introduce a new convention for how to embed URI's to decentralized resources like IPFS? Or is this an implementation FIP that requires code changes at the protocol level? I think it's the former, but some of the discussion items imply the latter. |
Beta Was this translation helpful? Give feedback.
-
Closing due to inactivity. |
Beta Was this translation helpful? Give feedback.
-
Overview
Video streaming is an important functionality for social networking. The ability to upload video & live stream to an audience has become a table-stakes feature for most social applications today. As an example, Twitter shared that Tweets with video attract 10x more engagements than tweets without video. Farcaster needs a great video experience, which requires media metadata formats, and a credibly neutral media processing and serving layer. Here’s a proposal for how we can add this to the ecosystem.
Opportunity: simple schema for multimedia assets
Example metadata for video assets
Retrieve metadata
To retrieve the video metadata
To retrieve & play the video file (subject to streaming quality issues due to network condition variations, especially on mobile)
To retrieve & play the optimized (transcoded and cached) video
Discussion points
Having a simple schema for multimedia assets can help set better expectations with client developers. Multimedia assets can be stored in decentralized storage networks like Filecoin or Arweave, and the content hash can be included in the cast that references the media content. In the case of video, these assets can be the originally uploaded video files. The client developers can decide to either host the files (incurring cost for good performance), or use the public gateway services from the respective decentralized storage networks (low cost, but no performance guarantee). This preserves the content integrity of the video casts through content hash, and unlocks a few possibilities:
1. Improved interoperability
Decentralized content ID represents the data itself, and sets clear expectations on how to retrieve the data. This simple schema requires the minimum information required to render the video. This makes it easy for any client developer to implement video experiences, even allows common SDKs / UI components to emerge. As a side note, it’s debatable what is the “minimum viable” metadata for a video asset.
2. Client specific optimization
Each client can decide how to optimize user experience based on the video assets. For example, a client targeting short form video can do client-side caching, while a client targeting long form video can transcode the video and attach subtitles in different languages.
3. A Farcaster media pinning service
Using decentralized storage networks doesn’t answer the question of “who pays for the service”, but it makes it is quite possible to create a cost effective data pinning service for the Farcaster ecosystem. This service can limit access to registered developers and doesn’t need to guarantee scalable delivery, thus can be build with low cost (10x-50x cheaper than using S3), low enough to be funded as a public goods service by the community, or be operated as a paid service for clients who want access to archived media data. It can even have a retention policy, similar to how Farcaster Hubs will have to periodically purge data.
4. A Farcaster video content tagging service
Automated video tagging can be a valuable tool for social apps. It can help create more context for content categorization / recommendation, and it can help flag NSFW / Illegal content before it becomes harmful to users. In a decentralized ecosystem like Farcaster, this can be done by cryptographic attestations, so the trust-worthiness of the service can be determined by the ecosystem. Having a common schema makes it easier to create an automated video tagging service, and client developers can decide on what to do given the tags. The tags can be stored in a database, or in a decentralized network like IPFS / Arweave (Arweave’s Momoka seems like an interesting option)
Why not OpenGraph?
OpenGraph is great for linking data for webpages / embedding external videos like Youtube links, but not great for dealing with media uploaded directly into Farcaster.
Relevant Discussions
Beta Was this translation helpful? Give feedback.
All reactions