motioneye icon indicating copy to clipboard operation
motioneye copied to clipboard

Release 0.43.1

Open MichaIng opened this issue 1 month ago • 1 comments

What's new:

  • The /picture/ID/list and /movie/ID/list media file list API have been extended by a new optional boolean with_stat query parameter, which defaults to true, preserving the previous behavior. If set to with_stat=false, the returned data object contains only the data.path element, no data.timestamp, data.sizeStr, etc. This speeds up processing time and request size by at least a magnitude of order, and hence reduces the change to run into the list_media_timeout timeout defined in motioneye.conf. This is made use of internally for the initial recursive file list requested when opening the picture/movie browser on camera panels, when generating a time-lapse movie, downloading or deleting all media files in a directory, speeding up each of these tasks significantly: #3225 @MichaIng
  • Also behind the scenes, the Python code to loop through the files and obtain the info has been unified and enhanced, to speed up the calls: #3215 #3219 @MichaIng
  • Several translation updates, many thanks to all @weblate contributors ❤️
  • Some major polishing on our Weblate translation repository has been done: with Nepali being the only exception, all languages got all missing strings machine-translated, and all machine-translated backend/Python strings are now used by motionEye. Previously, those, which are marked as "needs editing", were not compiled, hence Esperanto source strings were shown instead. However, note that the quality of those machine-translated strings varies. We have no costly API key for proper translation services like DeepL, hence LibreTranslate is used, which ... has mixed results 😅. But I spent some time to address nearly all annotations of Weblate's quality checks, which includes a lot of formal things like correct spacing, consistent punctuation, Python format variables, as well as word repetition and similar things, which includes most bad machine-translation results. For some languages, LibreTranslate does not work, in which case I used DeepL manually. Only for Nepali, with close to 500 missing strings, the work would have been too much, bear with me. The machine-translated strings do not contribute to the completion percentage, show up as "unfinished words" with a "needs editing" mark. => So please everyone, check our our Weblate repo, and help to finish or polish the translation for your language, let's make motionEye a please to use for people of any language and culture 🙂. @MichaIng

ToDo before merge:

  • [x] Update version string
  • [x] Update readme to skip --pre for install, resp. add note that --pre can be used to pull the latest beta instead
  • [x] Unlock Docker Hub uploads, but only for stable releases: A logic is needed to skip it for dev branch merges: https://github.com/motioneye-project/motioneye/blob/dev/.github/workflows/docker.yml @ccrisan would you mind to add your DOCKER_USERNAME and DOCKER_TOKEN to actions repo secrets? EDIT: Ah actually I think it is better to create a new Docker Hub account motioneye-project, since you use your's for other projects as well, so we do not run into fiddling with account access etc. I guess it is possible to make it so that multiple people can have access, like a GitHub orga does. Free plan allows only 40 image downloads per hour, which seems insufficient for our case, looking at our ghcr download counts. But there is a open source support program we can apply to. We'll figure it our: https://www.docker.com/community/open-source/application/

MichaIng avatar Dec 05 '25 20:12 MichaIng

Okay, after polishing our Weblate translation repo yesterday, today I managed to create a free (as in beer) Docker orga now: https://hub.docker.com/repository/docker/motioneyeproject/motioneye/general

Not that trivial: This is based on an old "free team" plan, which was slated for removal in 2023, but then the plan was reverted. But as a result, one cannot create such orga directly anymore, but only by converting an existing account. So I created two accounts, a personal one and a motioneyeproject: dashes are not allowed, and "motioneye" was not allowed, too, probably due to name conflict with the existing repo: https://hub.docker.com/repository/docker/motioneyeproject/motioneye/general

It has some limits, like max 3 members (@ccrisan I invited you, no obligations), not sure about download counts. I'll setup our CI to upload to this repo as well, let's see how it goes.

Let me know if anyone has a better idea how to manage it. I'll also apply to the Docker Sponsored Open Source Program: https://www.docker.com/community/open-source/application/ That way it might be possible to lift some of the limits.

MichaIng avatar Dec 10 '25 15:12 MichaIng