Ok. For the video server, I was able to get minidlna to see my is:video folder, and dlna clients seem to play the videos just fine. However, I did have to run minidlna under the same user as perkeep mount. Seems there are fuse options that can be set in Bazil.org/fuse to allow the mount to be accessible to other users. Also no thumbnails right now, and only filename based -- would be nice if there was a way to pass along DLNA metadata but not sure what's involved there. I might make a write-up about the whole setup, it took quite a bit of fiddling to get up and running.
On Thursday, May 23, 2019 at 3:08:48 AM UTC-5, eric wrote: > > Super cool! > I'd be interested to get something like that merged. Would you be up > for submitting a patch (https://perkeep.org/code#contributing)? Even > if you don't want to finish it up, it's a starting point. > I'm pretty familiar with the fs module and would be happy to review. > > I noticed there's support for persisted searches (namedSearch in > > https://github.com/perkeep/perkeep/blob/7f17c0483f2e86575ed87aac35fb75154b16b7f4/pkg/search/predicate.go#L695), > > > would be cool to make them show up as search/name/ dirs, although > there's no UI currently for creating them. > > On Tue, May 21, 2019 at 3:20 PM dx25 <[email protected] <javascript:>> > wrote: > > > > Nice, now it seems to be working. > > > > On Tuesday, May 21, 2019 at 4:55:34 PM UTC-5, mathieu.lonjaret wrote: > >> > >> Probably because search queries have a default max number of returned > >> results. You should be able to get an unlimited amount by specifying a > >> Limit of -1 in your query. See > >> https://perkeep.org/pkg/search#SearchQuery. > >> > >> On Tue, 21 May 2019 at 23:34, dx25 <[email protected]> wrote: > >> > > >> > I've been trying out Eric's magic directory idea, using the "recent" > and "at" implementations as a guide. I was able to get it working (sort > of) -- within the new "search" subfolder, I can do something like cd > "after:\"10-01-2017\" and is:image", and get a directory back with the > right results, except that it seems to max out at 201 results for some > reason. > >> > > >> > > >> > > >> > On Thursday, May 9, 2019 at 4:32:36 PM UTC-5, mathieu.lonjaret wrote: > >> >> > >> >> Hello, > >> >> > >> >> On Thu, 9 May 2019 at 00:26, Eric Drechsel <[email protected]> > wrote: > >> >> > > >> >> > Hi Dave, > >> >> > > >> >> > On Wed, May 8, 2019 at 1:56 PM dx25 <[email protected]> wrote: > >> >> >> > >> >> >> I finally got around to looking at this video server idea again > -- as Mathieu suggested, I created a folder in web UI and moved all video > files to the folder. Now when pk-mounted, the new folder is not visible in > "roots" unless I manually set the camliRoot attribute to it, and none of > the videos are visible within unless I set, say, a camliPath:filename.mp4 > attribute on the folder permanode. Mathieu, you mentioned adding a custom > handler. As I look through the source, I see a number of other > blobservers, but I have no clue how to use them or what they are for. I'm > assuming that was how were suggesting I deal with this camliRoot/camliPath > problem? > >> >> >> > >> >> >> The other idea I had was an approach similar to how > <pkmount>/recent folder is working. Within that folder, I can see > filenames for some recently added stuff, apparently without the need for > these redundant camliPath: attributes (since the fileName is stored with > the blob content for the videos). Was curious to see how this actually > populates the /recent folder, but was unable to locate the implementation. > >> >> > >> >> As Eric said, if you want to see how the magic of pk mount works, > it's > >> >> all in pkg/fs. But honestly if you want things to show up as files > in > >> >> pk mount, I maintain that it's probably easier to do a bit of > glueing > >> >> and scripting on top of things, to add the relevant camliRoots and > >> >> camliPaths to your permanodes, than to hack a new "magic directory" > in > >> >> pkg/fs. Dealing with fuse stuff isn't easy imho. > >> >> > >> >> > Mathieu, you mentioned adding a custom handler. As I look through > the source, I see a number of other blobservers, but I have no clue how to > use them or what they are for. I'm assuming that was how were suggesting I > deal with this camliRoot/camliPath problem? > >> >> > >> >> The other idea I had mentioned earlier is also harder than the very > >> >> first option, but probably not as hard as inventing new things in > >> >> pkg/fs. But it still requires you to understand what typically > happens > >> >> to a blob when Perkeep receives it, with regard to how the > conditional > >> >> blobserver only passes it to the indexer if it is a schema blob, > then > >> >> how the indexer treats it depending on what kind of mutation it is, > >> >> etc. My very rough idea was that you could add your own custom piece > >> >> in the middle that does the job of creating the camliPaths and > >> >> camliRoots somewhere along the line, when e.g. the indexer sees it > is > >> >> a video file. But again, that is pretty involved too, and wouldn't > be > >> >> a very adaptable/reusable mechanism, so all in all, probably not a > >> >> very good idea. > >> >> > >> >> > The mapping of nodes to filenames happens starting at > https://github.com/perkeep/perkeep/blob/7f17c0483f2e86575ed87aac35fb75154b16b7f4/pkg/fs/recent.go#L104 > > >> >> > > >> >> >> Any idea where I should look for it? As I was saying in my > original post, it seems like what I'd really want here is to write my own > alternative implementation of /recent (called, e.g. /videos), that makes > all uploaded videos available. I was able to successfully add a "is:video" > search parameter that uses the mime type prefix, but that's as far as I've > gotten. > >> >> >> > >> >> >> So, any ideas on what direction to go next? > >> >> >> > >> >> > fs.RecentDir is a good template for a search-backed directory. It > seems like it might be appropriate to make RecentDir just an instance of a > fs.SearchDir type. RecentDir doesn't have any tests but SearchDir should. > >> >> > > >> >> > I'd want to see a new "/search" node that implements Lookup() to > take a filename-escaped search string and return a new SearchDir node > similar to how fs.root implements hash-based permanode lookup here: > https://github.com/perkeep/perkeep/blob/7f17c0483f2e86575ed87aac35fb75154b16b7f4/pkg/fs/root.go#L136) > > since that would provide users with a way to perform searches through the > filesystem. > >> >> > > >> >> > I've also considered adding support for persisting searches as > permanodes, which would behave as directories. This would require changes > in a few modules but would take perkeep in the direction of end-user > programming which I think makes a lot of sense for single-tenant > self-hosted applications (tiddlywiki for example). > >> >> > > >> >> >> > >> >> >> > >> >> > > >> >> >> > >> >> >> > >> >> >> On Thursday, December 20, 2018 at 9:11:21 AM UTC-6, > mathieu.lonjaret wrote: > >> >> >>> > >> >> >>> It does not necessarily have to be manual though. The simplest > (but > >> >> >>> least efficient) way I can imagine to automatize it would be to > make a > >> >> >>> program monitoring new things being added to your Perkeep (a > camtool > >> >> >>> search call for recent items, being run regularly, for example), > and > >> >> >>> when detecting when one of these new items is a video, it would > add it > >> >> >>> to the mounted camliRoot. > >> >> >>> You could also add a custom handler which does that within > Perkeep. In > >> >> >>> the same way the cond blobserver (pkg/blobserver/cond) is used > to add > >> >> >>> a blob to the index only if it is a schema blob. But that is a > bit > >> >> >>> more involved than the above. > >> >> >>> > >> >> >>> On Thu, 20 Dec 2018 at 15:55, dx25 <[email protected]> wrote: > >> >> >>> > > >> >> >>> > Sorry, that was worded poorly. My hope was to avoid creating > a folder, and then every time phone uploads something, manually adding that > to the folder. Sounds like for now that's the way to do it though. > >> >> >>> > > >> >> >>> > > >> >> >>> > > >> >> >>> > On Wednesday, December 19, 2018 at 6:26:57 PM UTC-6, > mathieu.lonjaret wrote: > >> >> >>> >> > >> >> >>> >> On Thu, 20 Dec 2018 at 00:51, dx25 <[email protected]> wrote: > >> >> >>> >> > > >> >> >>> >> > Hi, > >> >> >>> >> > >> >> >>> >> Hello, > >> >> >>> >> > >> >> >>> >> > I have been using the android app on Perkeep to upload > photos and videos from my phone to a perkeepd instance I run locally. I'm > also running Plex Media Server on that same machine, and would like it to > serve up the videos I've added to Perkeep. My first thought was to run > pk-mount as a service, pointing Plex there, and hopefully everything would > just work. > >> >> >>> >> > >> >> >>> >> Yes, in theory that should work. > >> >> >>> >> > >> >> >>> >> > However, I can't figure out how to access content uploaded > from the phone via pk-mount. > >> >> >>> >> > >> >> >>> >> Have you seen https://perkeep.org/cmd/pk-mount/ ? > >> >> >>> >> What step are you blocked at exactly? > >> >> >>> >> > >> >> >>> >> > Ideally I would create a search that finds all videos (e.g. > "format:mp4", although this appears not to be supported now), and then be > able to mount that search directly in pk-mount. Is something like this > possible? > >> >> >>> >> > >> >> >>> >> No, I don't think you can do that kind of thing for now. You > can only > >> >> >>> >> control whether you want to only mount a subset via the > second > >> >> >>> >> argument of pk-mount. So what you can actually do pretty > easily, is to > >> >> >>> >> gather (after you searched for them) all your videos under a > common > >> >> >>> >> root. Then you mount that very root with pk-mount. > >> >> >>> >> > >> >> >>> >> hth, > >> >> >>> >> Mathieu > >> >> >>> >> > >> >> >>> >> > You received this message because you are subscribed to the > Google Groups "Perkeep" group. > >> >> >>> >> > To unsubscribe from this group and stop receiving emails > from it, send an email to [email protected]. > >> >> >>> >> > For more options, visit https://groups.google.com/d/optout. > > >> >> >>> > > >> >> >>> > -- > >> >> >>> > You received this message because you are subscribed to the > Google Groups "Perkeep" group. > >> >> >>> > To unsubscribe from this group and stop receiving emails from > it, send an email to [email protected]. > >> >> >>> > For more options, visit https://groups.google.com/d/optout. > >> >> >> > >> >> >> -- > >> >> >> You received this message because you are subscribed to the > Google Groups "Perkeep" group. > >> >> >> To unsubscribe from this group and stop receiving emails from it, > send an email to [email protected]. > >> >> >> To view this discussion on the web visit > https://groups.google.com/d/msgid/perkeep/1b38a8f6-d118-4951-9ae7-dbd87ffe1a07%40googlegroups.com. > > > >> >> >> For more options, visit https://groups.google.com/d/optout. > >> >> > > >> >> > > >> >> > > >> >> > -- > >> >> > best, Eric > >> >> > eric.pdxhub.org > >> >> > > >> >> > -- > >> >> > You received this message because you are subscribed to the Google > Groups "Perkeep" group. > >> >> > To unsubscribe from this group and stop receiving emails from it, > send an email to [email protected]. > >> >> > To view this discussion on the web visit > https://groups.google.com/d/msgid/perkeep/CAGTxtWiNUbSG_m4mLYqHsPfinxaVqUGB29G2J%2Bjr5VZuYrUTYA%40mail.gmail.com. > > > >> >> > For more options, visit https://groups.google.com/d/optout. > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > Groups "Perkeep" group. > >> > To unsubscribe from this group and stop receiving emails from it, > send an email to [email protected]. > >> > To view this discussion on the web visit > https://groups.google.com/d/msgid/perkeep/3f330c68-61b2-48a3-9c80-0489a839d503%40googlegroups.com. > > > >> > For more options, visit https://groups.google.com/d/optout. > > > > -- > > You received this message because you are subscribed to the Google > Groups "Perkeep" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected] <javascript:>. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/perkeep/3ffb2f72-8c98-4e8e-90f4-69e514009184%40googlegroups.com. > > > > For more options, visit https://groups.google.com/d/optout. > > > > -- > best, Eric > eric.pdxhub.org > -- You received this message because you are subscribed to the Google Groups "Perkeep" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/perkeep/0f6ead92-6fcd-4f25-ae51-4bf23b1a0387%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
