Open MichaIng opened 2 years ago
What about GitHub pages?
GitHub pages are static, it's great for documentation, but i don't think we can use it for translations.
I have created a translation project on weblate : https://hosted.weblate.org/projects/motioneye-project/. Please take a look and tell me what you think about it, what you would like to change.
It looks really cool and intuitive. Nice choice. I've already started to translate a few strings into italian. Will let you know how it goes
Il giorno mar 3 mag 2022 alle ore 19:44 Jean Michault < @.***> ha scritto:
I have created a translation project on weblate : https://hosted.weblate.org/projects/motioneye-project/. Please take a look and tell me what you think about it, what you would like to change.
β Reply to this email directly, view it on GitHub https://github.com/motioneye-project/motioneye/issues/2307#issuecomment-1116374760, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARBFAY5OCIHXFYC6224AF3VIFQYXANCNFSM5QHWXZJA . You are receiving this because you were mentioned.Message ID: @.***>
@MichaIng I would just like to mention, that I don't relay know python. I am just good at web development and backend stuff in languages other than python. You don't need to request me in things only related to python stuff. Sorry, I forget to mention that.
Thanks for the hint, I'll keep that in mind π.
Hi. Could you suggest regard development, which your current development environment? It is host OS Ubuntu 20 or it is Docker container(s) (and what OS version in container). So It would be great if you have link on maybe existed instruction of Devkit needed to development. I'm devops engineer, little bit code scripts on Shell/Python, Docker and etc. Will glad to help as I can.
The Docker image is using Debian Bullseye as base image, I personally do most testing and development on a Debian Bookworm system. Generally, as it's Python 3 and Python 3.7 and later are supported, you are quite flexible.
The automated install and build tests here on GitHub are using the latest GitHub actions Ubuntu runner, which is 20.04 Focal indeed, but as fast as there is a running with 22.04 Jammy available, I aim to migrate.
perfect! thanks a lot first of all, also an upgraded docker-compose example file would be appreciated. π
Il sab 14 mag 2022, 12:48 MichaIng @.***> ha scritto:
The Docker image is using Debian Bullseye as base image, I personally do most testing and development on a Debian Bookworm system. Generally, as it's Python 3 and Python 3.7 and later are supported, you are quite flexible.
The automated install and build tests here on GitHub are using the latest GitHub actions Ubuntu runner, which is 20.04 Focal indeed, but as fast as there is a running with 22.04 Jammy available, I aim to migrate.
β Reply to this email directly, view it on GitHub https://github.com/motioneye-project/motioneye/issues/2307#issuecomment-1126689792, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOTASPI6YNH352LXJJPBZLLVJ6AGRANCNFSM5QHWXZJA . You are receiving this because you commented.Message ID: @.***>
Hey, I see 4 checkmarks in the original post and all of them are ticked. But what does that mean? Looks like the new version is still not ready to be released. I am somehow missing the project mission.
Goal of running under python3 has been achieved which I believe is great. Also anyone can contribute to translation of the user interface which I also very much welcome, but what are the actual blockers - is it the ability to run on Raspberry Pi (starting at Pi Zero), translation to at least 3 major languages, working Docker image, better documentation, some amount of testers/testimonials from users or some other things?
@MichaIng could you please present your thoughts? For me the version for a standard x86_64 and v4l camera already does a great job but apparently you have more expectations from the first yet-to-be-released python3-based version of motionEye. Thanks, jose
Goal of running under python3 has been achieved which I believe is great.
Not yet fully reached, there are still a few errors related to the Python 3 transition, at least #2486. Also adding support for motion v4.4 should be added first: #2462 I vote for starting an official beta then, including a pre-release tag here on GitHub an a related (pre-release) upload PyPI.
Here an overview over open issues and PRs attached to the v0.43.0 milestone. Not all are critical for a pre-release, but at least the open PRs should be finished and merged IMO: https://github.com/motioneye-project/motioneye/milestone/1
It's been over 6 months since the take-over, and 4 months since the last message here, I am curious as to the status of development?
I wanted to have #2462 (motion v4.4 support) added first, but as of new full-time job do not find time for it. So I'm fine with doing at least a pre-release/beta to PyPI with current dev
stage and forking off a new main
primary branch from dev
. Checking recent bug reports, it seems overall better than the current stable release, with quite a bunch of bugs solved (not related to Python 2 > 3 move) and features added.
@jmichault
I saw you added a daily upload workflow to the master2
branch, which requires a valid token only to function? https://github.com/motioneye-project/motioneye/blob/python2/.github/workflows/pypi_daily_build.yml
I would vote for not doing daily uploads, but when pushing a release tag here on GitHub. A "pre-release" on GitHub could then be uploaded to PyPI as pre-release (not sure how this is done π
), and a stable release as stable to PyPI respectively.
I can do/adjust the workflow part with triggers when pushing to release tags, but I'm not familiar with the tools to upload to PyPI.
What should be a priority is to be able to run motioneye on latest Raspberry Pi OS (Bullseye), 64bit preferably. Buster (previous version) is already deprecated for Home Assistant, and they move quite fast.
It is naturally independent of the underlying OS version. What you might mean is support for the modern RPi DSI camera stack, that works with the DRM/KMS display stack, which is the default since Bullseye: #2425
Jep it makes sense to focus on this as well, but similarly to motion v4.4 support, if we wait until those two are addressed, we provide users with the problematic motionEye v0.42 too long, which doesn't support motion v4.4 and modern RPi camera stack either, and has a large number of additional issues and bugs. So IMO, if there is not someone having time to address the two issues soon, we should start motionEye v0.43 release regardless to provide at least all the bug fixes and features that have been merged until now.
Hello everyone, I am interested in help with motionEyeOS. I have not much experience with motionEyeOS yet, but I have some experience with thingOS (on which is motionEyeOS based) - I am working on support for PineCube - and I also have experience with Buildroot (on which is thingOS based) - I contributed to Buildroot with few patches and was using it at work for some years. I would personally turn thingOS or motionEyeOS (or both?) into Buildroot external - mechanism which can drastically reduce code size (because the code with upstream code will stay in separate repository) and is in my opinion easier to sync between project (motioneyeos and thingos) and it is easier to see which files needs to be maintained and which one can be left untouched for the upstream project. We used Buildroot external at my work, I use it in my personal project and it is also used in projects like Home Assistant OS. I already had some discussion with @ccrisan about it in thingOS.
I am mainly interested in motionEyeOS because of PineCube I own (I also have some Rpis, but without cameras so far). I already use motionEye on Pinecube (with motion 4.3.2), but so far only in pure Buildroot (since motionEyeOS is very outdated and also thingOS has too old Python/setuptools to install motionEye).
What do you @ccrisan and others think?
That is great, since I have no experience with thingOS, but motionEyeOS seems to be much used and hence worth to receive a major update based on the new Python 3 based motionEye.
motionEyeOS seems to be aimed to work like a container in the way that it is not intended to be manipulated after installation but shipped with all that is needed for motionEye to run fully featured and motionEye data as only volatile part. So as long as it is not more work to get this done with Buildroot externals than with thingOS, I agree with you. So I think most important question is whether Buildroot ships all required packages OOTB, Python 3, motion, v4l2-utils, ffmpeg, curl, or the libraries we'd otherwise compile them against.
MotionEyeOS is basically fork of thingOS (you can see many merge commits from thingOS to MotionEyeOS). Similar with thingOS, which is fork of Buildroot (again, you can see merge commits from Buildroot in thingOS repository). Buildroot contains massive amount of packages (you can choose which will be included in final image). ThingOS tooks that and added few other packages on top of it (and things like over the air update, easy wifi/ap/bluetooth configuration etc) and MotionEyeOS took thingOS and added some other packages on top. I would keep it like that, only question is if to keep it as fork, or to transform it to Buildroot externals mechanism as I mentioned above.
Development should be cooperated with thingOS, since motionEyeOS is based on this project.
easy wifi/ap/bluetooth configuration etc
Easy network/WiFi configuration at least is something we might want to keep in motionEyeOS.
What I wanted to say or verify is that larger parts of thingOS won't be required in motionEyeOS so that there would be benefit to shorten the fork tail. ... on the other hand I just had a closer look into it and especially the text file based pre-configuration possibilities are nice for headless SBC scenarios, probably other SBC-specific parts. Maybe it causes more work to pull commits from two upstreams (thingOS for changes we want in motionEyeOS as well, and Buildroot) and in case resolve conflicts, compared to keep it as it is? The Buildroot externals transition could be applied to thingOS instead, to gain the benefit for motionEyeOS as well.
Yeah I agree with that. Since @ccrisan is creator of both thingOS and motionEyeOS (and if I understood him right, he plan to get involved in motionEyeOS development in the future again), lets see what is his vision.
My plans with thingOS
are to eventually ditch all customizations and rely on vanilla Buildroot with external packages, code, helpers & whatnot. Maintaining forks and merges on each major version update is a PITA and is definitely not the way to go.
However, both motionEyeOS
and thingOS
have a lot of custom integrations and functionalities that would need to be rewritten (or ditched!) before switching to vanilla Buildroot. The lack of automated tests (or any kind of tests, in fact) makes this part a lot more difficult.
What I'm saying is that the "correct" way IMHO is indeed for both OSes to be plain Buildroots with external stuff, but that's not going to be an easy task.
So you mean, instead of using "Buildroot externals", using an own mechanism to pull vanilla Buildroot and apply customizations? Whether/in how far "Buildroot externals" can simplify this, @sonicpp will be able to answer.
Instead of doing everything in one step, probably it's more realistic to detangle Buildroot code and custom code step-by-step, when one finds time, creating/splitting out build scripts which complement/patch individual parts of vanilla Buildroot? My 2 cents without much insight into the current code structure and build process π .
I can help with GitHub actions to test new parts of, or the whole build process, btw, in perspective automate the image generation for motionEyeOS (How was/is this done currently?). Generated images can be also tested by booting them as container (e.g. via systemd-nspawn
and QEMU for ARM emulation) and in case of motionEyeOS e.g. whether motionEye is running and the web interface port listening/API responding. But it doesn't include bootloader/kernel/firmware boot stages, of course.
I am not sure about tests since I have not that much experience with that, but at least automated generated images would be cool.
For the Buildroot-external, I think if we start slowly, like modifiing configs for base support of buildroot & buildroot-externals, adding few necessary packages and then adding other scripts etc, it is doable.
When building Buildroot with br2-external, it is required to specify path to the br2-external directory. If I understand it well, for building thingOS we will need Buildroot repository and repository with thingOS Buildroot-external. For MotionEyeOS we will need the same plus repository with MotionEyeOS Buildroot-external - so two br2-externals in total. Question is where to put the helper scripts common for thingOS/motionEyeOS - to the thingOS repository?
@ccrisan Please tell me here, on thingOS issue we discussed or via email if there is something I can help with (like with the conversion to br2-external for example), I will be more than happy.
So you mean, instead of using "Buildroot externals", using an own mechanism to pull vanilla Buildroot and apply customizations? Whether/in how far "Buildroot externals" can simplify this, @sonicpp will be able to answer.
I mean Buildroot + externals. The way it was designed to be used :)
I can help with GitHub actions to test new parts of, or the whole build process, btw, in perspective automate the image generation for motionEyeOS (How was/is this done currently?). Generated images can be also tested by booting them as container (e.g. via systemd-nspawn and QEMU for ARM emulation) and in case of motionEyeOS e.g. whether motionEye is running and the web interface port listening/API responding. But it doesn't include bootloader/kernel/firmware boot stages, of course.
Building Buildroot images is an extremely intensive operation. A considerable computing power is needed and the whole process takes a few hours.
@ccrisan Please tell me here, on thingOS issue we discussed or via email if there is something I can help with (like with the conversion to br2-external for example), I will be more than happy.
I first need to allocate a serious amount of time to plan this move. I have a few projects that rely on thingOS and breaking them is something I reaaaaaaally want to avoid. I will let you know of the plan as soon as I find the necessary time to come up with one.
A considerable computing power is needed and the whole process takes a few hours.
There bigger the argument to use GitHub actions runners for this π. They don't have much CPU power, so it might even take longer, but no own hardware is blocked π.
Just wanted to pop on by and let you know that I'm in the process of translating the Norwegian BokmΓ₯l texts. :)
Norwegian BokmΓ₯l is now finished.
Hi, I'd like to contribute. Is it possible to add me as a collaborator?
Many thanks for considering to contribute to motionEye. Before it becomes to inflationary, IMO good practice is to add you to the contributors list, after your did some contribution, and not beforehand π. I'm all in for being open and inclusive, but a minimum level of trust building is fine I think.
Development should be cooperated with thingOS, since motionEyeOS is based on this project.
I fully support this, as I'm using thingOS for photOS :-) Thus, it would be great if improvements to the base software would go upstream (i.e. merged into thingOS).
I might be able to support on the base system. Just @mention me.
A considerable computing power is needed and the whole process takes a few hours.
There bigger the argument to use GitHub actions runners for this slightly_smiling_face. They don't have much CPU power, so it might even take longer, but no own hardware is blocked see_no_evil.
@MichaIng Feel free to have a look at https://github.com/avanc/photOS/tree/master/.github/workflows I'm building photOS for 4 platforms (RaspberyPi 1-4) in parallel based on git tags. But there might be potential for optimization. Sometimes I hit the GuthubActions time limit...
You mean to merge improvements from photOS into thingOS? I suggest to open PRs in this case.
However, I'm the wrong person to discuss about thingOS π.
My intention was to use the photOS Github workflow as starting point for automatic compilation of motioneyos :-)
Ah, in with my first comment I meant to port improvements from motioneyeos back to thingOS, so photOS can also benefit from it ;-)
Any thought about switching Motion to Motionplus?
I just gave up on Motioneye and Motion for my new Rasperry Pi Camera V3. I have not got any of the workarounds to work. Motionplus works but the GUI is lacking. Switching to Motionplus will give good support for libcamera.
Any thought about switching Motion to Motionplus?
I just gave up on Motioneye and Motion for my new Rasperry Pi Camera V3. I have not got any of the workarounds to work. Motionplus works but the GUI is lacking. Switching to Motionplus will give good support for libcamera.
Yeah good luck with that. I think you should very much look forward to the Python 3 port at the moment, that's the most important thing right now AFAIK.
is there an ETA on the next release? seems to be taking forever
Not really. To speed things up, would be great if someone could write release notes. Then I'll merge #2675 to push a pre-release to PyPI.
If I correct understand, that now migration on Python3 is actually nothing happening (just a translation to other languages) ?
Could you rephrase your question? I do not understand.
Multi-language support is probably the most visible change aside of the Python 2 to Python 3 migration. But there were a lot of other changes and fixes, especially around the upload options and methods. Check out the list of merged PRs with the milestone assigned: https://github.com/motioneye-project/motioneye/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av0.43.0
@MichaIng , you answered on my question actually, this is what i meant, thank you. Do you have documentation on CI/CD part or it's CI files only? Thanks.
@MichaIng Happy to see that motioneye lives on and gets the well deserved Python 3 migration! Thanks for your work everyone π
With a new team at the helm and new features already added or in the works, I was wondering if there was any interest in this functionality I requested to merge five years ago now: https://github.com/motioneye-project/motioneye/pull/821
At the time Calin didn't want to merge it because it adds pynacl
as a new dependency and he expected most users to not be interested in encrypting media files uploaded to the cloud by motioneye or using separate tooling for that.
If you as the team are interested, please let me know and I'll gladly make a new PR. I've been using the functionality for 5 years now and still think it's a nice feature :)
Aside from that, are there any technical blockers remaining for the 0.43.0 release or is the list of issues assigned to the milestone representative of all the work left? Maybe I can help with something.
@cclauss I wrote you an email. Can you invite me to your organsiation?
@beppo-dd You have created no issues and no pull requests. Why should you be named as a project maintainer? https://github.com/motioneye-project/motioneye/issues/created_by/beppo-dd https://github.com/motioneye-project/motioneye/pulls?q=is%3Apr+author%3Abeppo-dd
@cclauss This was of course not my intention. My question arose because I wanted to correct a wiki page in motioneyeos, but I couldn't find any ways to edit it: In Github, there is no way to do pull requests on other wiki pages, see #846. I can clone the wiki repository, but I have no right to write on it, see this answer of the stackoverflow question "On GitHub, can I fork β¦ a wiki". Question: Can I get a possibility to correct the wiki page that belongs to the motioneyeos reposity?
Now I understand. Let's try this approach.
Let's say that you want to make edits to wiki/Manual-Download-And-Installation
wiki-edits/Manual-Download-And-Installation.md
-edits
to the directory name..md
as the file name suffix.Leaving the first commit be the wiki page unmodified will allow maintainers to spot exactly what was changed.
I hope this process makes sense.
@cclauss I hope, I did it right: see motioneye-project/motioneyeos/pull/2998. Please be sure to read my "Warning" at the end of the pull request description.
Good morning, Do you still need help in coding, git ops (mergin, rebasing...) and so on? Specifically on the migration to Py3, I might be of help. Anyhow, any news on its release?
@theGiuMac Python 2 died 1,372 days ago on 1/1/2020.
It is therefore a shame that the default branch of this repo still points to a Python 2 implementation.
If you are interested in this functionality, please look at the dev
branch instead. It is 800+ commits ahead of the default.
@cclauss @Mictronics @jmichault and everyone else, let's make a plan how to continue with this project, now moved to the new @motioneye-project GitHub organisation.
First of all, everyone who has contributed to motionEye before, or wants to do so, please feel free to join in, also I think we can add everyone who is interested to the organisation.
I think we agree that Python 3 support is the first thing to achieve, given that Python 2 has reached EOL since over 2 years already, @jmichault and @Mictronics have Python 3 compatible forks from where we can commit back, and on this repo we have the
python3
branch and a bunch of open pull requests for further related fixes.I personally would go this way:
python3
branch: #1572Approximately from simple to difficult, regarding possible conflicts π.