#sknebelso you want to avoid hosting the video yourself
#sknebel(I posted a post with an embedded video recently, but that was only a link-preview so to speak and not a video I am publishing, so not a /video post
#ZegnatYes. I wouldn’t want to host it myself in this case.
#ZegnatE.g. I consume a lot of video game content. If I want to post a particular play through that happened on Twitch, those can easily be several hour long videos, that I have no intention of hosting myself. Especially when you want to (or must) offer several encodings.
#ZegnatBut many of these external platforms do not have simple file links I can point people (or mf2 parsers) to. Last I checked Twitch’s video player is actually backed by a playlist of short clips. They do that so loading times are kept to a minimum when you jump around in a 12 hour live stream.
#sknebelso are you creating the external video you want to embed, or are you linking to something somebody else posted? the latter IMHO wouldn't be marked up as a video post, but a like/repost/...
#sknebelbut the question in the general case is a good one
#ZegnatI’d be posting gaming livestreams that I am apart of. So I would like to post those as my own content, not “a like/repost/...”
#ZegnatThough maybe it is a repost by default because it went out on a streaming platform
#ZegnatIt is a PESOS copy but the main content (the video) is still being served by the external platform.
#sknebelmaybe, on the other hand is PESOS a repost?
#sknebelsome people link externally hosted images in their PESOS posts/posts in general, and those are not reposts necessarily
#sknebele.g. isn't tantek embedding most of his images from external silos
#ZegnatI don’t think anyone is treating PESOS as a repost right now? More like syndication: it went out to platform X, but I am the author there and I am also putting it out on my own site.
#ZegnatTo stick with the video case: an example would be me going live on Twitch and then making a video post on my site that has the Twitch embed iframe of the live stream.
#ZegnatAfter the stream, I would change the iframe embed to no longer point to the live stream URL, but point to the specific archived-stream-footage on Twitch. On my site the URL never had to change and people can still see what was done.
#ZegnatThat is basically the use-case I am looking at. Though you can change Twitch for YouTube/Mixer/whatever.
#sknebelin a reader, one might automatically generate embeds for linked hosted videos for likes/reposts/... instead of relying on the posting site to do something like that
#ZegnatIt doesn’t feel like a repost, and I would like it to be a /video post. But everything I am reading assumes u-video with a link to the video file.
#ZegnatAnd even if it is a repost, the problem extends to the video silos as they have no way to add mf2 to their video pages. Because they too do not have a link to a single video file.
#LoqiIt looks like we don't have a page for "embedded" yet. Would you like to create it? (Or just say "embedded is ____", a sentence describing the term)
#sknebelso what you want to express is something like "here is content of type X, and since it's complicated here's an embed snippet"
#sknebelthat sounds quite confusing to consume though.
#sknebelI guess e-content is clearly identifyable in parser output
#Zegnatmf2 parser output is always confusing to consume. E.g. you never know if something is a URL (u-*) or not without running an URI parser.
#sknebelI can't come up with anything nicer right now
#sknebeladditional question maybe: can you construct it in a way that a client can discover and show the link to the stream page instead, when it doesn't want to/can't do embedding
#sknebel(which to me sounds like an additional nested object, that has embedd and alternative url)
#ancardaIf I want to write a blog post where I mention an IndieWeb user, how should I markup their name? e.g. `<a class="p-name" lang="nl" href="https://vanderven.se/martijn/"><span class="p-given-name">Martijn</span> <span class="p-family-name">van der Ven</span></a>`? This would be inside an h-entry/h-feed. I don't want it confused with my h-card (that won't happen, right?)
#ancardaWhat is hreflang? I don't really understand what that property does
#LoqiIt looks like we don't have a page for "hreflang" yet. Would you like to create it? (Or just say "hreflang is ____", a sentence describing the term)
#sknebelit declares what language the linked document is in
#ZegnatI use it for CSS flags. I don’t know if anything consumes it. I feel like software like screenreaders should announce it so you know if it is interesting to click through at all.
#ZegnatOh, interesting. The YouTube API has a `player` object in its JSON video resource. With `embedHtml`, `embedHeight`, and `embedWidth` properties.
#Zegnataaronpk, question: for XRay as a public instance instead of library (as xray.p3k.io) where would one store the API credentials? In the config file?
#sknebelisn't the api user supposed to bring their own credentials?
#ZegnatIf you are offering XRay-as-a-Service then you as hoster are the user and bring the credentials.
#ZegnatI am just not sure where they are configured.
#sknebelhm, I thought to use xray.p3k.io I need my own credentials
[eddie] joined the channel
#[eddie]Yes, you have to supply the credentials through the URL request
#aaronpkyep that's in order to avoid rate limiting issues with everyone sharing the same credentials
#ZegnatI don’t know why I even thought public X-Ray worked for tweets etc without separate credentials.
#aaronpkmaybe cause Loqi auto-expands tweets here using xray?
#sknebelaaronpk: do you have some shared code for checking the url and attaching the right api keys, are you using xray internally as an API all the time or how do you handle that?
#aaronpkoh wait, Loqi doesn't use XRay at all! it still has my old code that uses the twitter api directly
#aaronpkmy site uses XRay to fetch reply contexts tho. I have a regex that checks whether a URL matches a tweet permalink and then it includes the twitter API keys when talking to XRay
#ZegnatHuh. I thought Loqi used XRay for everything. The more you know.
#ZegnatOh, that shows that YouTube also does OpenGraph, apparently?
#ZegnatIf you go to iframely’s “Origin Data” tab you can see how much YouTube cares about communicating the author. It is literally only within the oEmbed object (which takes an extra HTTP request to get)
#ancardaZegnat: What happens when I send you a WebMention? Do you log it?
#ancarda(I just sent my first WebMention ever -- although manually in curl)
#ZegnatI log those and let myself know I received one.
#ZegnatThough the notification step is sometimes borked...
#ZegnatYours registered as received on 2017-12-26T16:33:15+00:00
#ancardaDid I do it correctly? e.g. encoding, didn't get target/source mixed up again?
#ancarda(and published my first h-entry blog post, the URL you can find in that mention)
#ZegnatHmmm, I like how YouTube (at least according to iframely) handles the OpenGraph data. For the video URL they link to the embedable URL and specify og:video:type as text/html, per http://ogp.me/#structured
#Zegnatwonders if a mime-type sub property could make sense on video / audio mf2 properties
#ancardaCan anyone help me debug an Nginx issue? My website is built with Slim, so all requests need to go to index.php, if they don't exist on disk. For instance `/auth/` should load because `/auth/index.php` exists
#sknebelthere is some argument to reflect the multiple sources that can be in <video> tags
#aaronpkI thought I saw some brainstorming of that
#aaronpknot sure where that actually came from tho
#ancardaI have `try_files $uri /index.php$is_args$args;` in a `location /` block. This will get requests to go through Slim as if the file doesn't exist, it calls index.php instead
#ancardaBut, now `/auth/` doesn't work, only `/auth/index.php`
#sknebelaaronpk: interesting, that's not something you generate from a mf2 parser output right now
#ZegnatAh, that looks pretty good aaronpk. XRay is supposed to output jf2 right? So I could make it output the embed URL in video and put an HTML mime type with it?
#ZegnatThat would be interesting... and because you have a video property then, consumers can identify it as a video post!
#ZegnatAlthough the microformats for u-video as shown there don’t sound valid
snarfed joined the channel
#ZegnatThat should have been class="u-video" on the separate source elements.
#aaronpki'm not sure where that jf2 idea came from so i'd be hesitant to jump into that without first exploring the microformats version of it
#ZegnatThe microformats version will also need to be updated though, as that brainstorm is about rel-parsing and not u-* parsing.
#Zegnatjf2 also lists kevinmarks (ping) as author, who also wrote the rel-enclosure brainstorm, so if you have any comments please share Kevin!
#ZegnatThe only problem I see with the mf2 path is that you either start to dangerously overload u-* parsing (if u-* on element W, also include attributes X, Y, and Z in an object) or will require a new prefix (f-* for file? m-* for media? ...)
John___ joined the channel
#Zegnat(btw: doing just a curl, no special UA set, on a YouTube URL does give me the meta elements.)
#ben_thatmustbemeas to where it came from, thats partly to bridge with jsonfeeds, since they do use multiple formats like that. an adequate translation should get at least one of those though
#ZegnatI feel like mime/content-type would be a nice addition, will write-up a brainstorm on the mf wiki after dinner.
#ZegnatWould give parity with jf2, JSON Feed, OpenGraph, and possibly more. (Also put those thoughts in #microformats )
eli_oat and [kevinmarks] joined the channel
#[kevinmarks]That's how rel-alternate works - should be in the rels list for mf2 parsing, but not in jf2
#[kevinmarks]Also, showing flags with hreflang is a bit dubious, as countries and languages are different things. Yes, de, fr and jp are collisions in the codes that seem to work, but they're anomalies
#ZegnatI was more picky, e.g. using UK flag for en-GB. Also since I was napping them to flags manually the language code did not have to be the same as the country code.
#ZegnatFor my pronouns I actually show the language codes now, instead of flags. Because I do think flags are bad identifies.
#[kevinmarks]Right, but there are lots of other languages in the UK, and the Welsh particularly would object 🏴
#sknebelokay, what's the place to collect them? (finding examples of people posting yt embeds isn't going to be difficult, but lets go through the motions)
#tantekBTW re: Youtube, I too link to Youtube videos once in a while, and the CASSIS auto_link function automatically embeds them for me in my notes
#tantekhow is linking to youtube videos an interesting different use-case at all compared to just linking to anything?
#sknebelhow is linking an mp4 file different than just linking to anything?
#tanteksknebel: because lots of existing sites have explicitly different UI for both posting and viewing video posts
#tantekwhereas a link is just a link, sometimes with a link preview
#tantekdistinctly different posting / viewing UI = worth documenting as a use-case
#tantekotherwise just treat it as a note until you have good UI reason to do otherwise
#sknebeldon't see why my viewing UI (=reader) should have a difference between posts that link an mp4 file and posts that link an html file playing the video
#tanteksknebel: go look at how /jam evolved. it was just notes for a while, then the example of /ThisIsMyJam and their different UI inspired evolving it
#tantekand besides, one kinda obvious answer is, a reader with direct access to mp4 files can play them directly, back to back, without you needing to interact with a bunch of random different HTML UIs from other sites
#tantekfor audio in particular, that's why podcasting exists
#Loqi[tantek] sknebel: because lots of existing sites have explicitly different UI for both posting and viewing video posts
#sknebelthen I don't see how that distinction does not exist for embedded videos
#tantekyou can't really do anything with a double-negative like that
#tanteklike: without documenting examples of what you're talking about, you can't really reason what does or does not exist about them to come to any conclusions
#tantekI offered one example (YouTube links) and gave an example of how it's treated currently (auto-embeds via an auto_link function)
#LoqiAn autoembed is an embedding of media, typically of an image or video, that was automatically added from a URL to that media, to provide immediate viewing and or direct interaction with that media https://indieweb.org/autoembed
#tanteksknebel do you see the difference between "upload mp4" and "share link" or no?
#tantekthat's the difference between supporting /video post vs just linking to random things including YouTube links which may themselves have videos to play
#sknebelyes, and since you've declared that this difference apparently overrides the use case for making them similar to handle for readers I don't see much point in continuing this right now (also, busy. gotta pack)
#tanteksknebel - the difference is that there are no readers doing the latter at all
#tantekso it's a completely theoretical example from a UI perspective
#tantekno one has built something that will go grab 3rd party HTML player links and then play them sequentially like a podcast app plays podcasts sequentially from 3rd party sites
#tantekif you can figure out how to make that work with existing Youtube links great - you don't need a format for that
#tantekyou can auto-detect that it's a youtube link and hack your prototype up from that
#tantekthis is not about "declaring" it is about acknowledging. one thing exists (podcast "readers"), the other does not (HTML player link "readers")
#tantekand btw, personally I would be very interseted in a solution to that (auto-play a series of youtube videos)
#tantekbut I have no idea how to build it, so if you figure that out - awesome!
#tantekfeel free to capture your thoughts along the way to building that on /YouTube#Brainstorming and I'll try to help with anything I figure out
#[kevinmarks]I did make a thing that turned a list of MP3 links into a podcast compatible feed (because there was a use case)
#[kevinmarks]But I didn't generalise it yet as I haven't seen other cases where it would be useful
#[eddie]As much as I love to usually debate and disagree with tantek 😉 as far as microformats are concerned, I agree. I haven't come across any different behavior for YouTube video links. In my site I ultimately just detect the youtube URL and the "link preview" is adding the embed code with the given detected YouTube url.
#[eddie]I plan on any future reader I build to do the same thing. Detect any url that has youtube and do a link preview with an embed.
#ZegnatI get the link preview, auto-embedding, etc. But if it is a PESOS post, I would like for it to be identified as a video post, as that is the main thing about the post. That was what I was struggling with.
#ZegnatFor my YouTube support in XRay I will just follow jf2, which does support content type, and follow the OpenGraph example of linking to the embeddable HTML.
#aaronpkI'm not convinced about that jf2 syntax yet fwiw
#aaronpkbecause I don't understand where it came from
#ZegnatI am not sure if I like it yet, but that’ll become apparent to me when I build it
#ZegnatI kinda like what YouTube is going with OpenGraph og:video:url in combination with og:video:type, and I do not mind mapping those to jf2’s structure.
#ZegnatOr to JSON Feed for that matter. Which will come in handy, as I want to generate feeds from YouTube Playlists.
#ZegnatBasically content-type text/html is going to tell my reader to show the video with an iframe instead of a video element. Works for me.
#ZegnatA long blog post that just happens to embed a video, I might still want to read (just not let the video load). But posts (like those of people I follow on YouTube) where video is the main content I need to sort out and hold until I get WiFi.
#ZegnatSo I can’t just filter out things with iframes.
#ZegnatNote also that my consuming use-case is actually coming before publications use-case. E.g. if I teach XRay to create the jf2 feed for YouTube channels and playlists, I could subscribe to those (with monocle/together/whatever) or simply convert to JSON Feed to subscribe with Reeder. This means the jf2 option for video properties is actually more imp
#Zegnatortant to me than how we will later do it in HTML with mf2.
#ZegnatI have some videos that I would like to post to my blog and backdate, but I am not producing new online video content until March–April when we are expecting to have internet at home again. So posting is several months out still.
KevinMarks and tantek joined the channel
#tantekjust realized the whole use of "PESOS" in this discussion about linking or iframes is misunderstanding PESOS
#tanteklinking or embedding something is not the same as publishing or syndicating it
#tantekthe whole point of PESOS was to provide an alternative model to POSSE for situations when POSSE was too hard (not yet implemented)
#ZegnatHow do I publish a 5 hour livestream on my site if my server cannot take the space and bandwidth required?
#ZegnatYou aren’t serving them from your own hosting though. How is that different from me serving video straight from the silo because I don’t want to host it myself?
#LoqiSingle points of failure (SPOFs) are aspects or parts of a system which, when they fail, cause crucial parts of (or the entire) system to fail https://indieweb.org/spof
#ZegnatIf the silo ever goes down I just need to find new hosting. It is not like I do not have the video files...
#tantek^^^ that's the difference. your "linking" or "embedding" is not a post at all. it is a link to a SPOF
#ZegnatThere is just no way I am hosting a 5 hour gaming livestream on my small VPS.
#tantekwhereas link to HTML player = dead iframe on internet archive
#ZegnatThe real problem isn’t so much getting it on several video hosting platforms. It is that almost no video hosting platform offer direct video-file links.
#ZegnatThe real problem is that this is really long form video content. That’s also the reason why e.g. Twitch doesn’t have a single video file available. To make it quick to seek etc Twitch actually slices video into many small fragment files and streams it to their player as a playlist.
#tantekand have direct access to the video files, thus be able to actually post video posts
#ZegnatI’ll repeat: “I didn’t think you could use Internet Archive for copyrighted video”
#tantekthen it's not your content in the first place?
#ZegnatI am co-creator of an adventure game stream. But as my partner wants to make a career out of it, those streams are not under an open licence.
#ZegnatI am not going to jeopardize him by putting it up under an open licence.
#tantekah ok, yes co-ownership of posts is trickier and not something we've discussed much
#tantekran into a similar question/problem with hosting of large "not quite fully owned" audio files, friends were asking me where they should move their Soundcloud posts to
#ZegnatI have the right to publish it, and would love publishing it on my site. But when I looked into Internet Archive for that before they seemed to be saying that I needed to atleast be something like Share Alike. But I don’t want to give *everyone* publishing rights.
#tanteksimilarly people post stuff like that on Soundcloud
#tantekbut cannot post on Internet Archive for the same reason
#tantekbut with the threat of Soundcloud shutting down it scared a lot of people
#tantek(meaning, they didn't actually own their posts)
#tanteksame thing if Twitch shuts down, or when YouTube takes down videos for random reasons
#tantekvideo posts are definitely harder in that regard
AngeloGladding joined the channel
#tantekbut what's worse is don't pretend to be POSSEing or PESOSing something if you're not actually making a copy of it
#ZegnatI am happy to have specialised video silos handle it. It is just that it often means I do not have a specific video file to link to in my u-video. Which then means PTD doesn’t think of my post as a video post. Except the post has no content other than the video... Which loops me back to how I like what YouTube is doing with OpenGraph and defining t
#Zegnatheir embeddable HTML link (for iframe) as the video link ;)
#ZegnatI have a copy locally, a copy on YouTube, and a copy on Twitch. That doesn’t sound a whole lot different from your photo posts? Except that you maybe trust the Internet Archive more to stay afloat than I trust Twitch :P
#tantekno, my act of publishing *makes* the copies, that's the point, and that's why it's POSSEing
#tantekautomatic to three silos (Flickr, FB, Twitter), manual to one more (Instagram)
#tantekand yes, a static media resource like jpg mp4 mp3 etc that can be auto-downloaded / archived makes a massive difference.
#tantekin terms of archivability, recoverability, redirectability etc.
#tanteklinking / embedding stuff is fine, just don't call it PESOS because it's not. you're not copying the actual thing, when you link or embed it.
#ZegnatYes. And I can automatically have a local copy, a Twitch copy, and a YouTube copy, with minimal manual labour already. Twitch I think even has a button to mirror to YouTube, so I don’t even need to think about that copy.
#ZegnatBut I do have a copy. I am just not serving that copy on my site. Much like you are doing, where you are not serving the local photo copy but are serving the photo as hosted by a silo?
#ZegnatYou are just embedding your photos from a silo in your photo posts. Just saying that you have a backup. And so have I.
#tantekso local doesn't count, that's the whole point of "web"
#tanteklocal can't be linked to, referenced, cited, etc.
#ZegnatI can’t link your last photo posts’ photo URL either. Only a silo URL. Unless I am missing something?
#tantekthere's a big difference between a static file host (e.g. S3), and depending on an HTML embed
#tanteknot sure why that is not obvious in terms of reliability, redirectability, re-usability etc.?
#tantekand yes it's on my to-do to use image.tantek URLs for the src etc. that are just served from those static file hosts
#ZegnatI don’t think there is any reliability difference between your <img src="{photo-path-on-silo}"> and my <iframe src="{video-path-on-silo">, is what I am saying. Not obvious to me at all.
AngeloGladding joined the channel
#tantekobvious difference: you can save and view locally
#tantekobvious difference, you can save and upload to another file host
#tantekreliability difference, JPG is a standard. those HTML players are not
#tantek(their underlying video may be, but you're not linking to that)
#KartikPrabhuZegnat presumbably has a local offline copy but not hosted on his site, so he can also upload to another file host
#ZegnatI could also download from those links. I download YouTube content all the time.
#tantekassuming you keep track of that local vs permalink connection
#LoqiIt looks like we don't have a page for "youtube-dl " yet. Would you like to create it? (Or just say "youtube-dl is ____", a sentence describing the term)
#tantek2. find out most devices don't support that software
#ancardayoutube-dl is a command line program written in Python to download videos from popular video hosting and streaming sites, such as YouTube and Vimeo
#tantekthose two steps typically make a massive difference to nearly anyone "as an end-user"
#ancardaI can manually make that page. Should probably be linked to archive, as that's what I suspect most people use `youtube-dl` for (it's my primary use of it)
#LoqiIt looks like we don't have a page for "youtube-dl" yet. Would you like to create it? (Or just say "youtube-dl is ____", a sentence describing the term)
#LoqiIt looks like we don't have a page for "youtube-dl" yet. Would you like to create it? (Or just say "youtube-dl is ____", a sentence describing the term)
#ancardayoutube-dl is a command line program written in Python to download video and audio from popular video and audio hosting and streaming sites, such as YouTube, Vimeo, and SoundCloud
#tantekso how come no podcast apps support offline viewing of youtube videos if it's supposedly so easy to download them?
#ZegnatDon’t know. I know my brother ran youtube-dl on his (not high-end Moto G) phone. So should definitely be possible for Podcast apps todo.
#ancardaFor me, youtube-dl frequently fails to work, and every time, a `brew update` fixes the problem. I suspect it's because downloading from YouTube isn't officially supported, and they probably break whatever undocumented APIs it's using on a regular basis
#ZegnatSites like openload and other ad filled crap has been a lot more fragile for youtube-dl support than actual YouTube
#ancardaYeah, it's absolutely amazing software. The name is very deceptive / out of date
#tantekheck they might as well slap a podcast reading/viewing/listening UI on it and rename it
#ZegnatI think for openload they currently depend on PhantomJS browser emulation just to download video, that’s how bad that has become.
#ZegnatYouTube always just downloads for me, no issue.
#ancardaMaybe I'm unlucky, or don't update my software very often
#Zegnatmpv (the media player) opens any URL through youtube-dl. I have used that to watch livestreams and listen to podcasts actually
#ancardaActually... my memory is pretty bad, so it may be since they moved to <video> it's been more reliable
#tantekto answer sknebel's question from a while ago, because publishing a link or an embed isn't making a copy, and thus is not syndicating and thus neither POSSE nor PESOS.
#tantekmy use of 4sq src URLs is like use of direct S3 URLs, they're private and one-off for purely a static bytestream. no HTML, no UI.
#LoqiIt looks like we don't have a page for "photo hosting" yet. Would you like to create it? (Or just say "photo hosting is ____", a sentence describing the term)
#aaronpkI should really host my conference videos myself as well as the youtube copy. right now I store the master mov file at home which is like 8gb/hr, and publish them on youtube. if I encoded a web-friendly version of that it would take a lot less space than 8gb/hr and I could host those files myself. just a lot of transcoding to do.
#LoqiLOCKSS is an acronym for Lots Of Copies Keeps Stuff Safe, a mnemonic for the technique of keeping and encouraging many copies of things as a way of improving their longevity https://indieweb.org/LOCKSS
#LoqiLOCKSS is an acronym for Lots Of Copies Keeps Stuff Safe, a project and collection of networks for libraries to keep copies of stuff on the web, but often used as a generic mnemonic for the technique of keeping and encouraging many copies of things as a way of improving their longevity https://indieweb.org/LOCKSS
#Loqi[Zegnat] Re photo posts with other images in their content: what about emoji images? I seem to recall people using plugins in e.g. WordPress to have emoji images. Those would not be .u-photo but dropping a winky-face from text could severely affect tone of th...
#Loqi[gRegor Morrill] Martijn asked if I had documented the micropub request I make for read posts. I had not yet, so decided to make some quick notes while it's fresh in my mind.
Currently, it sends an h-cite object with properties: status, url, name, author, and isbn....
#ZegnatBTW: another example of a video file that will not work in browser video elements is FLV. I suddenly thought of that while I was sorting and writing down my thoughts on the video thing.
#ZegnatAlso, fun fact, looks like YouTube offers a link to the application/x-shockwave-flash file to OpenGraph consumers. It really is format on-top-of format over at YouTube.