pax_global_header 0000666 0000000 0000000 00000000064 13124570224 0014512 g ustar 00root root 0000000 0000000 52 comment=a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/ 0000775 0000000 0000000 00000000000 13124570224 0022014 5 ustar 00root root 0000000 0000000 elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/.gitignore 0000664 0000000 0000000 00000000231 13124570224 0024000 0 ustar 00root root 0000000 0000000 html/*
attic/*
/.project
/.cproject
/.pydevproject
/.externalToolBuilders
/.settings
.directory
generated*
sysroots
bitbake-logs
/temp/
*.o
*.cgi
/image
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/LICENSE 0000664 0000000 0000000 00000104505 13124570224 0023026 0 ustar 00root root 0000000 0000000 GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
.
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/Makefile 0000664 0000000 0000000 00000001022 13124570224 0023447 0 ustar 00root root 0000000 0000000 # Runs 'make', 'make install', and 'make clean' in specified subdirectories
SUBDIRS := src
INSTALLDIRS = $(SUBDIRS:%=install-%)
CLEANDIRS = $(SUBDIRS:%=clean-%)
#TARGETDIR=$(DESTDIR)/www/pages
all: $(SUBDIRS)
@echo "make all top"
$(SUBDIRS):
$(MAKE) -C $@
install: $(INSTALLDIRS)
@echo "make install top"
$(INSTALLDIRS):
$(MAKE) -C $(@:install-%=%) install
clean: $(CLEANDIRS)
@echo "make clean top"
$(CLEANDIRS):
$(MAKE) -C $(@:clean-%=%) clean
.PHONY: all install clean $(SUBDIRS) $(INSTALLDIRS) $(CLEANDIRS)
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/README.md 0000664 0000000 0000000 00000000046 13124570224 0023273 0 ustar 00root root 0000000 0000000 # elphel-web-camvc
Camera control GUI
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/VERSION 0000664 0000000 0000000 00000000005 13124570224 0023057 0 ustar 00root root 0000000 0000000 1.0
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/eclipse_project_setup/ 0000775 0000000 0000000 00000000000 13124570224 0026406 5 ustar 00root root 0000000 0000000 elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/eclipse_project_setup/.cproject 0000664 0000000 0000000 00000012654 13124570224 0030230 0 ustar 00root root 0000000 0000000
.externalToolBuilders/ 0000775 0000000 0000000 00000000000 13124570224 0032557 5 ustar 00root root 0000000 0000000 elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/eclipse_project_setup SCP web-camvc to target.launch 0000664 0000000 0000000 00000001262 13124570224 0040100 0 ustar 00root root 0000000 0000000 elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/eclipse_project_setup/.externalToolBuilders
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/eclipse_project_setup/.project 0000664 0000000 0000000 00000001702 13124570224 0030055 0 ustar 00root root 0000000 0000000
elphel-web-camvcorg.eclipse.cdt.managedbuilder.core.genmakebuilderfull,incremental,org.eclipse.ui.externaltools.ExternalToolBuilderfull,incremental,LaunchConfigHandle<project>/.externalToolBuilders/SCP web-camvc to target.launchorg.eclipse.cdt.core.cnatureorg.eclipse.cdt.core.ccnatureorg.eclipse.cdt.managedbuilder.core.managedBuildNatureorg.eclipse.cdt.managedbuilder.core.ScannerConfigNature
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/run_bitbake.sh 0000775 0000000 0000000 00000000340 13124570224 0024635 0 ustar 00root root 0000000 0000000 #!/bin/bash
args="$@"
while (( "$#" )); do
shift
done
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo "Launching bitbake $args"
cd $DIR/../../poky
. ./oe-init-build-env
bitbake $args | sed -u 's@| @@'
exit 0
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/src/ 0000775 0000000 0000000 00000000000 13124570224 0022603 5 ustar 00root root 0000000 0000000 elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/src/Makefile 0000664 0000000 0000000 00000010124 13124570224 0024241 0 ustar 00root root 0000000 0000000 #set shell to bash, othewise $RANDOM may not work (with dash)
SHELL=/bin/bash
# Create directories for HTML pages
# set root as owned and group owner for all files
#in NC353 following config files were used (camvc_main.js):
#document.configs_NetworkFile="/etc/conf.d/net.eth0";
#document.configs_Mac="/etc/conf.d/mac";
#document.configs_WebcamFile= "/etc/conf.d/ccamftp.conf";
#document.configs_FtpFile= "/etc/conf.d/ccamftp.conf";
#document.configs_VideoFile= "/var/state/streamer.conf";
OWN = -o root -g root
DOCUMENTROOT=/www/pages
INSTDOCS = 0644
INSTPROG = 0755
DOCS = elphelTabs.js camvcUpgrade.html \
elphelFrames.js elphelContextHelp.js closeme.html camvc_configs.js camvc_dvr.js \
elphelSliders2.js camvc2_i18n.js elphelButtons2.js camvc_camcomm.js camvc_interface.js \
camvc_circbuf.js camvc_video.js camvc_main.js
PHPSCRIPTS= camvc.php
IMGS = images/slider_ball_13x25.png images/slider_ball_13x25_disabled.png images/slider_rail_1x25.png \
images/slider_rail_right13x25.png images/slider_rail_left13x25.png \
images/bg_000000_25.png images/bg_000000_50.png images/bg_000000_75.png \
images/bg_ffffff_25.png images/bg_ffffff_50.png images/bg_ffffff_75.png \
images/bg_dddddd_25.png images/bg_dddddd_50.png images/bg_dddddd_75.png \
images/bg_dddd88_25.png images/bg_dddd88_50.png images/bg_dddd88_75.png \
images/bg_dd88dd_25.png images/bg_dd88dd_50.png images/bg_dd88dd_75.png \
images/bg_88dddd_25.png images/bg_88dddd_50.png images/bg_88dddd_75.png \
images/bg_fffdd0_25.png images/bg_fffdd0_50.png images/bg_fffdd0_75.png \
images/tabs16x24_left_sel.png images/tabs16x24_left_unsel.png \
images/tabs16x24_right_sel.png images/tabs16x24_right_unsel.png \
images/tabs16x24_sel.png images/tabs16x24_sel_unsel.png \
images/tabs16x24_unsel.png images/tabs16x24_unsel_sel.png \
images/tabs16x24_unsel_unsel.png \
images/close_cross_9x9.png images/close_cross_dim_19x19.png \
images/camvc_buttons.png images/empty.png \
images/tooltips65x160.png images/bgmesh8x8.png images/elphel_logo256x256.png \
images/running_25x7.gif images/stopped_25x7.png images/recording_5x5.gif
IMGSRC = images/camvc_buttons.xcf images/tabs16x24.xcf
#TIMESTAMP:=$(shell echo $$RANDOM)
TIMESTAMP=$(shell echo $$RANDOM)
#should be before install - not to run make install during bitbake -c compile (permissions)
all:
@echo "make all in src"
install:
############################################################################################################
# Replace links with randomized ones to prevent browser using cache for javascript/image files. #
# If you need to manually update any of *.js *.png files - edit camvc.html, #
# Find .js? (in the file installed in the camera) #
# or .js?_TIMESTAMP_ if you use original camvc.html file #
# and replace each occurence of "?_TIMESTAMP_" or "?" with "?_something_different"#
# that will prevent camvc.html from using the old, cached values of javascript and image files #
############################################################################################################
# sed -e 's/_TIMESTAMP_/$(TIMESTAMP)/' camvc.html >camvc.ts.html
sed -e 's/_TIMESTAMP_/$(TIMESTAMP)/' camvc2.html >camvc2.ts.html
#prepare some directories anyway
$(INSTALL) $(OWN) -d $(DESTDIR)$(DOCUMENTROOT)
$(INSTALL) $(OWN) -d $(DESTDIR)$(DOCUMENTROOT)/images
#install files
$(INSTALL) $(OWN) -m $(INSTDOCS) $(DOCS) $(DESTDIR)$(DOCUMENTROOT)
$(INSTALL) $(OWN) -m $(INSTDOCS) camvc2.ts.html $(DESTDIR)$(DOCUMENTROOT)/camvc2.html
# ln -sf camvc2.html $(DESTDIR)$(DOCUMENTROOT)/index.html
ln -sf camvc2.html $(DESTDIR)$(DOCUMENTROOT)/camvc.html
$(INSTALL) $(OWN) -m $(INSTDOCS) $(IMGS) $(DESTDIR)$(DOCUMENTROOT)/images
$(INSTALL) $(OWN) -m $(INSTDOCS) $(IMGSRC) $(DESTDIR)$(DOCUMENTROOT)/images
$(INSTALL) $(OWN) -m $(INSTDOCS) $(PHPSCRIPTS) $(DESTDIR)$(DOCUMENTROOT)
rm -f camvc2.ts.html
clean:
rm -f *.bak ~*
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/src/camvc.php 0000664 0000000 0000000 00000060217 13124570224 0024413 0 ustar 00root root 0000000 0000000 .
*! -----------------------------------------------------------------------------**
*! $Log: camvc.php,v $
*! Revision 1.9 2010/06/04 01:56:51 elphel
*! Initial support for the multi-sensor operation
*!
*! Revision 1.8 2008/12/10 07:23:45 elphel
*! Added "sleep=" parameter (for simulation of long camera responces)
*!
*! Revision 1.7 2008/12/09 07:51:52 elphel
*! Partial support of ccam.ftp added alerts on non-yet-ported control tabs. Temporary launches autocampars to save selected parameters fro next autostart
*!
*! Revision 1.6 2008/12/05 03:31:31 elphel
*! Multiple changes, some cleanup and working on restoring circbuf/Exif functionality available in 7.1
*!
*! Revision 1.5 2008/12/04 02:24:46 elphel
*! Adding/debugging autoexposure controls
*!
*! Revision 1.4 2008/12/02 00:28:13 elphel
*! multiple bugfixes, making white balance to work and work with camvc
*!
*! Revision 1.3 2008/12/01 07:33:03 elphel
*! Added gains, scales, white balance control
*!
*! Revision 1.2 2008/11/30 05:01:42 elphel
*! new scale for gains
*!
*! Revision 1.1.1.1 2008/11/27 20:04:03 elphel
*!
*!
*! Revision 1.6 2008/11/17 23:42:46 elphel
*! changed myval()o accept numbers in ""
*!
*! Revision 1.5 2008/11/16 17:35:53 elphel
*! restored histogram (autoexposure) window control
*!
*! Revision 1.4 2008/11/13 05:40:45 elphel
*! 8.0.alpha16 - modified histogram storage, profiling
*!
*! Revision 1.3 2008/11/10 19:55:51 elphel
*! 8.0.alpha15 - first camvc working with 8.0 (just basic features - no autoexposure, white balance, ...), but it is now really possible (again after it was broken for quite a while) to move sliders and navigator windows without fighting with the camera that tried to move them back
*!
*! Revision 1.2 2008/11/08 23:59:23 elphel
*! snapshot
*!
*! Revision 1.1 2008/11/08 05:54:02 elphel
*! snapshot - working on camvc
*!
*!
*/
function out1x1gif() {
header("Content-Type: image/gif");
header("Content-Length: 35\n");
echo "GIF87a\x01\x00\x01\x00\x80\x01\x00\x00\x00\x00".
"\xff\xff\xff\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x4c".
"\x01\x00\x3b";
}
function myval ($s) {
$s=trim($s,"\" ");
if (strtoupper(substr($s,0,2))=="0X") return intval(hexdec($s));
else return intval($s);
}
/**
* @brief Decode set=... parameters
* @param $encoded_set - string representation of [frame]/parameter:value array
*/
function decodeSet ($encoded_set) {
global $set,$allNative;
$set=array();
$frame=0;
if (!$encoded_set) return;
$done=explode("/",rtrim($encoded_set,'/'));
foreach ($done as $term) {
$term=explode(":",$term);
if (count($term)==1) {
$frame=$term[0];
} else {
if (($term[1]!="undefined") && ($term[1]!="NaN") && ($term[1]!=666)) { // debug - if the value is set to 666 it will not listen and client should resend it
// $set[$term[0]]= array('value'=>is_array ($term[1])?$term[1]:(is_numeric($term[1])?(float)$term[1]:$term[1]), 'delay'=>$frame, 'native'=>abstractToNative($term[0]));
$set[$term[0]]= array('value'=>$term[1], 'delay'=>$frame, 'native'=>abstractToNative($term[0]));
foreach ($set[$term[0]]['native'] as $nat=>$natVal) $allNative[$nat]=0; /// add to the parameters to be read
}
}
}
}
function fixGammaBlack() {
global $set;
$gampxl=((array_key_exists('gam',$set))?1:0) |
((array_key_exists('pxl',$set))?2:0);
if ($gampxl==0) return;
else if ($gampxl==3) {
$set['pxl']['delay']= $set['gam']['delay']; /// make them have the same delay - just in case
elphel_gamma_add ((int)$set['gam'], (int) $set['pxl']);
} else { /// remove
if ($gampxl & 1) unset ($set['gam']);
if ($gampxl & 2) unset ($set['pxl']);
}
}
///TODO: Don't forget to load gamma tables used - done
function prepSetNative() {
global $set,$allNative,$setNative;
$setNative=array();
foreach ($set as $absPar=>$value) {
$delay= $value['delay'];
$natArr=$value['native']; // array of name/scale pairs
if (!array_key_exists($delay,$setNative)) $setNative[$delay]=array();
switch ($absPar) {
case "comp_run":
$nat=($value['value']=='single')?'COMPRESSOR_SINGLE':'COMPRESSOR_RUN';
$scale=reset ($natArr);
$val=array_search ($value['value'],$scale);
if ($val !== false) $setNative[$delay][$nat]= (int) $val;
break;
case "sens_run":
$nat=($value['value']=='single')?'SENSOR_SINGLE':'SENSOR_RUN';
$scale=reset ($natArr);
$val=array_search ($value['value'],$scale);
if ($val !== false) $setNative[$delay][$nat]= (int) $val;
break;
case "gam":/// return array ("GTAB_R__0816"=>100,"GTAB_G__0816"=>100,"GTAB_GB__0816"=>100,"GTAB_B__0816"=>100);
$k= (float) $value['value'];
$setNative[$delay]["GTAB_R__0816"] =(int) round($natArr["GTAB_R__0816"] * $k);
$setNative[$delay]["GTAB_G__0816"] =(int) round($natArr["GTAB_G__0816"] * $k);
$setNative[$delay]["GTAB_B__0816"] =(int) round($natArr["GTAB_B__0816"] * $k);
$setNative[$delay]["GTAB_GB__0816"]=(int) round($natArr["GTAB_GB__0816"] * $k);
break;
case "pxl":/// return array ("GTAB_R__0824"=>100,"GTAB_G__0824"=>100,"GTAB_GB__0824"=>100,"GTAB_B__0824"=>100);
$k= (float) $value['value'];
$setNative[$delay]["GTAB_R__0824"] =(int) round($natArr["GTAB_R__0824"] * $k);
$setNative[$delay]["GTAB_G__0824"] =(int) round($natArr["GTAB_G__0824"] * $k);
$setNative[$delay]["GTAB_B__0824"] =(int) round($natArr["GTAB_B__0824"] * $k);
$setNative[$delay]["GTAB_GB__0824"]=(int) round($natArr["GTAB_GB__0824"] * $k);
break;
default:
///******************************
$scale=reset ($natArr);
if (is_array($scale)) {
$val=array_search ($value['value'],$scale);
//echo "
";
if ($val !== false) $setNative[$delay][key($natArr)]= (int) $val;
} else $setNative[$delay][key($natArr)]= (int) round(((float) $value['value']) * $scale);
break;
} ///switch ($absPar)
} ///foreach ($set as $absPar=>$value)
/// second pass - copy native values back to the $set array (to be reported to the client to compare to the values read later
foreach ($set as $absPar=>$value) {
$delay= $value['delay'];
$natArr=$value['native']; // array of name/scale pairs
foreach ($natArr as $natName => $natValue) {
$set[$absPar]['native'][$natName]=$setNative[$delay][$natName];
}
} ///foreach ($set as $absPar=>$value)
}
function applySetNative($ahead) {
global $set,$setNative,$pgmFrameNumber;
$pgmFrameNumber=elphel_get_frame($GLOBALS['sensor_port'])+$ahead;
///NOTE: no verification (and no waiting) that the trget frame is not too far in the future
foreach ($setNative as $since=>$pgmpars) {
elphel_set_P_arr($GLOBALS['sensor_port'],$pgmpars, $pgmFrameNumber+$since);
}
}
/**
* @brief Scan commands for possible changing gamma tables, calculate them in advance
* (driver can only scale gamma, not calculate prototypes)
* @param todo - array of arrays of parameter chnages
*/
function addGammas() {
global $setNative,$gammas; /// $gammas made global - just for debugging
$gammas=array();
foreach ($setNative as $pars) {
if (array_key_exists('GTAB_R', $pars)) $gammas[$pars['GTAB_R' ]>>16]=1; /// duplicates will be eliminated
if (array_key_exists('GTAB_G', $pars)) $gammas[$pars['GTAB_G' ]>>16]=1;
if (array_key_exists('GTAB_GB',$pars)) $gammas[$pars['GTAB_GB']>>16]=1;
if (array_key_exists('GTAB_B', $pars)) $gammas[$pars['GTAB_B' ]>>16]=1;
if (array_key_exists('GTAB_R__0816', $pars)) $gammas[$pars['GTAB_R__0816'] | ($pars['GTAB_R__0824'] << 8)]=1; /// duplicates will be eliminated
if (array_key_exists('GTAB_G__0816', $pars)) $gammas[$pars['GTAB_G__0816'] | ($pars['GTAB_G__0824'] << 8)]=1; /// duplicates will be eliminated
if (array_key_exists('GTAB_GB__0816', $pars)) $gammas[$pars['GTAB_GB__0816'] | ($pars['GTAB_GB__0824'] << 8)]=1; /// duplicates will be eliminated
if (array_key_exists('GTAB_B__0816', $pars)) $gammas[$pars['GTAB_B__0816'] | ($pars['GTAB_B__0824'] << 8)]=1; /// duplicates will be eliminated
}
// var_dump($gammas);
foreach ($gammas as $gamma_black=>$whatever) {
$black=($gamma_black>>8) & 0xff;
$gamma=($gamma_black & 0xff)*0.01;
elphel_gamma_add($gamma, $black);
}
}
function abstractToNative($absPar) {
switch ($absPar) {
case "msens": return array ("SENS_AVAIL"=>1);
case "mseq": return array ("MULTI_SEQUENCE"=>1);
case "mmod": return array ("MULTI_MODE"=>1);
case "msel": return array ("MULTI_SELECTED"=>1);
case "e": return array ("EXPOS"=>1000); /// exposure (e) in ms multiplied by 1000.0 to get internal EXPOS in usec
case "ve": return array ("VEXPOS"=>1);
case "fps": return array ("FP1000S"=>1000);
case "fpslm": return array ("FP1000SLIM"=>1000);
case "fpsflags": return array ("FPSFLAGS"=>1);
case "color": return array ("COLOR"=>1);
case "fliph": return array ("FLIPH"=>1);
case "flipv": return array ("FLIPV"=>1);
case "ww": return array ("WOI_WIDTH"=>1);
case "wh": return array ("WOI_HEIGHT"=>1);
case "wl": return array ("WOI_LEFT"=>1);
case "wt": return array ("WOI_TOP"=>1);
case "aw": return array ("ACTUAL_WIDTH"=>1);
case "ah": return array ("ACTUAL_HEIGHT"=>1);
case "dh": return array ("DCM_HOR"=>1);
case "dv": return array ("DCM_VERT"=>1);
case "bh": return array ("BIN_HOR"=>1);
case "bv": return array ("BIN_VERT"=>1);
case "iq": return array ("QUALITY"=>1); // percents
case "gr": return array ("GAINR"=>0x10000);
case "gg": return array ("GAING"=>0x10000);
case "ggb": return array ("GAINGB"=>0x10000);
case "gb": return array ("GAINB"=>0x10000);
// case "rscale":return array ("GTAB_R__1600"=>1024, "GTAB_G__1600"=>1024);
// case "bscale":return array ("GTAB_B__1600"=>1024, "GTAB_G__1600"=>1024);
// case "gscale":return array ("GTAB_GB__1600"=>1024,"GTAB_G__1600"=>1024);
case "rscale":return array ("RSCALE"=>0x10000);
case "bscale":return array ("BSCALE"=>0x10000);
case "gscale":return array ("GSCALE"=>0x10000);
case "wbrs":return array ("WB_SCALE_R" =>0x10000);
case "wbgs":return array ("WB_SCALE_GB"=>0x10000);
case "wbbs":return array ("WB_SCALE_B" =>0x10000);
case "wben":return array ("WB_EN"=>1);
case "bit": return array ("BIT"=>1);
case "gam": return array ("GTAB_R__0816"=>100,"GTAB_G__0816"=>100,"GTAB_GB__0816"=>100,"GTAB_B__0816"=>100);// (0..1.0..)
case "pxl": return array ("GTAB_R__0824"=>1, "GTAB_G__0824"=> 1,"GTAB_GB__0824"=> 1,"GTAB_B__0824"=> 1);
case "csb": return array ("COLOR_SATURATION_BLUE"=>100);
case "csr": return array ("COLOR_SATURATION_RED"=>100);
case "comp_run": return array ("COMPRESSOR_RUN"=>array("stop","single","run"));
case "sens_run": return array ("SENSOR_RUN"=>array("stop","single","run"));
case "sensor": return array ("SENSOR"=>array(4 => "ZR32112", 8 => "ZR32212",32 => "KAC1310",36 => "KAC5000",48 => "MI1300",49 => "MT9M001",50 => "MT9D001",51 => "MT9T001",52 => "MT9P001",64 => "IBIS51300"));
case "decXmask": return array ("SENSOR"=>array(4 => 139, 8 => 139, 32 => 32907, 36 => 15, 48 => 139, 49 => 139, 50 => 139, 51 => 255, 52 => 255, 64 => 0));
case "decYmask": return array ("SENSOR"=>array(4 => 139, 8 => 139, 32 => 32907, 36 => 13, 48 => 139, 49 => 139, 50 => 139, 51 => 255, 52 => 255, 64 => 0));
case "binXmask": return array ("SENSOR"=>array(4 => 0, 8 => 0, 32 => 0, 36 => 3, 48 => 0, 49 => 0, 50 => 0, 51 => 255, 52 => 255, 64 => 0));
case "binYmask": return array ("SENSOR"=>array(4 => 0, 8 => 0, 32 => 0, 36 => 3, 48 => 0, 49 => 0, 50 => 0, 51 => 255, 52 => 255, 64 => 0));
case "hrw": return array ("HISTWND_RWIDTH"=>0x10000);
case "hrh": return array ("HISTWND_RHEIGHT"=>0x10000);
case "hrl": return array ("HISTWND_RLEFT"=>0x10000);
case "hrt": return array ("HISTWND_RTOP"=>0x10000);
case "aef": return array ("AEXP_FRACPIX"=>0x10000);
case "ael": return array ("AEXP_LEVEL"=>0x10000);
case "ae": return array ("AUTOEXP_ON" =>array("off","on"));
case "ftp": return array ("DAEMON_EN_CCAMFTP" =>array("off","on"));
case "aemax": return array ("AUTOEXP_EXP_MAX"=>1000000);
default: return elphel_parse_P_name($absPar)? array ($absPar=>1):array(); // suspecting native constant
}
}
function abstractValue($absPar) {
global $get,$allNative;
switch ($absPar) {
case "gam":/// return array ("GTAB_R__0816"=>100,"GTAB_G__0816"=>100,"GTAB_GB__0816"=>100,"GTAB_B__0816"=>100);
return $allNative["GTAB_G__0816"]/$get[$absPar]["GTAB_G__0816"]; // just from green color
case "pxl":/// return array ("GTAB_R__0824"=>100,"GTAB_G__0824"=>100,"GTAB_GB__0824"=>100,"GTAB_B__0824"=>100);
return $allNative["GTAB_G__0824"]/$get[$absPar]["GTAB_G__0824"]; // just from green color
default:
$value=reset ($get[$absPar]);
if (is_array($value)) return $value[$allNative[key($get[$absPar])]];
else return $value?($allNative[key($get[$absPar])]/$value):'undefined';
}
}
/**
* @brief Decode set=... parameters
* @param $encoded_get - string representation of /parameter/.. array
*/
function decodeGet ($encoded_get) {
global $get,$allNative;
if (!$encoded_get) return array();
$encoded_get=explode("/",trim($encoded_get,'/'));
foreach ($encoded_get as $name) {
$get[$name]=abstractToNative($name);
foreach ($get[$name] as $key=>$value) $allNative[$key]=0;
}
$allNative['FRAME'] = 0; /// always read frame number to reference read parameters to
}
///main()
$MAX_EXECUTION_TIME=20;
$GLOBALS['sensor_port']=0;
if ($_GET['sensor_port']!=NULL){
$GLOBALS['sensor_port'] = myval($_GET['sensor_port']);
}
$GLOBALS['subcahannel']=0; // TODO NC393: handle! It applies to multiplexer mode, gammas, histograms and focus
// Initially it all will be 0 (common) as it was in 353
if ($_GET['subcahannel']!=NULL){
$GLOBALS['subcahannel'] = myval($_GET['subcahannel']);
}
$GLOBALS['imgsrv_port'] = 2323 + $GLOBALS['sensor_port']; // read port from some centralized place
$deadline=time()+$MAX_EXECUTION_TIME;
/// set_time_limit(20); - /// does not work!
$exif_get=false;
$circbuf_get=false;
$debug_arr=array();
$toRead=array();
$hist_in_thresh=0.0;
$hist_out_thresh=0.0;
$get=array(); /// abstract parameters to read (i.e. e, ww, fliph)
$set=array(); /// abstract parameters to write (i.e. e, ww, fliph)
$setNative=array(); /// array (indexed by frame Numbers) of array of camera parameters to write (i.e. EXPOS, WOI_WIDTH, FLIPH)
// $getNative=array(); /// array of the native camera parameters to read (i.e. EXPOS, WOI_WIDTH, FLIPH)
$allNative=array(); /// all native parameters that are needed to be read
// $ahead=3;
$ahead=4;
foreach($_GET as $key=>$value) {
switch($key) {
/// _time - will look at FPGA time and program both FPGA and system, _stime - unconditionally program both
case "_time":
$toRead["req_ts"]=$value; /// Request time stamp, as received. Will be used by sender
$a=((float) $value)/1000;
if (abs(elphel_get_fpga_time()-$a) < 24*3600) break; // time already set
case "_stime":
$toRead["req_ts"]=$value;
$a=((float) $value)/1000;
elphel_set_fpga_time ($a); // set FPGA time
exec("date -s ".@date("Y-m-d H:i:s.u",(int)$a),$out,$ret); // set system time
exec("hwclock --systohc");
break;
case "imgsrv":
// $toRead["imgsrv"]='http://'.$_SERVER['HTTP_HOST'].':8081/';
$toRead["imgsrv"]='http://'.$_SERVER['HTTP_HOST'].':'.strval($GLOBALS['imgsrv_port']).'/';
break;
case "exif":
$exif_get=$value+0; //page number
break;
case "description":
if ( $value!==null) elphel_set_exif_field($GLOBALS['sensor_port'], 0x10e, $value.chr(0));
break;
case "circbuf":
$circbuf_get=true;
break;
case "hin": // calculate the input and output levels
$hist_in_thresh=$value+0.0;
break;
case "hout": // calculate the input and output levels
$hist_out_thresh=$value+0.0;
break;
case "ahead":
$ahead= myval($value);
break;
case "set":
decodeSet ($value);
break;
case "get":
decodeGet ($value);
break;
case "timeout":
$deadline=time()+$value;
break;
case "sleep":
sleep ($value);
break;
}
}
if (array_key_exists("dbgwait",$_GET)) {
/// NOTE: DOES not notice if connection is reset by the client and keeps php busy !...
while (elphel_get_P_value($GLOBALS['sensor_port'],ELPHEL_DEBUG+(1<<21)+(28<<16))) {
elphel_skip_frames($GLOBALS['sensor_port'],1);
if (time()>$deadline) {
error_log("Aborted due to custom timeout");
exit(1);
}
}
}
/// Do whatever needed
$allNative=elphel_get_P_arr($GLOBALS['sensor_port'],$allNative);
$parVal=array();
// foreach ($get as $key=>$value) $parVal[$key]= abstractValue($key);
foreach ($get as $key=>$value) $parVal[$key]= abstractValue($key);
// fixRGBScales();
fixGammaBlack();
prepSetNative();
addGammas();
applySetNative($ahead);
/// TODO:program parameters here, get frame when programmed
/// output result
if ($_GET["out"]=="gif") {
out1x1gif();
exit (0);
}
if ($_GET["debug"]=="1") {
echo "
elphel-web-camvc-a7aa5b7e03ad3f27424d0ca13e2c93efc29c23b0/src/camvc2_i18n.js 0000664 0000000 0000000 00000613465 13124570224 0025172 0 ustar 00root root 0000000 0000000 /*
*! -----------------------------------------------------------------------------**
*! camvc_i18n.js
*!
*! Copyright (C) 2006-2008 Elphel, Inc.
*!
*! -----------------------------------------------------------------------------**
*!
*! This program is free software: you can redistribute it and/or modify
*! it under the terms of the GNU General Public License as published by
*! the Free Software Foundation, either version 3 of the License, or
*! (at your option) any later version.
*!
*! This program is distributed in the hope that it will be useful,
*! but WITHOUT ANY WARRANTY; without even the implied warranty of
*! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
*! GNU General Public License for more details.
*!
*! You should have received a copy of the GNU General Public License
*! along with this program. If not, see .
*! -----------------------------------------------------------------------------**
*! $Log: camvc2_i18n.js,v $
*! Revision 1.9 2009/10/12 19:20:24 elphel
*! Added "Content-Disposition" support to suggest filenames to save images
*!
*! Revision 1.8 2009/07/19 19:29:09 oneartplease
*! this adds the IP of the camera to the windows title of camvc
*!
*! Revision 1.7 2008/12/13 23:39:50 elphel
*! support for the SnapFull button
*!
*! Revision 1.6 2008/12/11 06:39:11 elphel
*! reduced number of unneeded requests, corrected start when the compressor is stopped
*!
*! Revision 1.5 2008/12/10 07:24:22 elphel
*! removed unused camera communication states
*!
*! Revision 1.4 2008/12/09 22:11:56 elphel
*! Fixed resizing, changed color/mono checkbox to mode selector
*!
*! Revision 1.3 2008/12/09 19:25:17 elphel
*! After disabling default actions onmousedown - enabled all input text fields: onmousedown="this.select()" (otherwise they did not get focus when clicking them)
*!
*! Revision 1.2 2008/12/09 07:51:52 elphel
*! Partial support of ccam.ftp added alerts on non-yet-ported control tabs. Temporary launches autocampars to save selected parameters fro next autostart
*!
*! Revision 1.1.1.1 2008/11/27 20:04:03 elphel
*!
*!
*! Revision 1.1 2008/04/22 22:21:31 elphel
*! Started camvc2 that currently uses most of the same images and javascript files as camvc
*!
*! Revision 1.2 2008/01/16 08:30:59 elphel
*! fixing "streamer status" too long text and timeout
*!
*! Revision 1.1.1.1 2007/09/24 11:12:02 elphel
*! This is a fresh tree based on elphel353-2.10
*!
*! Revision 1.5 2007/09/24 11:12:02 lucos
*! Replaced GPL2 with GPL3 in help text
*!
*! Revision 1.4 2007/09/24 11:02:32 lucos
*! Optimized for speed (1.6 seconds instead of 57.4 on a P4/2.4Ghz/66Mhz)
*!
*! Revision 1.3 2007/09/19 04:34:57 elphel
*! Updated license header
*!
*!
*/
// modify the code so one set of messages can be applied to several IDs
// fields: t:"t" (tooltip), t:"p" - paragraph text(actually innerHTML)
// if no en is provided at all (but you may still provide "t:" field), texts will be copied from the previous line(s) - it is needed to assign same tooltip for the several objects in IE
document.i18ntxt=new Array (
// == top menu ==
{id:"DIV_ALL", t:"h",en:"No specific help is available for this item",
fr:"Aucune aide n'est disponible pour cet élément",
cn:"此处无帮助文本",
ru:"Специфическая подсказка для данного пункта отсутствует"},
{id:"idTitle", t:"h",en:"Elphel Camera - " + location.host, // to give every browser window a unique name we add the IP address of the camera
ru:"Камера Elphel - " + location.host},
{id:"reload", t:"h",en:"This program relies on translucent PNG images that are not yet supported by some browsers. It is also best viewed with the minimal headers, for that reason the program may try to reload itself as a pop-up window. You may want to enable pop-up windows in your browser settings and allow javascript to hide and modify the status bar (and location bar - in FireFox 3 - see dom.disable_window_open_feature.location in about:config),. If you press OK script will try exactly that, if cancel - remain in the current window",
cn:"本程序正常运行需要浏览器支持PNG图象的半透明显示,此外应关闭浏览器的弹出窗口拦截功能,并隐藏窗口底部的状态条,按“OK”键启动代码,按”Cancel”键保留当前窗口",
fr:"Ce programme utilise des PNG transparents qui ne fonctionnent pas avec tous les navigateurs. Il est également conseillé de le consulter avec les entetes minimales. C'est pourquoi le programme va probablement se recharger dans un popup. Il est conseillé d'authoriser les popups et l'exécution javascript dans la configuration de votre navigation. Cliquez sur OK pour essayer ceci ou Cancel pour laisser l'application dans la fenetre actuelle",
ru:"Эта программа использует полупрозорачные PNG файлы, которые до сих пор поддерживаются не всеми браузерами. Желательно также выделить программе максимальное место на экране, для этого она попытается перегрузиться в отдельнром окне без кнопок и заголовков. Возможно, вам нужно разрешить открытие таких окон в настройках вашего браузера и разрешить javascript изменять и прятать статусную строку"},
{id:"idCameraBusy", t:"h",en:"Camera is busy and does not seem to get free. Giving up.",
cn:"摄像机忙,请放弃操作",
fr:"La caméra est occupée et ne semble pas se libérer. Abandon.",
ru:"Камера не отвечает и, похоже, пока не собирается. Сдаюсь."},
{id:"idStreamerRunning", t:"h",en:"Streamer is running - you should either stop it or disable this check and risk camera/player instability.",
cn:"视频流正在运行,请放弃操作或者关闭视频流,否则会导致摄像机无法稳定工作",
fr:"Le streamer est lancé - vous devriez soit l'arreter ou désactiver cette vérification est riquer des instabilités dans la caméra ou le lecteur",
ru:"Стример работает - вам нужно или остановить его или отменить эту проверку и рискнуть стабильной работой плеера"},
{id:"idCCAMProblem", t:"h",en:"ccam.cgi problem - please try again.",
cn:"ccam.cgi出现问题,请稍后再试",
fr:"problème détecté dans ccam.cgi - veuillez réessayer",
ru:"Проблема в ccam.cgi - попробуйте еще раз"},
{id:"idCCAMErr", t:"h",en:"ccam.cgi problem - error code=",
cn:"ccam.cgi出现问题,错误代码=",
fr:"erreur dans ccam.cgi - code d'erreur=",
ru:"Ошибка ccam.cgi, код="},
{id:"btnHistShow", t:"h",en:"Histogram window. Additional button displayed below after long press reveals histogram settings controls",
cn:"直方图窗口,长按此键显示隐藏的其他直方图相关选项",
fr:"Fenetre d'histogrammes. Vous avez accès à des réglages additionnels en maintenant le clique quelques secondes supplémentaires",
ru:"Окно гистограмм. Управление режимами генерации гистограмм осуществляется нажатием на дополнительную кнопку, показываемую при продолжительном нажатии"},
{id:"btnBrConShow", t:"h",en:"Brightness/contrast controls. Additional button displayed below after long press reveals autoexposure settings",
cn:"亮度/对比度控制,长按此键显示隐藏的自动曝光控制选项",
fr:"Controles de luminosité/contraste. Vous avez accès à des réglages additionnels en maintenant le clique quelques secondes supplémentaires",
ru:"Управление яркостью (временем экспозиции) и контрастом (гамма коррекцией). Управление автоэкспозицией при нажатии на дополнительную кнопку, показываемую при продолжительном нажатии"},
{id:"btnColorShow", t:"h",en:"Color controls. Additional button displayed below after long press reveals automatic white balance settings",
cn:"色彩控制,常按此键显示隐藏的自动白平衡控制选项",
fr:"Controles des couleurs. Vous avez accès à des réglages additionnels en maintenant le clique quelques secondes supplémentaires",
ru:"Управление цветами. Параметры автоматического баланса белого доступны при нажатии на дополнительную кнопку, показываемую при продолжительном нажатии"},
{id:"btnPositioningShow", t:"h",en:"Camera active window size/position. Additional button displayed below after long press reveals decimation (resolution) and binning controls",
cn:"摄像机活动窗口的大小和位置控制,长按此键显示隐藏的分辨率控制选项",
fr:"Taille et position de la caméra active. Vous avez accès à des réglages additionnels (résolution décimale et controles de binning) en maintenant le clique quelques secondes supplémentaires",
ru:"Управление размером и положением активного окна камеры. Дополнительная кнопка, показываемая при продолжительном нажатии, служит для управления разрешением сенсора и биннингом"},
{id:"btnPhotoShow", t:"h",en:"Contols display of camera image (static and video) - selection is displayed after a long press. Each mode have additional control buttons under the main ones",
cn:"摄像机显示控制,静态图象,动态视频,长按此键显示更多选项",
fr:"Controles d'affichage de l'image (statique et vidéo) - Vous avez accès à des réglages additionnels en maintenant le clique quelques secondes supplémentaires. Chaque mode a un controle additionnel sous le principal",
ru:"Показ изображений/видео, принимаемых от камеры - выбор режима открывается при продолжительном нажатии кнопки. Управление окнами дополнительных настроек осуществляется кнопками, расположенными под основными"},
// {id:"", t:"t",en:"", ru:""},
{id:"idDivLicense_TX", t:"p"}, // no en: filed - will use from previous line
{id:"idHelp", t:"p",en:'Please visit elphel.com for more up-to-date information about the Elphel products. Elphel wiki has the latest documentation, software updates are available at our Sourceforge project page.',
cn:'更多关于Elphel产品的信息可以访问,关于Elphel产品的最新文档可以在Elphel wiki获得,最新的软件升级请访问a href="https://sourceforge.net/projects/elphel" target="_blank">our Sourceforge',
fr:'Visitez elphel.com pour les dernières informations sur les produits Elphel. Le wiki d\'Elphel contient la dernière documentation et les mises à jour logicielles sur la page de projet sur Sourceforge.',
ru:'Дополнительную информацию о продукции Elphel можно получить на вебсайте elphel.com. Документация обновляется наиболее быстро на Elphel wiki, а за обновлениями программного обеспечения луше всего обращаться на нашу страничку на Sourceforge.'},
{id:"imgHistogram", t:"h",en:"Histograms received from the camera that are useful for fine adjustment of the camera color, brightness and contrast settings. Most parameters of the histogram generation is configurable in the program. It is the histogram that camera is using itself when it automatically adjusts the exposure time and the white balance. Double click (re)starts acquisition images from the camera and refreshing the histograms.",
cn:"直方图在摄像机内生成,用于对曝光,白平衡对比度等各项参数进行精确调整。绝大多数与直方图相关的参数都可以通过软件进行设置,双击可以采集图像并刷新直方图",
fr:"Les histogrammes reçus par la caméra sont utiles pour l'ajutement fin des couleurs de la caméra, de la luminosité et du contraste. La plupart des paramètres de la génération de l'histogramme sont configurables dans le programme. C'est l'histogramme qui est également utilisé par la caméra quand elle ajuste l'exposition et la balance des blancs automatiquement. Un double-click (re)lance l'acquisition des images de la caméra et le rafraichissement des histogrammes.",
ru:"Гистограммы принятые от камеры - их можно использовать для точной настройки яркости, контрастности и цветопередачи камеры. Именно эти данные камера сама использует, когда автоматически выбирает выдержку и коэффициенты усиления по цветовым каналам (баланс белого). Щелчек мыши инициирует (или продолжает) ввод новых изображений и гистограмм от камеры."},
{id:"idSetDebugHelp", t:"p",en:"Debug context help",
cn:"Debug 上下文帮助",
fr:"Aide contextuelle de débuggage",
ru:"Отладка контекстных подсказок"},
{id:"idSetDebugRequests", t:"p",en:"Debug requests",
cn:"Debug 要求",
fr:"Requete de debug",
ru:"Отладка запросов"},
{id:"idSetDebugHelpAll", t:"h",en:"Show trace of traversed element IDs on before the context help is reached. Useful to find out which element needs more description",
cn:"显示元件的跟踪结果,用于发现需要说明的元件ID",
fr:"Affiche la trace des ID d'éléments traversés avant que le contexte d'aide soit atteint. Ceci est utile pour trouver quel élément manque de description",
ru:"Показать цепочку элементов, сканируемую программой в поисках контекстных подсказок. Полезная информация для определения элементов, требующих дополнительного описания."},
{id:"idSetDebugRequestsAll", t:"h",en:"Enable camera recording of the debug information on the incoming requests from this program.",
cn:"使摄像机根据程序要求记录debug信息",
fr:"Active l'enregistrement dans la caméra des information de debuggage sur les requetes de ce programme.",
ru:"Разрешение камере записывать отладочную информацию по запросам от этой программы"},
{id:"idSetDebugOther", t:"p",en:"Debug value",
cn:"Debug 值",
fr:"Valeur de debug",
ru:"Отладка программы"},
{id:"idSetDebugOtherAll", t:"h",en:"Enable different output of different debug data in the program (0 - normal mode)",
cn:"不同的debug数据获得不同的输出,模式0",
fr:"Active différentes sorties des différentes informations de debug du programme (0 - mode normal)",
ru:"Разрешение программе выдавать различную отладочную информацию (0 - штатный режим работы)"},
/* {id:"idExtraReadsAfterWrite", t:"p",en:"Extra \"gets\" after \"sends\"",
fr:"\"retour\" après \"envoi\" supplémentaire",
ru:"Доп. чтения после посылок"},
{id:"idExtraReadsAfterWriteAll", t:"h",en:"Wait for specified number of data reads from the camera after the write command queue is emptied before updating program controls to reflect camera internal settings to give user some time to change those parameters",
fr:"Attends pour le nombre spécifié de données lues de la caméra après l'écritue de la file de commandes ait été vidée avant d'avoir mis à jour les controles du programme. Ceci pour l'utilisateur ait le temps de changer les paramètres internes de la caméra.",
ru:"Число дополнительных чтений данных с камеры после опустошения очереди команд в камеру, Параметр введен, чтобы дать пользователю изменять параметры прежде чем данные, принятые от камеры перепишут значения в программе."},
*/
{id:"idTranslucency", t:"p",en:"Translucency",
fr:"Translucidité",
cn:"半透明",
ru:"Прозрачность"},
{id:"idTranslucencyAll", t:"h",en:"Select controls position relative to the image (side-to-side or overlap) and transparency of the controls (so images can be seen through the overlapping controls)",
cn:"选定控件相对于图像的位置和半透明显示的程度,使得图像与控件叠加的部分依然可见",
fr:"La sélection controle la position relatife à l'image (cote-à-cote ou superposé) et la transparent du controle (de manière à ce que les images puissent etres vues à travers les controles",
ru:"Установить взаимное расположение изображения и панели управления (с перекрытием и без), а также степень прозрачности панели."},
{id:"btnTranslNo", t:"h",en:"No overlapping of image and contols",
fr:"Pas de controle et d'images superposées",
ru:"Перекрытие изображения и панели упраления отсутствует"},
{id:"btnTransl0", t:"h",en:"Non-transparent contols overlap the image",
cn:"不透明显示",
fr:"Un controle non transparent se trouve au dessus de l'image",
ru:"Непрозрачная панель управления наложена на изображение"},
{id:"btnTransl25", t:"h",en:"25%-transparent contols overlap the translucent image",
cn:"25%透明显示",
fr:"Des controles transparents à 25% se trouvent au dessus de l'image translucide",
ru:"Частично прозрачная (25%) панель управления наложена на изображение"},
{id:"btnTransl50", t:"h",en:"50%-transparent contols overlap the translucent image",
cn:"50%透明显示",
ru:"Полупрозрачная (50%) панель управления наложена на изображение"},
{id:"btnTransl75", t:"h",en:"75%-transparent contols overlap the translucent image",
cn:"75%透明显示",
ru:"Почти (75%) прозрачная панель управления наложена на изображение"},
{id:"btnTransl100", t:"h",en:"Completely transparent contols overlap the translucent image",
cn:"100%透明显示",
ru:"Полностью (100%) прозрачная панель управления наложена на изображение"},
{id:"idEnableImageRefresh_LB", t:"p",en:"Refresh",
cn:"刷新",
ru:"Обновление"},
{id:"idEnableImageRefresh_SP", t:"h",en:"Enable refresh (periodical acquiring) of the camera image",
cn:"定时刷新摄像机输出图像",
ru:"Разрешить обновление изображения от камеры"},
{id:"idEnableImageRefreshFor_LB", t:"p",en:" for ",
cn:" for ",
ru:" в течении "},
{id:"idEnableImageRefreshSec_LB", t:"p",en:" sec ",
cn:" sec ",
ru:" сек "},
{id:"idEnableImageRefreshFor_SP", t:"h",en:"Set time - how long will the periodical camera image acquisition be active after user request or parameter change",
cn:"设置摄像机定时刷新的时间,超出该时间后定时刷新停止",
ru:"Установить время, в течении которого изображения с камеры будут продолжать запрашиваться после команды пользователя или изменения одного из параметров камеры."},
{id:"idQuality_LB", t:"p",en:"JPEG quality",
cn:"JPEG压缩质量",
ru:"качество JPEG"},
/* {id:"idIgnoreStreamer_LB", t:"p",en:"Ignore streamer",
cn:"忽略 视频流",
ru:"Игнорировать стример"}, */
{id:"idQuality_ALL", t:"h",en:"Set JPEG image quality. The higher the quality - the larger is the file size (and the required network bandwidth for streaming). 100% is virtually lossless.",
cn:"设置JPEG压缩质量,质量越高,图像文件越大,对带宽要求也越高100%实际上是无损压缩",
ru:"Установить качество изображений, сжатых по алгоритму JPEG. Чем выше качество, тем больше размер файлов у выше, соответственно, необходимая полоса пропускания канала связи для передачи потокового видео."},
{id:"idFlipHor_ALL", t:"h",en:"Flip the image horizontally (right-left)",
cn:"水平(左右)翻转图像",
ru:"Зеркально отразить кадр - поменять лево и право."},
{id:"idFlipVert_ALL", t:"h",en:"Flip the image vertically (upside down)",
cn:"垂直(上下)翻转图像",
ru:"Зеркально отразить кадр - поменять верх и низ."},
/* {id:"idIgnoreStreamer_ALL", t:"h",en:"Ignore streamer running (while changing frame size) - it may cause player instability",
cn:"调整图像大小时忽略视频流正在运行,可能会导致摄像机工作不稳定",
ru:"Игнорировать работающий стример при изменении размеров кадра. Может привести к нестабильности работы программы видеоплеера."}, */
{id:"idInfoWidth", t:"*h",en:"The width of the image received from the camera (after decimation) ",
cn:"摄像机输出的图像的宽度,经过间隔采样",
ru:"Ширина изображений, принимаемых с камеры при текущих настройках "},
{id:"idInfoHeight", t:"*h",en:"The height of the image received from the camera (after decimation) ",
cn:"摄像机输出的图像的高度,经过间隔采样",
ru:"Высота изображений, принимаемых с камеры при текущих настройках "},
{id:"idSpanFPS", t:"h",en:"Current frame rate the sensor is running at. If it is shown in green, the frame rate is limited by the sensor capability, if in red - by long exposure time (that can never be longer than 1 full frame, or 1sec/FPS). You may try to increase the frame rate by adjusting the sensor analog gain (sensitivity), opening completely the iris of the lens of adding more light to the scene. You may also limit the maximal camera frame rate (in the video control section - click here to open the tab), in that case the fps value color will be blue - if the camera runs as requested. Green color means that the sensor can not run at the specified combination of the frame rate and the resolution.",
cn:"当前传感器输出图像的频率,上限收到传感器本身性能限制。当采用长时间曝光的时候,帧率会自动下降,保证每一帧的周期大于曝光时间。此时可以通过提高传感器增益,增大镜头通光口径,或者提高环境照度来改善。此外也可以对帧率的最大值进行限制",
ru:"Текущая частота работы сенсора. Если значение показано зеленым, то частота кадров ограничивается быстродействием сенсора. Если красным - слишком длинная экспозиция, которая не может превышать длительность одного кадра. Для увеличения частоты кадров можно увеличину усиления (чувствительности) сенсора, открыть полностью диафрагму объектива или увеличить освещенность объекта. При необходимости вы можете ограничить максимальную частоту кадров камеры, это можно сделать в секции управления видеопараметрами, которая откороется, если вы щелкните здесь. Если такая частота установлена, то добавляется синий цвет - частота кадров соответстветствует запрошенной. Если цвет указан зеленым при наличии ограничения, значит сенсор не может обеспечить одновременно указанных вами разрешения и частоты кадров."},
{id:"idInfoLabelRunning", t:"h",en:"Shows that the camera compressor is running in the video mode, it imposes some restriction on the simultaneous access to the static images. Click here to get to the video control section.",
cn:"表示摄像机的图像压缩芯片正在运行中,此时静态图片的读写收到限制,单击转到视频控制部分",
ru:"Показано, что в камере включен режим непрерывной видеокомпрессии, это накладывает ограничения на одновременное получение статических изображений. Щелкните здесь, чтобы открыть панель управления видео режимами."},
{id:"idInfoLabelStopped", t:"h",en:"Shows that the camera compressor is the single-frame mode. Click here to get to the video control section where you can turn on video mode.",
cn:"表示摄像机图像压缩芯片正处于单帧压缩模式,单击这里进入视频你控制部分可以开启动态视频",
ru:"Показано, что в камере установлен включен покадровый режим ввода. Вы можете включить режим непрерывной видеокомпрессии на панели контроля видео режимов, которая откроется, если вы щелкните здесь."},
{id:"idInfoAt", t:"p",en:" @ ",
cn:" @ ",
ru:" при "},
{id:"idInfoLabelFPS", t:"p",en:" fps",
cn:" 帧率",
ru:" к/сек"},
/* {id:"idInfoLabelRunning", t:"p",en:" running",
cn:" 正在运行",
ru:" стример"},
{id:"idInfoLabelStopped", t:"p",en:" stopped",
cn:" 停止",
ru:" остановлен"},
*/
{id:"idDivInfo", t:"h",en:"Current camera image size and frame rate. You may image size and resolution it in the active window control section - click here to open/close it.",
cn:"当前摄像机的图像的大小和帧率,你可以在活动窗口内修改他们,单击这里打开或者关闭这一功能",
ru:"Текущие значения размеров и частоты кадров. Вы можете изменить размеры и разрешение в разделе управления активным окном сенсора - щелкните здесь, чтобы от откылся/закрылся."},
// == sliders ===
{id:"exposure_button", t:"h",en:"Turn auto exposure on/off",
cn:"打开/关闭自动曝光功能",
ru:"Включить/выключить автоматическое управление экспозицией"},
{id:"exposure_slIder", t:"h",en:"Exposure control. Double-click for auto/manual",
cn:"双击打开/关闭自动曝光功能",
ru:"Время экспозиции. Двойной щелчек меняет ручной/автоматический режимы"},
{id:"gamma_button", t:"h",en:"Set default gamma (contrast)",
cn:"使用缺省Gamma值",
ru:"Установить исходное значение параметра гамма (контраст)"},
{id:"gamma_slIder", t:"h",en:"Set the gamma (contrast). Maximal value of 1.0 corresponds to linear responce",
cn:"设置Gamma值(等效于对比度),当等于1.0的时候输出灰度与靶面照度呈线形关系",
ru:"Управление параметром гамма (контрастом)"},
{id:"blackLev_button", t:"h",en:"Set default black level",
ru:"Установить исходное значение уровня черного."},
{id:"blackLev_slIder", t:"h",en:"Set the black level. This value will be subtracted from all pixels before farther processing.",
ru:"Установка уровня черного. На столько будет уменьшено значение каждого пикселя изображения перед дальнейшей обработкой."},
{id:"gainGreen_button", t:"h",en:"Set the default overall analog gain",
cn:"设置传感器模拟增益",
ru:"Установить среднее значение чувствительности сенсора"},
{id:"gainGreen_slIder", t:"h",en:"Sensor analog gain (sensitivity)",
cn:"传感器模拟增益,相当于灵敏度",
ru:"Установить чувствительность сенсора"},
{id:"gainRed2Green_button", t:"h",en:"Adjust white balance once.",
cn:"调整白平衡",
ru:"Произвести однократный баланс белого."},
{id:"gainBlue2Green_button", t:"h"},
{id:"gainRed2Green_slIder", t:"h",en:"Relative gain of red-to-green. Double-click for auto/manual",
cn:"红绿色调,双击切换自动/手动调节",
ru:"Баланс красного относительно зеленого. Двойной щелчек меняет ручной/автоматический режимы"},
{id:"gainBlue2Green_slIder", t:"h",en:"Relative gain of blue-to-green. Double-click for auto/manual",
cn:"蓝绿色调,双击切换自动/手动调节",
ru:"Баланс синего относительно зеленого. Двойной щелчек меняет ручной/автоматический режимы"},
{id:"colorSat_button", t:"h",en:"Set the default color saturation",
cn:"使用缺省色彩饱和度",
ru:"Установить начальное значение цветовой насыщенности"},
{id:"colorSat_slIder", t:"h",en:"Set the color saturation value",
cn:"设置色彩饱和度",
ru:"Установить цветовую насыщенность"},
{id:"colorDiffSat_button", t:"h",en:"Set the same color saturation for the red/green and blue/green channels",
cn:"红绿,蓝绿通道使用相同的饱和度",
ru:"Установить равную насыщенность по красному и синему цветоразностному каналу"},
{id:"colorDiffSat_slIder", t:"h",en:"Differencial control of red-to-green and blue-to-green color saturation",
cn:"红绿,蓝绿通道使用不同的饱和度",
ru:"Относительное изменение цветовой насыщенности по красному и синему (относительно зеленого)"},
// == end of sliders ==
// {id:"", t:"h",en:"",
// ru:""},
{id:"idDivCameraImage", t:"h",en:"Last acquired image from the camera scaled to fit the selected window size. You may view the full resolution image of the selected region with a configurable magnifier Click on the image to start/continue repetitive image acquisition.",
cn:"改变摄像机输出的最后图像以适应选定窗口的大小,可以使用一个可以设置的放大镜来查看全分辨率图像,单击图像可以使得摄像机连续输出图像",
ru:"Последнее изображение, полученное от камеры. Изображение масштабировано так, чтобы поместиться в выбранном вами окне. Полное выбранного участка разрешение вы можете получить, используя настраиваемую \"лупу\". Щелкните мышкой для начала (возобновления) регистрации новых изображений с камеры."},
{id:"idWindow_frAmesel_n", t:"h",en:"Drag the upper edge of the active window selection frame (fine tuning)",
cn:"拖曳选定窗口的上边框",
ru:"Перемещение верхней стороны рамки выбора окна автоэкспозиции (точная настройка)"},
{id:"idWindow_frAmesel_e", t:"h",en:"Drag the right edge of the active window selection frame (fine tuning)",
cn:"拖曳选定窗口的右边框",
ru:"Перемещение правой стороны рамки выбора активного окна (точная настройка)"},
{id:"idWindow_frAmesel_s", t:"h",en:"Drag the lower edge of the active window selection frame (fine tuning)",
cn:"拖曳选定窗口的下边框",
ru:"Перемещение нижней стороны рамки выбора активного окна (точная настройка)"},
{id:"idWindow_frAmesel_w", t:"h",en:"Drag the left edge of the active window selection frame (fine tuning)",
cn:"拖曳选定窗口的左边框",
ru:"Перемещение левой стороны рамки выбора активного окна (точная настройка)"},
{id:"idWindow_frAmesel_ne", t:"h",en:"Drag the upper-right corner of the active window selection frame",
cn:"拖曳选定窗口的右上角",
ru:"Перемещение правого верхнего угла рамки выбора активного окна"},
{id:"idWindow_frAmesel_se", t:"h",en:"Drag the lower-right corner of the active window selection frame",
cn:"拖曳选定窗口的右下角",
ru:"Перемещение правого нижнего угла рамки выбора активного окна"},
{id:"idWindow_frAmesel_sw", t:"h",en:"Drag the lower-left corner of the active window selection frame",
cn:"拖曳选定窗口的左下角",
ru:"Перемещение левого нижнего угла рамки выбора активного окна"},
{id:"idWindow_frAmesel_nw", t:"h",en:"Drag the upper-left corner of the active window selection frame",
cn:"拖曳选定窗口的左上角",
ru:"Перемещение левого верхнего угла рамки выбора активного окна"},
{id:"idWindow_frAmesel_c", t:"h",en:"Drag the active window selection frame (use SHIFT for fine movement). Double click centeres the frame, with SHIFT it increases the frame to the full active window.",
cn:"拖曳选定窗口,同时按下Shift键可以做精确调整,双击选定窗口可以将选定窗口增大到整个活动窗口",
ru:"Перемещение рамки выбора активного окна (при нажатии клавиши \"SHIFT\" осуществляется более точное перемещение). Двойной щелчек мыши центрирует окно, при нажатой клавише SHIFT двойной щелчек выбирает максимальный размер активного окна"},
{id:"idAexp_frAmesel_n", t:"h",en:"Drag the upper edge of the autoexposure selection window (fine tuning)",
cn:"拖曳自动曝光选定窗口的上边框",
ru:"Перемещение верхней стороны рамки выбора окна автоэкспозиции (точная настройка)"},
{id:"idAexp_frAmesel_e", t:"h",en:"Drag the right edge of the autoexposure selection window (fine tuning)",
cn:"拖曳自动曝光选定窗口的右边框",
ru:"Перемещение правой стороны рамки выбора окна автоэкспозиции (точная настройка)"},
{id:"idAexp_frAmesel_s", t:"h",en:"Drag the lower edge of the autoexposure selection window (fine tuning)",
cn:"拖曳自动曝光选定窗口的下边框",
ru:"Перемещение нижней стороны рамки выбора окна автоэкспозиции (точная настройка)"},
{id:"idAexp_frAmesel_w", t:"h",en:"Drag the left edge of the autoexposure selection window (fine tuning)",
cn:"拖曳自动曝光选定窗口的左边框",
ru:"Перемещение левой стороны рамки выбора окна автоэкспозиции (точная настройка)"},
{id:"idAexp_frAmesel_ne", t:"h",en:"Drag the upper-right corner of autoexposure selection window frame",
cn:"拖曳自动曝光选定窗口的右上角",
ru:"Перемещение правого верхнего угла рамки выбора окна автоэкспозиции"},
{id:"idAexp_frAmesel_se", t:"h",en:"Drag the lower-right corner of autoexposure selection window frame",
cn:"拖曳自动曝光选定窗口的右下角",
ru:"Перемещение правого нижнего угла рамки выбора окна автоэкспозиции"},
{id:"idAexp_frAmesel_sw", t:"h",en:"Drag the lower-left corner of autoexposure selection window frame",
cn:"拖曳自动曝光选定窗口的左下角",
ru:"Перемещение левого нижнего угла рамки выбора окна автоэкспозиции"},
{id:"idAexp_frAmesel_nw", t:"h",en:"Drag the upper-left corner of autoexposure selection window frame",
cn:"拖曳自动曝光选定窗口的左上角",
ru:"Перемещение левого верхнего угла рамки выбора окна автоэкспозиции"},
{id:"idAexp_frAmesel_c", t:"h",en:"Drag the autoexposure selection window (use SHIFT for fine movement). Double click centers the frame. If SHIFT is held diuring the double-click the selection frame will toggle between the full and half size of the active window.",
cn:"拖曳自动曝光选定窗口,同时按下Shift键可以做精确调整,双击选定窗口同时按下Shift键可以将自动曝光选定窗口切换成整个活动窗口,或者活动窗口的一半",
ru:"Перемещение рамки выбора окна автоэкспозиции (при нажатии клавиши \"SHIFT\" осуществляется более точное перемещение). Двойной щелчек мыши центрирует окно, при нажатой клавише SHIFT двойной щелчек переключает центрированное окно между полным окном и окном половинного размера"},
{id:"idMagnifier_frAmesel_n", t:"h",en:"Drag the upper edge of the magnifier frame (fine tuning)",
cn:"拖曳放大镜窗口的上边框",
ru:"Перемещение верхней стороны рамки \"лупы\" (точная настройка)"},
{id:"idMagnifier_frAmesel_e", t:"h",en:"Drag the right edge of the magnifier frame (fine tuning)",
cn:"拖曳放大镜窗口的右边框",
ru:"Перемещение правой стороны рамки \"лупы\" (точная настройка)"},
{id:"idMagnifier_frAmesel_s", t:"h",en:"Drag the lower edge of the magnifier frame (fine tuning)",
cn:"拖曳放大镜窗口的下边框",
ru:"Перемещение нижней стороны рамки \"лупы\" (точная настройка)"},
{id:"idMagnifier_frAmesel_w", t:"h",en:"Drag the left edge of the magnifier frame (fine tuning)",
cn:"拖曳放大镜窗口的左边框",
ru:"Перемещение левой стороны рамки \"лупы\" (точная настройка)"},
{id:"idMagnifier_frAmesel_ne", t:"h",en:"Drag the upper-right corner of the magnifier frame",
cn:"拖曳放大镜窗口的右上角",
ru:"Перемещение правого верхнего угла рамки \"лупы\""},
{id:"idMagnifier_frAmesel_se", t:"h",en:"Drag the lower-right corner of the magnifier frame",
cn:"拖曳放大镜窗口的右下角",
ru:"Перемещение правого нижнего угла рамки \"лупы\""},
{id:"idMagnifier_frAmesel_sw", t:"h",en:"Drag the lower-left corner of the magnifier frame",
cn:"拖曳放大镜窗口的左下角",
ru:"Перемещение левого нижнего угла рамки \"лупы\""},
{id:"idMagnifier_frAmesel_nw", t:"h",en:"Drag the upper-left corner of the magnifier frame",
cn:"拖曳放大镜窗口的左上角",
ru:"Перемещение левого верхнего угла рамки \"лупы\""},
{id:"idMagnifier_frAmesel_c", t:"h",en:"Drag the magnifier frame (use SHIFT for fine movement). Double click centeres the frame, with shift it can increase the frame to the full active window.",
cn:"拖曳放大镜窗口,同时按下Shift键可以做精确调整,双击选定窗口同时按下Shift键可以将自动曝光选定窗口切换成整个活动窗口",
ru:"Перемещение рамки \"лупы\" (при нажатии клавиши \"SHIFT\" осуществляется более точное перемещение). Двойной щелчек мыши меняет увеличение с 1,0 (один пиксель экрана соответствует одному пикселю сенсора камеры) на значение, указанное в настройках"},
{id:"idAexp_LB", t:"p",en:"Automatic exposure settings",
cn:"自动曝光设置",
ru:"Настройки автоэкспозиции"},
{id:"idAexpMaxExpos_LB", t:"p",en:"Maximal exposure",
cn:"最长曝光时间",
ru:"Макс. экспозиция"},
{id:"idAEMax_UN", t:"p",en:"ms",
cn:"毫秒",
ru:"мс"},
{id:"idDVRSliderDelay_UN", t:"p"},
{id:"idAexpOverExp_LB", t:"p",en:"Maximal overexposed pixels",
cn:"过曝光像素的最大数目",
ru:"пересвечено"},
{id:"idShowAexpFrameMain_LB", t:"p",en:"AE in main",
cn:"自动曝光在主界面",
ru:"АЭ в главном"},
{id:"idShowAexpFrameNavigator_LB", t:"p",en:"AE in navigator",
cn:"自动曝光在导航界面",
ru:"АЭ в навигаторе"},
{id:"idDCMhor1_i18n", t:"p",en:"full",
cn:"全分辨率",
ru:"полн."},
{id:"idDCMvert1_i18n", t:"p",en:"full",
cn:"全分辨率",
ru:"полн."},
{id:"idBINhor1_i18n", t:"p",en:"none",
cn:"无",
ru:"нет"},
{id:"idBINvert1_i18n", t:"p",en:"none",
cn:"无",
ru:"нет"},
{id:"idDCMhor_LB", t:"p",en:"Horizontal resolution",
cn:"水平分辨率",
ru:"Горизонтальное разрешение"},
{id:"idDCMvert_LB", t:"p",en:"Vertical resolution",
cn:"垂直分辨率",
ru:"Вертикальное разрешение"},
{id:"idBINhor_LB", t:"p",en:"Horizontal binning/averaging",
cn:"水平方向合并平均",
ru:"Горизонтальный биннинг/усреднение"},
{id:"idBINvert_LB", t:"p",en:"Vertical binning/averaging",
cn:"垂直方向合并平均",
ru:"Вертикальный биннинг/усреднение"},
{id:"ImageSizeCustom", t:"p",en:"custom",
cn:"用户指定",
ru:"нестандартный"},
{id:"ImageSizeFull", t:"p",en:"full window",
cn:"整个窗口",
ru:"максимальный"},
{id:"ImageResolution", t:"h",en:"Select one of the common image sizes",
cn:"选择一个常用的图像大小",
ru:"Выберите один из стандартных размеров изображений."},
{id:"idSensorType_LB", t:"p",en:"Sensor type",
cn:"传感器类型",
ru:"Тип сенсора"},
{id:"idSensorSize_LB", t:"p",en:"Sensor size",
cn:"传感器大小",
ru:"Размер сенсора"},
{id:"idActualSize_LB", t:"p",en:"Image size",
cn:"图像大小",
ru:"Размер изображения"},
{id:"idSensorSize_UN", t:"p",en:" pix",
cn:" 像素",
ru:" пикс"},
{id:"idActualSize_UN", t:"p",en:" pix",
cn:" 像素",
ru:" пикс"},
{id:"idSensorType_ALL", t:"h",en:"Type of the image sensor used in this camera",
cn:"摄像机使用的图像传感器的类型",
ru:"Тип приемника изображений (сенсора), использованного в этой камере"},
{id:"idSensorSize_ALL", t:"h",en:"Sensor size (resolution)",
cn:"传感器分辨率",
ru:"Размер (резрешение) сенсора в пикселях"},
{id:"idActualSize_ALL", t:"h",en:"Dimensions of the images acquired from the camera with the current settings. It is also a link to the image acquired - you may right-click it and save the target on you hard drive",
cn:"采用当前设置摄像机输出图像的大小,点击鼠标右键可以将图像存储到硬盘",
ru:"Размер изображения, регистрируемого камерой при текущих установках. Это также ссылка на зарегистрированное изображение - вы можете сохранить его как файл на вашем компьютере, используя правую кнопку мыши."},
{id:"idAexp_LB", t:"h",en:"Settings for the camera automatic exposure", cn:"自动曝光设置",ru:"Настройки для управления алгоритмом автоэкспозиции."},
{id:"idAexp_frAmeselT_Width", t:"*h",en:"Auto exposure selection window width. You may also drag frame over the camera (or navigator) image to make a selection.",
cn:"自动曝光选定窗口的宽度,也可以通过拖曳的方式进行调整",
ru:"Ширина окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idAexp_frAmeselT_Height", t:"*h",en:"Auto exposure selection window height. You may also drag frame over the camera (or navigator) image to make a selection.",
cn:"自动曝光选定窗口的高度,也可以通过拖曳的方式进行调整",
ru:"Высота окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idAexp_frAmeselT_Left", t:"*h",en:"Auto exposure selection window left. You may also drag frame over the camera (or navigator) image to make a selection.",
cn:"自动曝光选定窗口的左边距,也可以通过拖曳的方式进行调整",
ru:"Левый отступ окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idAexp_frAmeselT_Top", t:"*h",en:"Auto exposure selection window top. You may also drag frame over the camera (or navigator) image to make a selection.",
cn:"自动曝光选定窗口的上边距,也可以通过拖曳的方式进行调整",
ru:"Верхний отступ окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idWindow_frAmeselT_Width", t:"*h",en:"Active window width. You may also drag frame over the navigator window (to the right) to make a selection.",
cn:"活动窗口的宽度,也可以通过拖曳的方式进行调整",
ru:"Ширина окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idWindow_frAmeselT_Height", t:"*h",en:"Active window height. You may also drag frame over the navigator window (to the right) to make a selection.",
cn:"活动窗口的高度,也可以通过拖曳的方式进行调整",
ru:"Высота окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idWindow_frAmeselT_Left", t:"*h",en:"Active window left. You may also drag frame over the navigator window (to the right) to make a selection.",
cn:"活动窗口的左边距,也可以通过拖曳的方式进行调整",
ru:"Левый отступ окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idWindow_frAmeselT_Top", t:"*h",en:"Active window top. You may also drag frame over the navigator window (to the right) to make a selection.",
cn:"活动窗口的上边距,也可以通过拖曳的方式进行调",
ru:"Верхний отступ окна автоэкспозиции. Можно также использовать рамку выбора для графического управления."},
{id:"idWindow_frAmeselT_WH", t:"h",en:" Active window selection - you may need to reduce the image size from the maximal sensor is capable of when higher than sensor can provide at full resolution frame rate is needed. You may switch to the auto exposure window selection be clicking on its frame or selecting the checkbox if the AE frame is hidden.",
cn:" 当摄像机按照全速输出视频流的时候,你需要减小图像尺寸",
ru:" Изменение размеров активного (используемого) окна. Вам может потребоваться ограничить размер активного окна по сравнению с полным окном сенсора в том случае, если требуется более высокая частота кадров, чем та, которую сенсор может обеспечить пр полном разрешении. Вы можете переключиться на размеры окна автоэкспозиции, если щелкните на/внутри его рамки. Или отметите соответствующий пункт в настройках, если рамка окна автоэкспозиции спрятана."},
{id:"idAexp_frAmeselT_WH", t:"h",en:" Auto exposure window selection. Only pixels inside this window will be counted when performing automatic exposure time adjustments to match the scene illumination and only these pixels will be counted for the white balancing. You may switch to active window selection controls by clicking on its frame in the navigator window.",
cn:" 自动曝光窗口选择,自动曝光算法在求取最佳曝光时间,白平衡参数的时候仅仅计算窗口内部的像素",
ru:" Выбор размеров окна автоэкспозиции. ТОлько пиксели, попадающие в окно будут учитаны алгоритмами автоматической регулировки времени экспозиции и баланса белого. Вы можете переключиться на размеры активного окна, если щелкните по рамке выбора активного окна в навигаторе (справа)"},
{id:"idAexp_frAmeselT_Width_pxpc", t:"h",en:"Switch between absolute (in pixels) and relative (in %) window size/position.",
cn:"切换选择采用相对(百分比)和绝对(像素总数)方式来表示窗口大小",
ru:"Переключение между абсолютными (в пикселях) и относительыми (в %) размерами и положением окон."},
{id:"idAexp_frAmeselT_Height_pxpc", t:"h"},
{id:"idAexp_frAmeselT_Left_pxpc", t:"h"},
{id:"idAexp_frAmeselT_Top_pxpc", t:"h"},
{id:"idWindow_frAmeselT_Width_pxpc", t:"h"},
{id:"idWindow_frAmeselT_Height_pxpc", t:"h"},
{id:"idWindow_frAmeselT_Left_pxpc", t:"h"},
{id:"idWindow_frAmeselT_Top_pxpc", t:"h"},
{id:"idAexpMaxExpos", t:"h",en:"Maximal value of the alowed exposure time (in ms). When exposure time increases above frame period (1/fps) it can slow down the frame rate of the video stream ",
cn:"最长曝光时间,单位为毫秒,当曝光时间超过一帧的周期的时候,帧率会自动下降",
ru:"Максимальное значения времени экспозиции. Большое время экспозиции может ограничивать максимальную частоту кадров"},
{id:"idAexpOverExp", t:"h",en:"Amout of pixels in the selected frame (percents of the selection) that are allowed to be overexposed",
cn:"自动曝光区域中允许过曝光的像素的百分比",
ru:"Разрешенный процент переэкспонированных пикселей сцены. Алгоритм автоэкспозиция будет пытаться поддерживать число \"слишком белых\" пикснелей выбранного окна на заданном уровне, регулируя время экспозиции"},
{id:"idShowAexpFrameMain_CB", t:"h",en:"Show the autoexposure (AE) selection in the main image window",
cn:"在主界面窗口中显示自动曝光区域",
ru:"Показать рамку выбора автоэкспозиции (АЭ) в основном окне изображения."},
{id:"idShowAexpFrameMain_LB", t:"h"},
{id:"idShowAexpFrameNavigator_CB", t:"h",en:"Show the autoexposure (AE) selection in the navigator window",
cn:"在导航窗口中显示自动曝光区域",
ru:"Показать рамку выбора автоэкспозиции (АЭ) в окне навигатора."},
{id:"idShowAexpFrameNavigator_LB", t:"h"},
{id:"slIder", t:"h",en:"This contol uses a special type of a slider designed for this program that allows fine-tuning. If you drag it by the lower half it behaves as a normal slider. But dragging it by the top one lets you make fine adjustments of the related parameters.",
cn:"这个控件使用了特殊的滑动杆,可以进行精确调整,如果拖曳滑动杆的下半部分,它象普通滑动杆一样,如果拖曳其上半部分它可以对相关参数进行非常精确的调整",
ru:"Этот параметр управляется специальным слайдером, разработанным для этой программы. Если вы берете слайдер за нижнюю половину движка, он ведет себя, как обычный. Если за верхнюю - включается режим точной регулировки связанного параметра."},
{id:"frAmesel", t:"h",en:"This control uses a special type of frames designed for this program that allow fine movents that correspond to a fraction of the screen pixel. If you drag the frame by it's center area or corners - it behaves in a normal way. But dragging any of the four sides (or other elements while the SHIFT key is pressed) you activate fine adjustment when one pixel movement of the mouse correspond to one pixel of the original image (assuming the full resolution of the sensor is selected)",
cn:"这个控件使用了特殊的框架,可以进行精确调整,如果拖曳框架的中央和四个角,它象普通的框架一样,如果拖曳它的四条边(或者按下Shift键的同时拖曳框架的其它部分)可以对相关参数进行非常精确的调整",
ru:"Если вы берете рамку курсором за центральную область или один из четырех углов - она ведет себя, как обычная. Но стоит взять ее за одну из четырех сторон (или любое место при удержании клавиши SHIFT), включается режим точной настройки, когда перемещение курсора мыши на один пиксель соответствует одному пикселю исходного изображения, т.е. перемещение значительно замедляется (если, конечно, у вас выбрано полное или близкое к полному разрешение сенсора)"},
{id:"idAexpInfoPercentsUnits", t:"p",en:" pix",
cn:" 像素",
ru:" пикс "},
{id:"idAexpInfoPercentsUnder", t:"p",en:"are under ",
cn:"低于 ",
ru:"менее "},
{id:"idAexpInfo_ALL", t:"h",en:"Shows amount of pixels (in the selected sub-region) with the values less than specified one (under auto exposure settings)",
cn:"显示自动曝光区域中灰度值小于指定值的像素的数量",
ru:"Указана доля пикселей (внутри выбранной прямоугольной области) со значениями, меньшими, чем указанное в разделе настройки автоэкспозиции."},
{id:"idAexp_LBALL", t:"h",en:"When checked, automatic exposure adjustment is on (you may also double-click on the exposure slider to toggle the state of automatic exposure). Some sliders behave differntly when you switch between automatic and manual exposure. Exposure time setting slider is the most obvious - in automatic mode it is just an indicator, not a control. Specific autoexposure sliders below also change.",
cn:"选中后可以调节自动曝光参数,(也可以双击曝光滑杆切换自动曝光状态),当在手动曝光和自动曝光状态之间切换的时候,有些滑杆可能会不一样",
ru:"Когда этот пункт отмечен, включается алгоритм автоматического выбора экспозиции камеры (вы также можете переключать ручной и автоматический режимы двойным щелчком на слайдер установки экспозиции. Некоторые из слайдеров функционируют различно в зависимости от режима. Наиболее очевиден движок выбора экспозиции - в автоматическом режиме он превращается в индикатор и показывает текущее значение экспозиции, выбранное алгоритмом. Специальные слайдеры для управления автоэкспозицией (ниже) тоже меняют свое назначение."},
{id:"idAexpLevels", t:"h",en:"Automatic exposure levels slider is used to set the output pixel level (up to 254) that is controlled by the automatic exposure algoritm. It will maintain a certain percent of all the pixels in the selected region below this value (when activated). Double-click sets the default value.",
cn:"Automatic exposure levels 滑杆用于调整输出像素的灰度值,这个值与自动曝光算法,它确保选定区域内的一定比例的像素的灰度值小于这个值,双击可以对这个值进行设置",
ru:"Слайдер \"уровни автоэкспозиции\" позволяет указывать уровень пикселей изображения (до 254), который контролируется алгоритмом автоподстройки экспозиции. Этот алгоритм (когда включен) поддерживает определенную долю пикселей на уровне, не превосходящем указанного значения. Двойной щелчек устанавливает исходное значение этого слайдера."},
{id:"idAexpPercents", t:"h",en:"Automatic exposure percents slider specifies amount of pixels that should be below the specified (see slider above) level. This slider is disabled when the automatic exposure is off and works as indicator - shows amount of the pixels below the specified level whith the current exposure settings (manually controlled as auto exposure is switched off). So you may first adjust exposure manually, then the Automatic exposure levels slider above, then - enable automatic exposure - it will maintain your selections. When in automatic mode double-click sets the default value.",
cn:"Automatic exposure percents 滑杆用于指定究竟有多少像素的灰度值得应该小于上面滑杆所指定的值,当自动曝光功能关闭的时候,这个选项不再起作用,仅仅起到一个指示的作用,指示曝光区域内有多少像素小于指定值,双击可以对这个值进行设置",
ru:"Слайдер\"проценты автоэкспозиции\" указывает процент пикселей выбранного окна, которые будут иметь значение, не превосходящее указанного слайдером выше (\"уровни автоэкспозиции\"). Когда автоэкспозиция выключена, то слайдер функционирует как индикатор - показывает долю пикселей, не превышающих указанного выше значения при текущем значении экспозиции (устанавливаемой вручную). Если включить автоэкспозицию. то алгоритм будет поддерживать указанное соотношение параметров этого и предыдущего слайдеров, сохраняя выбранные уровни яркости. В автоматическом режиме двойной щелчек устанавливает исходное значение этого слайдера."},
{id:"idAexpMonitor", t:"h",en:"When the automatic exposure is on, the Automatic exposure monitor allows you to specify additional pixel level to monitor. This parameter is not used in the algorithm - it just provides you with data inside info window. When the autoexposure is off, this slider is disabled and follows the Automatic exposure levels slider above. When in automatic mode double-click sets the default value.",
cn:"当自动曝光启用的时候, Automatic exposure monitor可以让你指定某个像素值用来监测,这个值与自动曝光算法无关,仅仅用于显示现在的算法设置是否适合当前的场景,当自动曝光功能关闭的时候,这个选项失效",
ru:"При включенной автоэкспозиции слайдер мониторинга автоэкспозиции позволяет следить за процентом пикселей на дополнительном уровне. Этот параметр не используется алгоритмом, но просто предоставляет дополнительную информацию в информационном окне программы. В режиме ручной установки времени экспозиции этот слайдер отключен и повторяет значение слайдера\"уровни автоэкспозиции\", расположенного выше. В автоматическом режиме двойной щелчек устанавливает исходное значение этого слайдера."},
{id:"idPixel", t:"p",en:"px",
cn:"像素",
ru:"пикс"},
{id:"idMore", t:"p",en:"more details...",
cn:"更多细节",
ru:"показать детали"},
{id:"idWindow_frAmeselT_more", t:"p"},
{id:"idAexp_frAmeselT_more", t:"p"},
{id:"idDivVideo_more", t:"p"},
{id:"idLess", t:"p",en:"less details",
cn:"更少细节",
ru:"убрать детали"},
{id:"idWindow_frAmeselT_less", t:"p"},
{id:"idAexp_frAmeselT_less", t:"p"},
{id:"idDivVideo_less", t:"p"},
{id:"idWindow_frAmeselT_more", t:"h",en:"Open tab with the additional image settings (resolution, binnning, compression quality).",
cn:"打开控制更多图像特性的选项卡,(分辨率,像素合并,压缩质量等等).",
ru:"Открыть вкладку с настройками режимов ввода изображений (разрешение, биннинг, компрессия)."},
{id:"idAexp_frAmeselT_more", t:"h",en:"Open tab with the additional settings for the automatic exposure parameters)",
cn:"打开控制更多自动曝光参数的选项卡",
ru:"Открыть вкладку с настройками параметров алгоритма автоэкспозиции."},
{id:"idWindow_frAmeselT_less", t:"h",en:"Hide details of the image acquisition setting",
cn:"隐藏图像采集参数设置",
ru:"Закрыть вкладку с настройками режимов ввода изображений."},
{id:"idAexp_frAmeselT_less", t:"h",en:"Hide the automatic exposure parameters",
cn:"隐藏自动曝光参数设置",
ru:"Закрыть вкладку с настройками параметров алгоритма автоэкспозиции."},
{id:"idEnableHist_LB", t:"p",en:"Enable Histogram",
cn:"启用直方图",
ru:"Включить гистограммы"},
{id:"idEnableHistAll", t:"h",en:"Enable repetitive reload of the histogram from the camera",
cn:"开启摄像机连续输出直方图的功能",
ru:"Включить периодическое обновление гистограмм от камеры"},
{id:"idHistHeight_LB", t:"p",en:"Height",
cn:"高度",
ru:"Высота"},
{id:"idHistHeightAll", t:"h",en:"Height of the histogram window (limited to 256 pixels)",
cn:"直方图窗口的高度,最大256像素",
ru:"Высота окна гистограмм (не более 256 пикселей)"},
{id:"idHistAver_LB", t:"p",en:"Averaging (pix.)",
cn:"平均(像素)",
ru:"Усреднение"},
{id:"idHistAverAll", t:"h",en:"Length of the running average to smooth the histogram (default 5 pixels).",
cn:"直方图滑动平均窗口的宽度,缺省设置为5个像素",
ru:"Длина диапазона сглаживания (исходное значение - 5 пикселей)"},
{id:"idHistScale_LB", t:"p",en:"Scale",
cn:"尺度",
ru:"Масштаб"},
{id:"idHistScaleAll", t:"h",en:"Histogram scale (increase from the default 1.0 to see the wings (the most white and the most black in the image).",
cn:"直方图的尺度,缺省设置为1,可以看到最亮和最暗的部分",
ru:"Масштаб гистограмм - можно увеличить (исходное значение 1.0), когда требуется рассмотреть крылья (самое светлое или самое темное)."},
{id:"idHistLinSqrtAll", t:"h",en:"Select between linear (faster) and quare root (better shows the wings of the histogram).",
cn:"选择直方图模式,线形(速度快),平方根(效果好)",
ru:"Выбор из линейного представления гистограмм (быстрее) и квадратного корня (лучше авидны крылья)."},
{id:"idHistLin_i18n", t:"p",en:"Linear",
cn:"线形",
ru:"Линейный"},
{id:"idHistLin_i18n", t:"h",en:"Linear histogram, faster.",
cn:"线形直方图,速度更快",
ru:"Линейный режим - быстрее."},
{id:"idHistSqrt_i18n", t:"p",en:"Square root",
cn:"平方根",
ru:"Кв. корень"},
{id:"idHistSqrt_i18n", t:"h",en:"Square root - better shows wings.",
cn:"平方根,显示效果更好",
ru:"Квадратный корень - лучше видны крылья гистограммы."},
{id:"idHistColorsR", t:"*h",en:"Enable red channel in the histogram.",
cn:"开启红色通道直方图 ",
ru:"Разрешить отображение красного цветового канала на гистограмме."},
{id:"idHistColorsG", t:"*h",en:"Enable green channel in the histogram.",
cn:"开启绿色通道直方图",
ru:"Разрешить отображение зеленого цветового канала на гистограмме."},
{id:"idHistColorsB", t:"*h",en:"Enable blue channel in the histogram.",
cn:"开启蓝色通道直方图",
ru:"Разрешить отображение синего цветового канала на гистограмме."},
{id:"idHistColorsW", t:"*h",en:"Enable white (average of all channels) in the histogram.",
cn:"开启白色通道直方图",
ru:"Разрешить отображение белого (среднего всех цветовых каналов) на гистограмме."},
{id:"idHistColorsG1", t:"*h",en:"Enable green1 (sensor has too sets of green pixels that could be out of perfect balance) in the histogram.",
cn:"开启1号绿色像素通道直方图",
ru:"Разрешить отдельное отображение первого зеленого канала (сенсор имеет два независимых канала зеленого, которые могут несколько отличаться по чувствительности) на гистограмме."},
{id:"idHistColorsG2", t:"*h",en:"Enable green2 (sensor has too sets of green pixels that could be out of perfect balance) in the histogram.",
cn:"开启2号绿色像素通道直方图",
ru:"Разрешить отдельное отображение второго зеленого канала (сенсор имеет два независимых канала зеленого, которые могут несколько отличаться по чувствительности) на гистограмме."},
{id:"idHistColors", t:"h",en:"Select which colors should be included on in the histogram image.",
cn:"选择何种颜色将被显示在直方图中",
ru:"Выбор каналов для представления на изображении гистограммы."},
{id:"idHistStyleDots_i18n", t:"p",en:"Dots",
cn:"点",
ru:"Точки"},
{id:"idHistStyleDots", t:"*h",en:"Show histogram as individual dots for each pixel value.",
cn:"虚线方式来显示直方图",
ru:"Показать гистограмму в виде не связанных точек."},
{id:"idHistStyleLine_i18n", t:"p",en:"Lines",
cn:"实线方式来显示直方图",
ru:"Отрезки"},
{id:"idHistStyleLine", t:"*h",en:"Show histogram as dots connected with straight lines.",
cn:"点划线方式来显示直方图",
ru:"Показать гистограмму отрезками прямых."},
{id:"idHistStyleFilled_i18n", t:"p",en:"Filled",
cn:"填充",
ru:"Области"},
{id:"idHistStyleFilled", t:"*h",en:"Fill areas under the histograms with the solid colors",
cn:"将直方图的下面填充颜色",
ru:"Заполнять области под гистограммами цветом."},
{id:"idHistStyle", t:"h",en:"Select the histogram style from dots, lines or filled areas",
cn:"选择直方图的显示方式,虚线,实线和填充",
ru:"Выбор стиля представления гистограмм - точки, линии или закрашенные области."},
{id:"idHistInterpGaps_i18n", t:"p",en:"Gaps",
cn:"缺口",
ru:"Провалы"},
{id:"idHistInterpGaps", t:"*h",en:"Leave gaps (zero values) for the missing values",
cn:"累积值为零的像素值不予表示,留下缺口",
ru:"Оставить отсчеты, куда не попало ни одного пикселя. без изменений"},
{id:"idHistInterpSteps_i18n", t:"p",en:"Steps",
cn:"步",
ru:"Ступени"},
{id:"idHistInterpSteps", t:"*h",en:"Fill the gaps by spreading the pixels between a non-zero and adjacent zero counts evenly (producing steps).",
cn:"通过插值的方式贴补累积值为零的像素值形成的缺口",
ru:"Распределить пиксели попавшие в определенный отсчет равномерно между ним и соседними нулевыми (ступени)."},
{id:"idHistInterpLin_i18n", t:"p",en:"Linear",
cn:"线性",
ru:"Отрезки"},
{id:"idHistInterpLin", t:"*h",en:"Linear interpolate between non-zero counts.",
cn:"利用线性插值弥补两个非零累积值之间的零累积值得导致的缺口",
ru:"Провести линейную интерполяцию, распределив пиксели между ненулевым и соседними нулевыми значениями трапеуиями."},
{id:"idHistInterp", t:"h",en:"Select what to do with the missing histogram values (usually happen in the dark areas with low contrast/gamma).",
cn:"选择处理直方图中零累积值的处理方式,低对比度下的暗区域比较常见",
ru:"Выбор того, как поступать с провалами в гистограммах (они особенно заметны в области черного, где при низких значениях контраста (гамма-коррекции), одному отсчеты входного сигнала от сенсора (10-битного) приходится несколько отсчетов выходного сигнала."},
{id:"idVideoLimitFPSAll", t:"h",en:"Limit the camera frame rate to a certain value",
cn:"限制摄像机的帧率小于某个值",
ru:"Ограничить частоту кадров камеры. Может потребоваться, если программа воспроизведения на вашем компьютере не успевает за камерой."},
{id:"idVideoMaintainFPSAll", t:"h",en:"Maintain the camera frame rate by preventing exposure from exceeding the set frame period even if there is not enough light. If the limit FPS is checked, the specified FPS will be used to limit exposure time. If it is not checked - the maximal FPS supported by the camera will be used instead.",
cn:"?????",
ru:"Поддерживать постоянную частоту кадров за счет ограничения максимальной выдержки периодом кадров, соответствующим заданной частоте. В том случае, если установлена максимальная частота кадров, то её значение будет ограничивать выдержку, если ограничение на максимальную частоту кадров отсутствует, то выдержка будет ограничена максимальной поддерживаемой камерой частотой кадров для данного разрешения."},
{id:"idVideoFPSLimitAll", t:"h",en:"Set the camera frame rate limimt value",
cn:"设置摄像机帧率限制",
ru:"Установить предельную частоту кадров камеры."},
{id:"idVideoLimitFPS_LB", t:"p",en:"Limit the frame rate",
cn:"限制帧率",
ru:"Ограничить частоту кадров"},
{id:"idVideoMaintainFPS_LB", t:"p",en:"Maintain the frame rate",
cn:"?????",
ru:"Сохранять частоту кадров"},
{id:"idVideoFPSLimit_LB", t:"p",en:"Frame rate limit",
cn:"帧率上限",
ru:"Частота кадров"},
{id:"idVideoFPSLimit_UN", t:"p",en:"fps",
cn:"帧/秒",
ru:"к/сек"},
{id:"idDVRFPS_UN", t:"p"},
{id:"idSoftReset_LB", t:"p",en:"Soft reset",
cn:"软复位",
ru:"Сброс камеры"},
{id:"idSensorReset_LB", t:"p",en:"Sensor reset",
cn:"传感器复位",
ru:"Перезапуск сенсора"},
{id:"idTimeoutCmd_LB", t:"p",en:"Command timeout",
cn:"指令超时",
ru:"Ожидание команд"},
{id:"idTimeoutStat_LB", t:"p",en:"Status timeout",
cn:"状态超时",
ru:"Ожидание статуса"},
{id:"idTimeoutAecmd_LB", t:"p",en:"AE cmd timeout",
cn:"自动曝光指令超时",
ru:"Ожидание АЭ ком."},
{id:"idTimeoutAestat_LB", t:"p",en:"AE stat timeout",
cn:"自动曝光状态超时",
ru:"Ожидание АЭ стат."},
{id:"idTimeoutImg_LB", t:"p",en:"Image timeout",
cn:" 图像超时",
ru:"Ожидание изобр."},
{id:"idTimeoutHist_LB", t:"p",en:"Histogram timeout",
cn:"直方图超时",
ru:"Ожидание гистогр."},
{id:"idTimeoutQuar_LB", t:"p",en:"Quarantine time",
cn:"隔离时间",
ru:"Время карантина"},
{id:"idSoftResetAll", t:"h",en:"Reset camera lock file. Please wait quarantuine time after this command - there will be no communications with the camera during this time.",
cn:"复位摄像机的锁定文件,执行这条指令后需要等待一个隔离时间,这个时间计算机与摄像机之间没有通讯",
ru:"Сброс \"замка\" камеры, предохраняющего ее оодновременных запросов. Подождите карантинное время (см. ниже) перед продолжение работы после этой команды."},
{id:"idSensorResetAll", t:"h",en:"Camera sensor reset (try this if the Soft Reset did not help. There are some (yet unknown to us exactly) conditions when sensor can lock-up and needs to be reset.",
cn:"复位摄像机的传感器,当软复位不能奏效的时候,出于某种不明原因,传感器可能死锁,需要进行复位",
ru:"Перезапуск сенсора камеры (сенсор иногда, по пока непонятным нам причинам/последовотельности команд) может оказаться в состоянии, требующем сброса. Используйте эту команду, если просто сброс (выше) не помог. Подождите карантинное время (см. ниже) перед продолжение работы после этой команды."},
{id:"idTimeoutCmdAll", t:"h",en:"Time program will wait for the acknowledge of the commands sent before giving up (ms).",
cn:"指令不能响应的时候放弃前等待的时间,单位是毫秒",
ru:"Время, которое программа будет ожидать ответа от камеры, после посылки команд (в мс)."},
{id:"idTimeoutStatAll", t:"h",en:"Time program will wait for the camera status data before giving up (ms).",
cn:"摄像机无法传输数据时候放弃前等待的时间,单位是毫秒",
ru:"Время, которое программа будет статусной информации от камеры (в мс)."},
{id:"idTimeoutAecmdAll", t:"h",en:"Time program will wait for the acknowledge of the auto exposure commands sent before giving up (ms).",
cn:"开启绿色通道直方图",
ru:"Время, которое программа будет ожидать ответа от камеры, после посылки команд автоэкспозиции (в мс)."},
{id:"idTimeoutAestatAll", t:"h",en:"Time program will wait for the auto exposure status data before giving up (ms).",
cn:"自动曝光时间不能响应放弃前等待时间",
ru:"Время, которое программа будет ожидать статусной информации модуля автоэкспозиции от камеры (в мс)."},
{id:"idTimeoutImgAll", t:"h",en:"Time program will wait for the images from the camera before giving up (ms). This time should be longer in the case of slow connection as image data size is much higher than other responces. To say nothing about the added exposure time - it can last for several seconds in the low-light conditions.",
cn:"软件无法得到来自摄像机的图像放弃前的等待时间,单位是毫秒,对于较慢的链接,这个时间应当长一些,当采用长时间曝光的时候尤其需要注意",
ru:"Время, которое программа будет ожидать получения изоборажений от камеры (в мс). Это время обычно выше, так как объем данных изображений значительно выше, чем просто ответов. Кроме того, он включает время экспозиции, которое может длиться несколько секунд при низкой освещенности сцены."},
{id:"idTimeoutHistAll", t:"h",en:"Time program will wait for the histogram images before giving up (ms).",
cn:" 软件无法得到直方图时放弃前的等待时间,单位毫秒",
ru:"Время, которое программа получения гистограмм от камеры (в мс)."},
{id:"idTimeoutQuarAll", t:"h",en:"Quarantine time program will wait after initiating reset sequence to let all the possibly pending responces from the cameera to die out (ms).",
cn:"程序启动复位后等待的隔离时间,用于等待所有不再响应程序结束,单位是毫秒",
ru:"Карантинное время - столько времени программа будет пассивно ожидать возможно инициированных ранее ответов от камеры, перед осуществлением собственно сброса (в мс)."},
{id:"idNetworkTabs_div1", t:"h",en:"All changes to the parameters on this page will be effective only after the camera is rebooted.",
cn:"本页所有参数变更只有再摄像机重新启动引导后才生效",
ru:"Все изменения конфигурационных параметров камеры, сделанные на этой странице, вступят в силу только после перезапуска камеры."},
{id:"idNetworkTabs_div1_LB", t:"p",en:"Network Settings",
cn:"网络设置 ",
ru:"Сетевые настройки"},
{id:"idConfNetBOOTPROTO_LB", t:"p",en:"DHCP",
cn:"DHCP",
ru:"DHCP"},
{id:"idConfNetBOOTPROTOAll", t:"*h",en:"Allow automatic network configuration via DHCP (if disabled - static IP settings will determine the network configuration).",
cn:"允许通过DHCP自动设置网络,否则将采用静态IP配置网络",
ru:"Разрешить автоматическое определение сетевых настроек камеры по DHCP, если в локальной сети есть работающий DHCP сервер. В этом режиме сожет быть трудно найти, какой у камеры в настоящее время адрес, чтобы с ней связаться. С другой стороны, если в камере настроен режим веб-камеры, то она сможет самостоятельно настроить свои сетевые адреса и соединиться с удаленным FTP сервером, если ее включить в сеть, где установки неизвестны и/или нет возможность воспользоваться статическим адресом."},
{id:"idConfNetMac_LB", t:"p",en:"MAC",
cn:"MAC",
ru:"MAC"},
{id:"idConfNetMacAll", t:"h",en:"Camera MAC - it is also a unique serial number of the camera.",
ru:"MAC-адрес камеры, который также служит уникальным серийным номером устройства."},
{id:"idConfNetIP_LB", t:"p",en:"IP",
cn:"IP",
ru:"IP"},
{id:"idConfNetIPAll", t:"*h",en:"Specify the static IP address of the camera",
cn:"指定相机静态IP地址",
ru:"Здесь можно указать статический IP адрес камеры."},
{id:"idConfNetNETMASK_LB", t:"p",en:"Mask",
cn:"掩码",
ru:"Маска"},
{id:"idConfNetNETMASKAll", t:"*h",en:"Specify the address mask of the network",
cn:"指定网络的掩码",
ru:"Укажите сетевую маску"},
{id:"idConfNetBROADCAST_LB", t:"p",en:"Broadcast",
cn:"广播",
ru:"Широковещательный"},
{id:"idConfNetBROADCASTAll", t:"*h",en:"Specify the BROADCAST address of the (it is usually the last address in the designated address range)",
cn:"指定广播地址,通常是指定地址段的最后一个",
ru:"Широковещательный адрес - обычно последний в диапазоне выделенных адресов"},
{id:"idConfNetGATEWAY_LB", t:"p",en:"Gateway",
cn:"网关",
ru:"Шлюз"},
{id:"idConfNetGATEWAYAll", t:"*h",en:"Specify the GATEWAY address of the camera (needed if camera is to be able to access the Internet)",
cn:"指定网关地址,当需要通过互联网访问相机的时候必须设置",
ru:"Адрес выхода из локальной сети. Нужно указывать, в частности, если камера должна работать с сетью Интернет (отвечать на запросы извне и/или передавать изображения на удаленный сервер)."},
{id:"idNetworkTabs_div1_readAll",t:"*h",en:"Read all the configuration parameters from the camera. All the changes made since the last write to the camera will be lost (those changes are shown in blue color).",
cn:"从摄像机上读取所有参数的配置,所有自从上次写入之后的变更都将丢失",
ru:"Прочитать все конфигурационные параметры из камеры (как видимые на данной вкладке. так и те, которые в данный момент невидимы. Все изменения параметров (показаны синим) , сделанные после записи в камеру, будут утеряны."},
{id:"idNetworkTabs_div1_readThis",t:"*h",en:"Read the configuration parameters from the camera that are shown on the current tab (no effect of the parameters on the other tabs). All the changes on the current tab made since the last write to the camera will be lost (those changes are shown in blue color).",
cn:"从摄像机上读取所有参数的当前选项卡中显示的值,其他选项卡中的内容不包括在内,自从上次写入之后的变更都将消失",
ru:"Прочитать из камеры нодор параметров, указанный на открытой вкладке. Все изменения, указанные синим, будут утеряны. Это относится только к параметрам данной вкладки - другие, которые сейчас не видны, останутся без изменений. "},
{id:"idNetworkTabs_div1_saveAll",t:"*h",en:"Write all the configuration changes made back to the camera - those visible on the current and other tabs. The changes to be written are shown in blue color. To prevent accidental pressing this button, it is made active only when the Shift key on the keyboard is held pressed while you click on it.",
cn:"将所有参数配置的变化写入摄像机,只包括当前选项卡中可见的内容,将要写入的内容以蓝色显示,为防止误操作,按下此键的同时必须按下Shift键",
ru:"Сохранить все сделанные изменения (показаны синим цветом) в конфигурационных файлах камеры - как на открытой вкладке, так и невидимые. Чтобы предотвратить непреднамеренные нажатия этой кнопки, она функционирует только при одновременном удержании клавиши верхнего регистра (Shift) на клавиатуре."},
{id:"idNetworkTabs_div1_saveThis",t:"*h",en:"Write the configuration chages visible on the current tab back to the camera (changes shown on the other tabs will not be written - you may review them later). The changes to be written are shown in blue color. To prevent accidental pressing this button, it is made active only when the Shift key on the keyboard is held pressed while you click on it.",
cn:"将所有当前选项卡中可见的内容写入摄像机,其他选项卡上的内容不包括在内,将要写入的内以蓝色表示,为防止误操作,按下此键的同时必须按下Shift键",
ru:"Сохранить изменения параметров, видимые на открытой вкладке (показаны синим). Изменения на других вкладках записаны не будут - вы их можете рассмотреть позднее. Чтобы предотвратить непреднамеренные нажатия этой кнопки, она функционирует только при одновременном удержании клавиши верхнего регистра (Shift) на клавиатуре."},
{id:"idNetworkTabs_div2_LB", t:"p",en:"Remote FTP Server",
cn:"远程FTP服务器",
ru:"Удаленный FTP сервер"},
{id:"idNetworkTabs_div3_LB", t:"p",en:"Webcam Settings",
cn:"WebCam 模式设置",
ru:"Режим вебкамеры"},
{id:"idNetworkTabs_div2", t:"h",en:"These are settings for the remote FTP server were camera will periodiacally upload images. To use this feature you need to have access to such server and have login (user) name and password. Server should be accessible by IP, not by domain name.",
cn:"关于远程FTP的服务器的一些说明",
ru:"Удаленный FTP сервер"},
{id:"idConfFtpINAME_LB", t:"p",en:"image name",
cn:"图像名称",
ru:"Имя"},
{id:"idConfFtpINAMEAll", t:"*h",en:"Enter the camera image name as it will appear on the remote server without extension (\".jpeg\" will be added automatically)",
cn:"输入摄像机图像的名称,这个名称将在远程服务器上显示,无需加扩展名,系统将自动添加.jpeg",
ru:"Введите имя изображений от камеры (без расширения - \".jpeg\" будет добавлен автоматически), под которым они будут доступны на удаленном сервере."},
{id:"idConfFtpREMOTE_DIR_LB", t:"p",en:"Remote path",
cn:"远程路径",
ru:"Папка"},
{id:"idConfFtpREMOTE_DIRAll", t:"*h",en:"Path to the image file directory on the remote server where the camera images are to be upload.",
cn:"远程服务器中上载图像的路径",
ru:"Имя директории на удаленном сервере, куда будут помещаться изображения от камеры."},
{id:"idConfFtpREMOTE_CONF_DIR_LB",t:"p",en:"Conf. path",
cn:"路径设置",
ru:"Конфигурационная папка"},
{id:"idConfFtpSCRIPT_PATH_LB",t:"p",en:"Script. path",
cn:"路径设置",
ru:"Скрипт"},
{id:"idConfFtpREMOTE_CONF_DIRAll",t:"*h",en:"Path to the remote server directory where optional configuration file can be provided (file name should be the same as the image name, but with \".conf\" extention). Each time camera is ready to acquire and upload an image it will look for such file, and if found - use it instead of the internal configuration data. It makes possible to modify some of the acquisition parameters without direct access to the camera.",
cn:"配置文件再远程服务器上的路径,配置文件与图像名字相同,扩展名为.conf,摄像机每次上载图像前会在服务器上寻找该文件,如果找到将采用该文件取代摄像机内部的配置文件,这就一来,即使不能直访问摄像机一样可以通过远程服务器对摄像机进行配置",
ru:"Имя директории на удаленном сервере, куда можно поместить файл с дополнительными изменениями конфигурационных параметров. Каждый раз, когда камера будек готова к вводу и передаче нового изображения, она сначала попытается открыть конфигурационный файл (имя, как у изображения, но с расширением \".conf\") в этой директории. Если такой файл будет найден, то двнные из него будут использованы для ввода вместо параметров из внутреннего конфигурационного файла камеры."},
{id:"idConfFtpSCRIPT_PATHAll",t:"*h",en:"Path to the remote server script (full http url) that should run each time the image is uploaded. Such script can be useful to add logo, generate thambnail image, etc.",
ru:"Полный адрес (url) скрипта, который будет исполняться на сервере каждый раз после передачи очередного изображения. Такой скрипт можно использовать, например, для добавления лого, времени регистрации к мзображениям или создания их уменьшенных копий для предварительного просмотра."},
{id:"idConfFtpSERVER_LB", t:"p",en:"Server IP",
cn:"服务器IP",
ru:"IP сервера"},
{id:"idConfFtpSERVERAll", t:"*h",en:"Enter the remote FTP server IP address here.",
cn:"在这里输入远程FTP服务器的IP地址",
ru:"IP адрес удаленного FTP сервера, куда должны передаваться изображения от камеры."},
{id:"idConfFtpUSER_LB", t:"p",en:"Username",
cn:"用户名",
ru:"Пользователь"},
{id:"idConfFtpUSERAll", t:"*h",en:"Enter the username for access to the remote FTP server here.",
cn:"输入方位远程FTP服务器所需的用户名",
ru:"Введите имя пользователя для доступа к удаленному FTP серверу"},
{id:"idConfFtpPASSWORD_LB", t:"p",en:"Password",
cn:"密码",
ru:"Пароль"},
{id:"idConfFtpPASSWORDAll", t:"*h",en:"Remote FTP access password.",
cn:"远程FTP服务器的密码",
ru:"Введите пароль для доступа к удаленному FTP серверу."},
{id:"idConfFtpPERIOD_LB", t:"p",en:"Interval (sec)",
cn:"间隔",
ru:"Интервал (сек)"},
{id:"idConfFtpPERIODAll", t:"*h",en:"Enter time delay beween consequtive image uploads (in seconds)",
cn:"输入上传图像的延时,以秒为单位",
ru:"Введите итервал (в секундах) между вводом и передачей новых изображений на удаленный FTP сервер."},
{id:"idFTPLeftTime_LB", t:"p",en:"Next cycle in (sec)",
ru:"Следующий цикл (сек)"},
{id:"idFTPLeftTimeAll", t:"*h",en:"Shows time to next upoload (click refresh button to update). Goes negative from the due time till the file is uploaded, configuartion updated, script exited.",
ru:"Показано время до начала следующего цикла передачи изображения на удаленный сервер (требуется нажатие кнопки обновления). Эта величина бывает отрицательной от момента начала передачи данных до окончания передачи, обновления и исполнения внешней программы."},
{id:"idConfFtpTIMEOUT_LB", t:"p",en:"Timeout (sec)",
ru:"Таймаут (сек)"},
{id:"idConfFtpTIMEOUTAll", t:"*h",en:"Enter maximal time to wait for upload (in seconds)",
ru:"Введите максимальное время (в секундах) ожидания окончания передачии изображений на удаленный FTP сервер."},
{id:"idConfFtpUPDATE_LB", t:"p",en:"Update (sec)",
ru:"Обновление (сек)"},
{id:"idConfFtpUPDATEAll", t:"*h",en:"Enter maximal time between camera attempts to read the external configuration file (in seconds)",
ru:"Введите максимальное время (в секундах), через которое камера будет пытаться прочитать удаленный конфигурационный файл.."},
{id:"idConfFtpENABLE_LB", t:"p",en:"Enable config file",
ru:"Активировать конфигурацию"},
{id:"idConfFtpENABLEAll", t:"*h",en:"Enable the FTP configuration file (if disabled -- camera will ignore any attempts to turn on the FTP upload)",
ru:"Разрешить использование конфигурационного файла. В противномм случае камера будет игнорировать попытки включения закачки изображений на удаленный FTP сервер."},
{id:"idNetworkTabs_div3", t:"h",en:"These are settings for the camera acquisitiona parameters that will be used (if enabled) in the webcam mode when camera will automatically upload images to the remote FTP server. It is suggested that you set the camera in the desired operation mode first and then transfer them to the webcam settings.",
cn:"WebCam参数的一些说明",
ru:"Параметры режима веб-камеры"},
{id:"idConfWebENABLE_LB", t:"p",en:"Enable webcam",
cn:"启用WebCam",
ru:"Разрешить режим веб-камеры"},
{id:"idConfWebENABLEAll", t:"*h",en:"Start now aand enable automatic webcam script to run in the camera. This checkbox automatically disables itself if configuration file is not enabled",
cn:"允许WebCam代码自动运行",
ru:"Включить и разрешить автоматический запуск программы передачи изображений на удаленный сервер при включении камеры. Этот контроль автоматически выключается если конфигурационный фаил отсутствует или не разрешен."},
/*
{id:"idConfWebQUALITY_LB", t:"p",en:"JPEG quality (%)",
cn:"JPEG压缩质量",
ru:"Качество JPEG (%)"},
{id:"idConfWebQUALITYAll", t:"*h",en:"JPEG image quality (%). The higher - the better but the image size also grows up",
cn:"JPEG压缩质量越高图像质量越好,但是文件也越大",
ru:"Установить качество JPEG (%). Чем выше качество. тем больше размер получаемых файлов."},
{id:"idConfWebOPT_LB", t:"p",en:"Options",
cn:"选项",
ru:"Опции"},
{id:"idConfWebOPTAll", t:"*h",en:"String of image acquisition options ('c' - color, 'x' - flip-X, 'y' - flip-Y). You may automatically copy all the required options from the current settings by pressing the \"auto\" button above.",
cn:"图像采集控制字符串,可以通过复制的方式获得",
ru:"Строка опций для получения изображений ('c' - цвет, 'x' - перевернуть право-лево, 'y' - перевернуть верх-низ - буквы латинские). Удобно копировать эту строку из текущих установок с помощью кнопки \"авто\" вверху вкладки."},
{id:"idConfWebDH_LB", t:"p",en:"Hor. Decimation",
cn:"水平间隔采样",
ru:"Гор. прореживание"},
{id:"idConfWebDHAll", t:"*h",en:"Horisontal decimation - usually set to \"1\" - full resolution",
cn:"水平间隔采样设置,通常设为1,也就是全分辨率",
ru:"Установить величину прореживания пикселей по горизонтали (обычно устанавливается в 1 - полное разрешение)."},
{id:"idConfWebDV_LB", t:"p",en:"Vert. Decimation",
cn:"垂直间隔采样",
ru:"Установить величину прореживания пикселей по вертикали."},
{id:"idConfWebDVAll", t:"*h",en:"Vertical decimation - usually set to \"1\" - full resolution",
cn:"垂直间隔采样,通常设为1,也就是全分辨率",
ru:"Вертикальное прореживание (обычно устанавливается в 1 - полное разрешение)"},
{id:"idConfWebBH_LB", t:"p",en:"Hor. Binning",
cn:"水平合并像素",
ru:"Гор. объединение"},
{id:"idConfWebBHAll", t:"*h",en:"Horisontal binning (can be used only when horizontal decimation is greater than 1). Increases sensor sensitivity by combining values from several pixels instead of just discarding them (as done with just decimation).",
cn:"水平方向像素合并,只有当水平间隔采样大于1的时候才有效,合并像素可以提高传感器的灵敏度",
ru:"Горизонтальное усреднение (биннинг) пикселей (требует установки соотвектствующей величины горизонтального прореживания пикселей). Увеличиывает эффективную чувствительность сенсора (при неполном разрешении), объединяя выходные сингналы от нескольких пикселей."},
{id:"idConfWebBV_LB", t:"p",en:"Vert. Binning",
cn:"垂直合并像素",
ru:"Верт. объединение"},
{id:"idConfWebBVAll", t:"*h",en:"Vertical binning (can be used only when vertical decimation is greater than 1). Increases sensor sensitivity by combining values from several pixels instead of just discarding them (as done with just decimation).",
cn:"垂直方向像素合并,只有当垂直间隔采样大于1的时候才有效,合并像素可以提高传感器的灵敏 ",
ru:"Вертикальное усреднение (биннинг) пикселей (требует установки соотвектствующей величины горизонтального прореживания пикселей). Увеличиывает эффективную чувствительность сенсора (при неполном разрешении), объединяя выходные сингналы от нескольких пикселей."},
{id:"idConfWebSENS_LB", t:"p",en:"Gain (1-16)",
cn:"增益(1-16)",
ru:"Усиление (1-16)"},
{id:"idConfWebSENSAll", t:"*h",en:"Sensor analog gain (sensitivity). Using high values increase noise, so it is better to keep gain under 4 except for low-light conditions.",
cn:"传感器的模拟增益,采用高增益将增加图像内部噪声,除非在低照度情况下,否则应小于4",
ru:"Величина аналогового усиления сенсора. При использовании высоких значений вырастает шум считывания сенсора, поэтому ы в условиях достаточной освещенности рекомендуется не поднимать его выше 4,0."},
{id:"idConfWebRSCALE_LB", t:"p",en:"Red-to-Green Gain",
cn:"红绿增益",
ru:"Красный/зеленый"},
{id:"idConfWebRSCALEAll", t:"*h",en:"Red-to-green gain ratio(0.25-4.0). You may put \"auto\" to use automatic white balance feature in the camera.",
cn:"红绿增益(0.25-4),设置为自动的时候将直接采用自动白平衡的结果",
ru:"Отношение усилений в красном и зеленом каналах. Можно поставить \"auto\", тогда баланс цветов будет производиться автоматически."},
{id:"idConfWebBSCALE_LB", t:"p",en:"Blue-to-Green Gain",
cn:"蓝绿增益",
ru:"Синий/зеленый"},
{id:"idConfWebBSCALEAll", t:"*h",en:"Blue-to-green gain ratio(0.25-4.0). You may put \"auto\" to use automatic white balance feature in the camera.",
cn:"蓝绿增益(0.25-4),设置为自动的时候将直接采用自动白平衡的结果",
ru:"Отношение усилений в синем и зеленом каналах. Можно поставить \"auto\", тогда баланс цветов будет производиться автоматически."},
{id:"idConfWebWBTH_LB", t:"p",en:"White Bal. Level",
cn:"白平衡水平%",
ru:"Уровень белого"},
{id:"idConfWebWBTHAll", t:"*h",en:"Camera automatic white balancing algorithm assumes that the brightest objects in the frame are white. This parameter specifies what to consider \"bright\" (on the scale of 1..255), default value is 250",
cn:"摄像机的自动白平衡算法假设图像中最亮的颜色为白色,图像中灰度值超过250的像素认为是亮的像素",
ru:"Алгоритм автоматического баланса цветов подразумевает, что самые светлые объекты в кадре - белые. Этот параметр определяет, какой уровень ( по шкале 0-255) считать достаточно светлым."},
{id:"idConfWebWBPC_LB", t:"p",en:"White Bal. Percents",
cn:"白平衡%",
ru:"Доля белого (%)"},
{id:"idConfWebWBPCAll", t:"*h",en:"This is a supplementary parameter to the previous White Balance Level. It is uses when the overall brightness is low and there are no (or little) pixels1 above the specified level. The value (in percents) specify amount of brightest pixels to be used in the algorithm.",
cn:"这是一个白平衡的辅助参数,当图像中整体亮度较低,只有极少或者根本没有像素的灰度值超过指定阈值的时候,该参数,一个百分比,指定亮度最高的百分之几就是亮的像素",
ru:"Этот параметр является дополнительным к предыдущему (уровню белого). Им определяется, какая доля (в процентах) \"белых\" пикселей необходима для работы алгоритма. Если весь кадр темный и пикселей, превышающих заданный уровень нет или недостаточно, уровень будет понижен, чтобы число превышающих его пикселей составляло не менее указанной доли."},
{id:"idConfWebCSR_LB", t:"p",en:"Color Saturation (R-G, %)",
cn:"颜色饱和度(红-绿%)",
ru:"Насыщенность цвета (красный, %)"},
{id:"idConfWebCSRAll", t:"*h",en:"Color saturation on the red channel (red to green). Default value is 200% (0-to-500 range).",
cn:"红色通道的色彩饱和度(红-绿),缺省值是200%,范围从0-500%",
ru:"Насыщенность цвета в красном/зеленом канале. Исходное значение - 200, полный диапазон - 0 - 500%"},
{id:"idConfWebCSB_LB", t:"p",en:"Color Saturation (B-G, %)",
cn:"色彩饱和度(蓝-绿,%)",
ru:"Насыщенность цвета (синий, %)"},
{id:"idConfWebCSBAll", t:"*h",en:"Color saturation on the blue channel (red to green). Default value is 200% (0-to-500 range).",
cn:"红色通道的色彩饱和度(红-绿),缺省值是200%,范围从0-500%",
ru:"Насыщенность цвета в синем/зеленом канале. Исходное значение - 200, полный диапазон - 0 - 500%"},
{id:"idConfWebGAM_LB", t:"p",en:"Gamma (contrast), %",
cn:"Gamma值,对比度%",
ru:"Гамма"},
{id:"idConfWebGAMAll", t:"*h",en:"Gamma-correction value determins the contrast of the images. 100% correspond to the linear scale when the pixel values are proportional to the amount of light received. Default value is 52%",
cn:"Gamma值用于调整图像对比度,当等于100%的时候像素的灰度值与靶面照度呈线形关系,缺省设置为52%",
ru:"Величина гамма-коррекции определяет контрастность изображений. 100 процентов соответствует линейной шкале, исходное значение - 52%"},
{id:"idConfWebPXL_LB", t:"p",en:"Black level",
ru:"Уровень черного"},
{id:"idConfWebPXLAll", t:"*h",en:"Black level shift to compensate for the \"fat zero\" level of the sensor output",
ru:"Сдвиг уровня черного для компенсации \"жирного ноля\" сенсора. Настолько будет уменьшено значение каждого пикселя перед дальнейшей обработкой (в частности, перед гамма-коррекцией)."},
{id:"idConfWebE_LB", t:"p",en:"Exposure (in 0.1ms)",
cn:"曝光时间,单位是0.1毫秒",
ru:"Экспозиция (в 0,1 мс)"},
{id:"idConfWebEAll", t:"*h",en:"Exposure time (in 0.1 ms, so 1 sec=10000). This parameter will not be used when the automatic exposure is turned on in the camera.",
cn:"曝光时间,单位是0.1毫秒,1秒等于10000,当自动曝光工作的时候本参数无效",
ru:"Время экспозиции (единица соответствует 1/10000 секунды). Этот параметр не будет исплользоваться, если включен режим автоэкспозиции."},
{id:"idConfWebWW_LB", t:"p",en:"Frame Width (px)",
cn:"框架宽度,单位是像素",
ru:"Ширина кадра (пикс.)"},
{id:"idConfWebWWAll", t:"*h",en:"Frame width in pixels, before the decimation (if any) is applied. It is recommended to use the full sensor resolution in the webcam mode.",
cn:"间隔采样之前的框架的宽度,在WebCam模式下推荐使用全分辨率",
ru:"Ширина кадра в пикселях (до прореживания)."},
{id:"idConfWebWH_LB", t:"p",en:"Frame Height (px)",
cn:"框架高度,单位是像素",
ru:"Высота кадра (в пикс.)"},
{id:"idConfWebWHAll", t:"*h",en:"Frame height in pixels, before the decimation (if any) is applied. It is recommended to use the full sensor resolution in the webcam mode.",
cn:"间隔采样之前的框架的高度,在WebCam模式下推荐使用全分辨率",
ru:"Высота кадра в пикселях (до прореживания)."},
{id:"idConfWebWL_LB", t:"p",en:"Frame Left (px)",
cn:"框架左边距,单位是像素",
ru:"Левое поле (пикс.)"},
{id:"idConfWebWLAll", t:"*h",en:"Frame left margin - used when the frame width is less than the sensor width).",
cn:"框架的左边距,当框架的宽度小于传感器的宽度",
ru:"Расстояние от левой границы полного фоточувствительного окна сенсора до левой границы выбранного кадра."},
{id:"idConfWebWT_LB", t:"p",en:"Frame Top (px)",
cn:"框架上边距,单位是像素",
ru:"Верхнее поле"},
{id:"idConfWebWTAll", t:"*h",en:"Frame top margin - used when the frame height is less than the sensor height).",
cn:"框架上边距,当框架的高度小于传感器的高度",
ru:"Расстояние от верхней границы полного фоточувствительного окна сенсора до верхней границы выбранного кадра."},
*/
/*
{id:"idNetworkTabs_div4", t:"h",en:"These parameters specify the autoexposure settings for the camera when it automatically uploads images to the remote FTP server. You may select the rignt parameters visually in this interface and then transfer them to the webcam mode settings.",
cn:"WebCam自动曝光的一些说明",
ru:"Параметры режима веб-камеры (автоэкспозиция)"},
{id:"idNetworkTabs_div4_LB", t:"p",en:"Webcam Auto exposure",
cn:"WebCam 自动曝光",
ru:"Автоэкспозиция вебкамеры"},
{id:"idConfWebAEXPEN_LB", t:"p",en:"Auto exposure",
cn:"自动曝光",
ru:"Автоэкспозиция"},
{id:"idConfWebAEXPENAll", t:"*h",en:"Enable automatic exposure algorithm in the camera (or use manual exposure when unselected).",
cn:"启用自动曝光算法,如果未选定仍采用手动指定曝光时间",
ru:"Включение режима автоматической установки времени экспозиции (при выключении действует ручная установка экспозиции)ю"},
{id:"idConfWebAEXPW_LB", t:"p",en:"Width (%)",
cn:"宽度",
ru:"Ширина (%)"},
{id:"idConfWebAEXPWAll", t:"*h",en:"Width of the auto exposure area in percents of the frame selected for acquisition.",
cn:"自动曝光区域的宽度占整个框架宽度的百分比",
ru:"Ширина прямоугольной области, используемой для автоматического определения времени экспозицци, в процентах от выбранной ширины кадра."},
{id:"idConfWebAEXPH_LB", t:"p",en:"Height (%)",
cn:"高度%",
ru:"Высота (%)"},
{id:"idConfWebAEXPHAll", t:"*h",en:"Height of the auto exposure area in percents of the frame selected for acquisition",
cn:"自动曝光区域的高度占整个框架高度的百分比",
ru:"Высота прямоугольной области, используемой для автоматического определения времени экспозицци, в процентах от выбранной ширины кадра."},
{id:"idConfWebAEXPX_LB", t:"p",en:"Horisontal (%)",
cn:"水平%",
ru:"Гор. смещение (%)"},
{id:"idConfWebAEXPXAll", t:"*h",en:"Horizontal position of the auto exposure frame (0% - very left, 100% - very right, 50% - in the middle).",
cn:"自动曝光区域的水平位置,0%在左边,100%在右边,50%在中间",
ru:"Горизотальное положение рамки автоэкспозицци, в процентах от возможного смещения (0% - крайнее левое положение, 100% - крайнее правое, 50% - посередине)."},
{id:"idConfWebAEXPY_LB", t:"p",en:"Vertical (%)",
cn:"垂直%",
ru:"Верт. смещение (%)"},
{id:"idConfWebAEXPYAll", t:"*h",en:"Vertical position of the auto exposure frame (0% - very top, 100% - very bottom, 50% - in the middle).",
cn:"自动曝光区域的垂直位置,0%在上边,100%在下边,50%在中间",
ru:"Вертикальное положение рамки автоэкспозицци, в процентах от возможного смещения (0% - крайнее верхнее положение, 100% - крайнее нижнее, 50% - посередине)."},
{id:"idConfWebAEXPME_LB", t:"p",en:"Max. exposure (0.1ms)",
cn:"最长曝光时间,单位是0.1毫秒",
ru:"Макс. экспоз. (в 0,1 мс)"},
{id:"idConfWebAEXPMEAll", t:"*h",en:"Maximal exposure that the algorithm is allowed to use. It is measured in 1/10000 of a second, so \"10000\" stands for 1 second.",
cn:"自动曝光算法的最大曝光时间,单位是0.1毫米,10000表示1秒",
ru:"Максимальное время экспозиции, разрешенное алгоритму автоэкспозиции. Выражено в десятитысячных долях секунды (1/10000), т.е. одной секунде соответствует значение 10000"},
{id:"idConfWebAEXPINDEX_LB", t:"p",en:"Level (16..255)",
cn:"灰度值16-255",
ru:"Уровень (16..255)"},
{id:"idConfWebAEXPINDEXAll", t:"*h",en:"Pixel level that the autoexposure algorithm will try to maintain as the upper limit for the specified number of pixels (below)",
cn:"自动曝光算法中指定比例的像素的灰度值上限",
ru:"Значение, которое алгоритм будет стараться поддерживать, как верхнюю границу для указанной ниже доли пикселей."},
{id:"idConfWebAEXPPERCENT_LB", t:"p",en:"Percent",
cn:"百分比",
ru:"Процент"},
{id:"idConfWebAEXPPERCENTAll",t:"*h",en:"Amount of pixels (in percents of the autoexposure frame) that should have values below the level specified above. The rest of the pixels should have the value higher than the one specified.",
cn:"自动曝光区域中某个比例的像素的灰度值小于指定值,其余的像素灰度值大于指定值",
ru:"Количество пикселей (в процентах от общего количества в рамке автоэкспозиции), которые будут иметь значение, ниже заданного (см. \"Уровень\" выше). Значение остальных пикселей будет выше заданного уровня."},
*/
{id:"idShiftWarn", t:"h",en:"To prevent accidental pressing this button, it is made active only when the Shift key on the keyboard is held pressed while you click on it.",
cn:"为防止误操作,按下此键的时候必须同时按下Shift键",
ru:"Чтобы предотвратить непреднамеренные нажатия этой кнопки, она функционирует только при одновременном удержании клавиши верхнего регистра (Shift) на клавиатуре."},
{id:"idCommStat_Free_i18n", t:"p",en:"idle",
ru:"свободна"},
{id:"idCommStat_Free_i18n", t:"h",en:"Program is not communicating with camera regarding image acquisition (configuration data and static files download are not counted)/",
ru:"Программа в данное время не производит обменов информацией с камерой (не считая возможной передачи/приема конфигурационных и статических файлов)."},
{id:"idCommStat_Waiting_i18n", t:"p",en:"waiting for",
ru:"ожидание"},
{id:"idCommStat_Waiting_i18n", t:"h",en:"Program is waiting for the camera responce. You may click here to cancel",
ru:"Программа ожидает ответа от камеры."},
{id:"idCommStat_Command_i18n", t:"p",en:"command",
ru:"подтв. команды"},
{id:"idCommStat_Command_i18n", t:"h",en:"Program have sent an image acquisition parameters update to the camera, waiting for confirmation.",
ru:"Программа послала камере команду управления параметрами ввода изображений и ожидает подтверждения исполнения."},
{id:"idCommStat_Status_i18n", t:"p",en:"status",
ru:"статуса"},
{id:"idCommStat_Status_i18n", t:"h",en:"Program is waiting for the camera status update",
ru:"программа ожидает получения стиатусной информации от камеры."},
/* {id:"idCommStat_AECommand_i18n",t:"p",en:"AE command",
ru:"подтв. команды АЭ"},
{id:"idCommStat_AECommand_i18n",t:"h",en:"Program have sent an auto exposure control command to the camera, waiting for confirmation.",
ru:"Программа послала камере команду управления алгоритмом автоэкпозиции и теперь ожидает подтверждения исполнения."},
{id:"idCommStat_AEStatus_i18n",t:"p",en:"AE status",
ru:"статуса АЭ"},
{id:"idCommStat_AEStatus_i18n",t:"h",en:"Program is waiting for the autoexposure status update from the camera.",
ru:"Программа ожидает получения статусной информации режима автоэкспозиции."},*/
{id:"idCommStat_Image_i18n", t:"p",en:"image",
ru:"изображения"},
{id:"idCommStat_Image_i18n", t:"h",en:"Program is waiting for the image requested from the camera. It requires more data transfer than other types of requests, in can take a long time if the communication channel is slow - please be patient. ",
ru:"Программа ожидает получения изображения от камеры. Это требует передачи большего объема информации, чем для других команд и может занимать большое время, если канал связи медленный (например, несколько минут)."},
{id:"idCommStat_Histogram_i18n",t:"p",en:"histogram",
ru:"гистограммы"},
{id:"idCommStat_Histogram_i18n",t:"h",en:"Program requested a histogram image from the camera and now is waiting for it.",
ru:"Программа ожидает получения запрошенного изображения гистограммы от камеры."},
{id:"idCommStatTimePassed_UN", t:"p",en:"sec",
ru:"сек"},
{id:"idDVRMaxFileDuration_UN", t:"p"},
{id:"idColor_ALL", t:"h",en:"Color sensor mode. When turned off the Bayer mosaic processing is disabled and on color sensors you will see mesh pattern. If you need monochrome images from color sensor you can get it turning color saturation to zero.",
ru:"Режим цветного сенсора. Когда он выключен, то на цветном сенсоре вы увидите сетку. Если же требуется получить монохромное изображение с цветного сенсора, то можно установить в ноль цветовую насыщенность."},
{id:"idUpgrade_LB", t:"p",en:"Firmware Upgrade",
ru:"Обновить ПО камеры"},
{id:"idUpgradeAll", t:"h",en:"This button will open the camera firmware upgrade window that will allow you to install the new software into the camera. As usually it is critical not to interrupt this process in the middle as the camera will not boot up and communicate in that case. Fortunately there is still a \"plan B\" and it is possible to recover from upgrade failures thanks to the bootloader embedded in the CPU. To use it you will need Elphel Live DVD (or CD), so we strongly recommend that you make sure you have such disk and are familiar with it operation before proceeding. In the firmware upgrade process you need to have an image file ready, it is called \"fimage\" and is 16MB in size (16,777,224 bytes). If you downloaded a comressed file (such as elphel333-N.N.NN-flash.tar.bz2) you need to unzip it first and verify that it has the correct size.",
ru:"По нажатию этой кнопки откроется окно, в котором можно выбрать файл и процесс обновления встроенного программного обеспечения камеры. Как обычно, во время такой операции важно не прервать установку нового ПО посередине, иначе камера не включится и не будет доступна для коммуникации по сети. К счастью, даже в таком аварийном случае вам не придется отдавать камеру в ремонт - разработчики процессора, использованного в камере, встроили в него сетевой начальный загрузчик, поэтому возможность установить программное обеспечение сохранится. Но для такой процедуры вам потребуется диск Elphel Live CD (DVD), так что мы настоятельно рекомендуем перед началом заливки убедиться, что он у вас есть. Для заливки вам также нужен сам файл (он называется fimage). Если вы его получили в архиве (например как elphel333-N.N.NN-flash.tar.bz2), то сначала его нужно распаковать и убедиться, что размер составляет 16МБ (точнее 16.777.224 байт)."},
{id:"idUpgradeText", t:"h",en:"
Firmware Upgrade
This page allows you to install the new software into the camera. As usually it is critical not to interrupt this process in the middle as the camera will not boot up and communicate in that case. Fortunately there is still a \"plan B\" and it is possible to recover from upgrade failures thanks to the bootloader embedded in the CPU. To use it you will need Elphel Live DVD (or CD), so we stronly recommend that you make sure you have such disk and are familiar with it operation before proceeding. In the firmware upgrade process you need to have an image file ready, it is called \"fimage\" and is 16MB in size (16,777,224 bytes). If you downloaded a comressed file (such as elphel333-N.N.NN-flash.tar.bz2) you need to unzip it first and verify that it has the correct size. The upgrade process will take several minutes even if the camera is connected to the host computer via the fast network. After the initial communication with the camera will be established there will be progress information shown here. Please copy and paste it to the bug report in the case you will have any problems with this upgrade. Most of the internal camera files will be restored to the original state (all your possible changes lost - so save them now) but password and the network settings will be preserved.
",
ru:"
Установка новой версии ПО камеры
На этой странице можно выбрать файл и включить процесс обновления встроенного программного обеспечения камеры. Как обычно, во время такой операции важно не прервать установку нового ПО посередине, иначе камера не включится и не будет доступна для коммуникации по сети. К счастью, даже в таком аварийном случае вам не придется отдавать камеру в ремонт - разработчики процессора, использованного в камере, встроили в него сетевой начальный загрузчик, поэтому возможность установить программное обеспечение сохранится. Но для такой процедуры вам потребуется диск Elphel Live CD (DVD), так что мы настоятельно рекомендуем перед началом заливки убедиться, что он у вас есть. Для заливки вам также нужен сам файл (он называется fimage). Если вы его получили в архиве (например как elphel333-N.N.NN-flash.tar.bz2), то сначала его нужно распаковать и убедиться, что размер составляет 16МБ (точнее 16.777.224 байт) Процесс обновления программного обеспечения занимает несколько минут, после начального установления обмена информации с камерой, в это окно будет выводиться информация о процессе установки ПО (на английском языке), пожалуйста скопируйте эту информацию и приложите к сообщению об ошибках, если в процессе установки ПО у вас возникнут проблемы. После установки большая часть настроек камеры будет восстановлена до фабричного состояния (т.е. выши возможные изменения будут затерты - сохраните их сейчас), но пароль и сетевые настройки сохранятся.
"},
{id:"idUpgradeFirmware_LB", t:"h",en:"Firmware File (fimage)",
ru:"Файл образа ПО (fimage)"},
{id:"idUpgrade_BN", t:"h",en:"Upgrade Firmware",
ru:"Обновить ПО"},
{id:"idUpgradeCancel_BN", t:"h",en:"Cancel",
ru:"Отмена"},
{id:"idUpgradeNoFile", t:"h",en:"Please specify the firmware image file (fimage).",
ru:"Укажите пожалуйста имя файла, содержащего программное обеспечение для установки в камеру (fimage)"},
/* {id:"idCommStat_StrCommand_i18n",t:"p",en:"Streamer cmd:",
ru:"подтв. команды стримера"},
{id:"idCommStat_StrStatus_i18n",t:"p",en:"Stream. stat:",
ru:"Стример:"},*/
{id:"idVideoName_LB", t:"p",en:"Streamer",
ru:"Стример"},
{id:"idVideoN_LB", t:"p",en:"Streamer Number",
ru:"Номер стримера"},
{id:"idVideoMulticast_LB", t:"p",en:"Multicast",
ru:"Мультикаст"},
{id:"idVideoDestIp_LB", t:"p",en:"IP",
ru:"IP"},
{id:"idVideoDestPort_LB", t:"p",en:"Port",
ru:"порт"},
{id:"idVideoAddrFromReq_LB", t:"p",en:"Auto addr",
ru:"Авто адрес"},
{id:"idVideoPortFromReq_LB", t:"p",en:"Auto port",
ru:"Авто порт"},
{id:"idVideoIpStack_LB", t:"p",en:"Use TCP",
ru:"Использовать TCP"},
{id:"idVideoCircBuf_LB", t:"p",en:"Use Circ Buffer",
ru:"Кольцевой буф."},
{id:"idVideoMmap_LB", t:"p",en:"Use mmap",
ru:"Использовать mmap"},
{id:"idVideoBw_LB", t:"p",en:"Limit bandwidth",
ru:"Ограничить полосу"},
{id:"idVideoFps_LB", t:"p",en:"Frame rate",
ru:"Частота кадров"},
{id:"idVideoLimFps_LB", t:"p",en:"Limit FPS",
ru:"Ограничить к/сек"},
{id:"idVideoQtCompat_LB", t:"p",en:"Q.T. compatible ",
ru:"Совместимость с Q.T."},
{id:"idVideoScanning_LB", t:"p",en:"Scan mode",
ru:"Сканирование"},
{id:"idVideoVerbose_LB", t:"p",en:"Log data",
ru:"Сохранять лог"},
{id:"idVideoAutostart_LB", t:"p",en:"Autostart",
ru:"Автозапуск"},
{id:"idInitstring_LB", t:"p",en:"Initstring",
ru:"Инициализация"},
{id:"idVideoRun_LB", t:"p",en:"Video Streamer",
ru:"Видеостример"},
/*
{id:"idVideoView_LB", t:"p",en:"Show Video",
ru:"Показ видео"},
*/
{id:"idDisplayType_LB", t:"p",en:"Display mode",
ru:"Визуализация"},
{id:"idDisplayTypeAll", t:"h",en:"Select display mode amomg still images and live video. Using live video requires a special video plugin to be installed on your system, it comes preinstalled on the Elphel Live DVD. Video mode will be activated only when the video source is available - it can be either stream from the camera or record from the archive. Still images (they can also be \"live\", but the refresh rate is significatly lower than that of the video) support semi-transparency while video - does not. Video mode mutton is shown only if the video plugin is detected by the browser",
ru:"Выбор режима визуализации изображений/видео. Если выбран режим статических изображений, то он будет использован даже в том случае, если есть живой видеосигнал. Если выбран режим видео, то он будет активирован только при наличии видеоисточника (стримера камеры или архивной записи). Кнопка включения видеорежима показывается только в том случае, если установлен видео плагин. "},
{id:"btnDisplayNone", t:"h",en:"Do not show any images or video - may be useful when you use an external video viewer, the program will shring to the size of just the controls.",
ru:"Выключить показ и статических изображений, и видео. Может оказаться полезным при использовании внешних видеоплееров, размер окна программы в этом случае будет уменьшен, останется только панель управления."},
{id:"btnDisplayStill", t:"h",en:"Always display images/video as still images. This mode supports semi-transparent controls, magnifier. Both images and video frames are rendered using browser embedded image display capabilities, no plugins are required for this mode of operation",
ru:"Показ видеоданных в виде статических изображений. В этом режиме используются только встроенные возможности браузера, установка дополнительных плагинов не требуется. Поддержана полупрозрачность панели управления"},
{id:"btnDisplayVideo", t:"h",en:"Display live video when possible. Live video source is required for this mode - it can be either running videostreamer in the camera or the archive file. Appropriate video pluging for the browser is also required (it comes preinstalled on our live DVD system). Some features (i.e. translucency) are not supported in this mode.",
ru:"Показ видео, когда это возможно. Чтобы видеоражим активировался, требуется наличие соответствующего плангина (предустановлен на нашем Live DVD) и источника видео, которым может являться как видеостример в камере, так и архивная запись."},
{id:"btnCameraShow", t:"h",en:"Show camera controls: histograms, exposure time, color balancing, window of interest selection and other settings.",
ru:"Показать органы управления камерой: гистограммы, экспозиция, баланс цветов, выбор окна наблюдения и других параметров ввода изображений."},
{id:"btnStreamersShow", t:"h",en:"Show steamer contols",
ru:"Показать управлением видеостримера камеры."},
{id:"btnMonitorShow", t:"h",en:"Show display control",
ru:"Показать управление монитором"},
{id:"btnDVRShow", t:"h",en:"Show DVR controls",
ru:"Показать управление видеорекордером"},
{id:"btnNetworkShow", t:"h",en:"Network settings including webcam mode (automatic uploading images)",
cn:"网络设置,包括自动上载图象的Webcam模式的设置",
fr:"Configurations réseau incluant le mode webcam (envoi automatique des images)",
ru:"Сетевые установки камеры, управление режимом веб-камеры"},
{id:"btnSettingsShow", t:"h",en:"Program settings",
cn:"程序设置",
fr:"Paramètres du programme",
ru:"Программные установки"},
/* {id:"btnInfoShow", t:"h",en:"Shows current status of the camera - streamer, image size and frame rate",
cn:"显示当前摄像机状态,视频流,图像大小以及帧率",
fr:"Affiche le status actuel de la caméra - streame, taille d'image et taux de raffraichissement",
ru:"Информационное окно - статус стримера, размер кадра, частота кадров"},*/
{id:"btnSnapFull", t:"h",en:"Acquire a full-resolution snapshot while streaming at lower resolution (will disturb videorecording). Hold 'Shift' key to save the snapshot instead of showing it.",
ru:"Зарегистрировать изображение с полным разрешением во время наблюдения видео с пониженным разрешением."},
{id:"btnRefresh", t:"h",en:"Start data/images refresh. Hold SHIFT key to reset internal state and restart communication (not needed for normal operation).",
ru:"Запустить цикл обновления изображений/статусной информации"},
{id:"btnLanguage", t:"h",en:"Interface language selection",
cn:"界面语言选择",
fr:"Interface de sélection de la langue",
ru:"Выбор языка интерфейса"},
{id:"btnHelpShow", t:"h",en:"
Copyright 2006-2008 Elphel, Inc.
camvc.html is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
camvc.html is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with camvc.html; if not, see http://www.gnu.org/licenses/
"},
{id:"idDVRServer_LB", t:"p",en:"DVR server IP",
ru:"Сервер записи"},
{id:"idDVRCameraID_LB", t:"p",en:"Camera ID",
ru:"Имя камеры"},
{id:"idDVRCameraIP1_LB", t:"p",en:"Camera IP",
ru:"IP камеры"},
{id:"idDVRCameraIP2_LB", t:"p",en:"Stream IP",
ru:"IP стрима"},
{id:"idDVRStart_LB", t:"p",en:"Date/time",
ru:"Дата/время"},
{id:"idDVRLocation_LB", t:"p",en:"Location",
ru:"Расположение"},
{id:"idDVRRegister_LB", t:"p",en:"Register",
ru:"Регистрация"},
{id:"idDVRServerAll", t:"h",en:"Enter IP address (and optionally port) of the the DVD server. If you leave IP field blank the program will assume that the server is on this your computer and determine it IP address how camera sees it.",
ru:"Введите IP адрес (и порт, если он нестандартный) сервера записи. Усдш вы оставите поле IP адреса пустым, программа будет считать что сервер видеозаписи находится на вашем компьютере и попробует его определить (как видно со стороны камеры)."},
{id:"idDVRCameraIDAll", t:"h",en:"This camera ID (MAC address) used to identify records (read only field)",
ru:"Идентификатор камеры (MAC адрес) - используется для поиска записей. Поле доступно только для чтения"},
{id:"idDVRCameraIP1All", t:"h",en:"Camera IP address (determined from the network settings).",
ru:"IP адрес (определяется по сетевым настройкам)"},
{id:"idDVRCameraIP2All", t:"h",en:"Uni/multicast IP address for the camera RTP/RTSP video stream (determined from the streamer settings). For the unicast this adress is the same as the camera IP, for multicast it is different (it begins with \"232\").",
ru:"Уни-/мультикастовый адрес для видеопотока камеры по протоколам RTP/RTSP (определяется по настройкам стримера). Для уникастовой трансляции этот адрес совпедает с адресом камеры, для мультикастового - начинается с \"232\"."},
{id:"idDVRStartAll", t:"h",en:"Date/time of the record to search for. Server will return the first one starting after the specified time.",
ru:"Дата/время, для которого требуется поиск видезаписи. Будет возврещена первая, ничмнающаяся не ранее указанного времени."},
{id:"idDVRSearch_BN", t:"h",en:"Send search request to the server. It will return the first available record after the date/time specified.",
ru:"Отправить запрос поиска видеозаписей на сервер, который вернет первую видеозапись после указанного времени."},
{id:"idDVRLocationAll", t:"h",en:"Camera location - just text description.",
ru:"Описание расположения камеры"},
{id:"idDVRRegisterAll", t:"h",en:"Register camera with the DVR server (check the DVR server IP/port) - it is needed to use the record/play back functions. All the fileds above will be synchronized with the server database - if the field is empty it will be read from the database (if the appropriate record is available), if it contains some data - it will be written to the database.",
ru:"Регистрация камеры на сервере цифровой видеозаписи (DVR) необходима для активации функций записи и воспроизведения. Все поля ввода выше этой кнопки будут синхронизованиы с базой данных сервера, пустые поля считаны из базы (при наличии в ней соответствующих записей), а заполненные - записаны в базу."},
{id:"idDVRLink_LB", t:"p",en:"URL",
ru:"URL"},
{id:"idDVRFileSize_LB", t:"p",en:"File Size",
ru:"Размер файла"},
{id:"idDVRFileSize_UN", t:"p",en:"MB",
ru:"МБ"},
{id:"idDVRMaxFileSize_UN", t:"p"},
{id:"idDVRFileStart_LB", t:"p",en:"Start",
ru:"Начало"},
{id:"idDVRFileEnd_LB", t:"p",en:"End",
ru:"Конец"},
{id:"idDVRFileDuration_LB", t:"p",en:"Duration",
ru:"Длительность"},
{id:"idDVRFileFrames_LB", t:"p",en:"Frames",
ru:"Число кадров"},
{id:"idDVRFilePosition_LB", t:"p",en:"Position",
ru:"Положение"},
{id:"idDVRRecordingSince_LB", t:"p",en:"Recording since",
ru:"Запись с"},
{id:"idDVRLinkAll", t:"h",en:"You may download the current video file with your brouser right-click context menu.",
ru:"Вы можете сохранить выбранный видеофайл, используя контекстное меню (по правой кнопке мыши) браузера."},
{id:"idDVRFileSizeAll", t:"h",en:"Size of the selected video file in megabytes(MB).",
ru:"Размер выбранного видеофайла в мегабайтах (МБ)."},
{id:"idDVRFileStartAll", t:"h",en:"Start time of the selected video file.",
ru:"Время начала выбранного видеофайла."},
{id:"idDVRFileEndAll", t:"h",en:"End time of the selected video file.",
ru:"Время окончания выбранного видеофайла."},
{id:"idDVRFileDurationAll", t:"h",en:"Duration of the selected video file.",
ru:"Длительность выбранного видеофайла."},
{id:"idDVRFileFramesAll", t:"h",en:"Length of the selected video file (in frames).",
ru:"Длительность выбранного видеофайла в кадрах."},
{id:"idDVRFilePositionAll", t:"h",en:"Current position in the selected video file.",
ru:"Текущее положение в выбранном видеофайле."},
{id:"idDVRRecordingSinceAll", t:"h",en:"Date/time when the current recording session started (if any).",
ru:"Дата/время начала текущей сессии видеозаписи, если запись включена."},
{id:"idVideoR", t:"h",en:"Video player mode: \"L\" - Live video stream from the camera \"R\" - Playback of the recorded video \"P\" - pause during playback.",
ru:"Видео режим: \"L\" - визуализация видеострима, поступающего непосредственно от камеры \"R\" - Воспроизведение ранее записанного видео \"P\" - пауза во время воспроизведения."},
{id:"btnDVRBack", t:"h",en:"Go to the previous video file.",
ru:"Переход на предыдущую видеозапись"},
{id:"btnDVRBack_P", t:"h"},
{id:"btnDVRPlay", t:"h",en:"Playback the selected video file.",
ru:"Воспроизвести выбранную видеозапись"},
{id:"btnDVRPlay_P", t:"h"},
{id:"btnDVRPause", t:"h",en:"Pause/continue playback.",
ru:"Пауза/продолжение воспроизведения видеозаписи"},
{id:"btnDVRPause_P", t:"h"},
{id:"btnDVRStop", t:"h",en:"Stop playback.",
ru:"Останов воспроизведения."},
{id:"btnDVRStop_P", t:"h"},
{id:"btnDVRForward", t:"h",en:"Proceed to the next video file.",
ru:"Переход к следующей видеозаписи."},
{id:"btnDVRForward_P", t:"h"},
{id:"btnDVRRecord", t:"h",en:"Toggle (start/stop) video recording. Blinking red dot in the info line indicate that recording is on.",
ru:"Включение/выкдючение записи видео. Мигающая красная строчка в информационной строке показывает, когда включена запись."},
{id:"btnDVRRecord_L", t:"h"},
{id:"btnDVRList", t:"h",en:"Open search record panel.",
ru:"Отурыть панель поиска видеозаписи."},
{id:"btnDVRSettings", t:"h",en:"Open the DVR settind tab.",
ru:"Открыть вкладку устнановок цифровой видеозаписи (DVR)."},
{id:"btnDVRStopRecord", t:"h",en:"Stop video recording.",
ru:"Останов видеозаписи."},
{id:"idDVRLoop_LB", t:"p",en:"Loop playback",
ru:"Зациклить воспроизведение"},
{id:"idDVRLoopAll", t:"h",en:"Repeat playback of the selected videofile.",
ru:"Зацикливать воспроизведение выбранной видеозаписи."},
{id:"idDVRNextPlay_LB", t:"p",en:"Play next",
ru:"Воспроизводить следующую"},
{id:"idDVRNextPlayAll", t:"h",en:"Proceed to playing the next video file after the current one ends.",
ru:"Автоматически переходить к воспроизведению следующей видеозаписи после окончания текущей."},
{id:"idDVRFileFormat_LB", t:"p",en:"File format",
ru:"Формат файла"},
{id:"idDVRFileFormatAll", t:"h",en:"File format of the current video record.",
ru:"Формат фала текущей видеозаписи"},
{id:"idDVRFrameSize_LB", t:"p",en:"Frame size",
ru:"Размер rflhf"},
{id:"idDVRFrameSizeAll", t:"h",en:"Frame size (width x height, pixels) of the selected video record.",
ru:"Размер кадров в выбранной видеозаписи (ширина х высота, в пикселях)."},
{id:"idDVRFPS_LB", t:"p",en:"Frame rate",
ru:"Частота кадров"},
{id:"idDVRFPSAll", t:"h",en:"Frame rate of the video record (actual frame rate may be different if it was changing during the record - i.e. because of the increased exposure time above the frame time due to change in the illumination of the scene. It is possible to restrict the camera to a certain frame rate that will not change with the illumination.",
ru:"Частота кадров в выбранной видеозаписи. Реальная частота кадров записи может отличаться от указанной в том случае, если, например, условия освещения сцены менялись, а ограничения на время экспозиции/частоту кадров не были указаны."},
{id:"idDVRSlider", t:"h",en:"This slider indicates the selected video record number and allows to modify it.",
ru:"Этот слайдер показывает номер текущей видеозаписи и позволяет выбирать среди доступных на сервере."},
{id:"idDVRMaxFileSize_LB", t:"p",en:"Max. file size",
ru:"Макс. размер файла"},
{id:"idDVRMaxFileDuration_LB", t:"p",en:"Max. file duration",
ru:"Макс. длительность"},
{id:"idDVRMaxFileSizeAll", t:"h",en:"Maximal size of an individual video file in megabytes (MB). A new file will be started automatically when this limit will be reached during recording.",
ru:"Максимальный размер индивидуального видеофайла в мегабайтах (МБ). Новый файл будет открыт каждый раз, когда этот предел будет достигнут во время записи."},
{id:"idDVRMaxFileDurationAll", t:"h",en:"Maximal duration of an individual video file in seconds (sec). A new file will be started automatically when this limit will be reached during recording.",
ru:"Максимальная длительность индивидуального видеофайла в секундах (сек). Новый файл будет открыт каждый раз, когда этот предел будет достигнут во время записи."},
{id:"idFPSReduce_LB", t:"p",en:"Reduce frame rate",
ru:"Прореживать кадры"},
{id:"idFPSReduceAll", t:"h",en:"Reduce the video frame on the monitor (does not change camera and DVR frame rate). It is useful if the recording PC does not have enough power to render camera video being recorded. Changes will be visible after the video viewer is restarted (currently - manually, i.e. with the buttons above).",
ru:"Уменьшить частоту кадров на мониторе (не влияет на частоту кадров, передаваемух камерой и записываемых на накопитель). Полезно в том случае, когда мощность компьютера недостаточна для воспроизведения видео с полной скоростью. Этот параметр вступит в силу после перезапуска просмотрщика (например, кнопками выше)"},
{id:"idTranspTooltips_LB", t:"p",en:"Transparent tooltips",
ru:"Прозрачные подсказки"},
{id:"idTranspTooltipsAll", t:"h",en:"Make the tooltops background semi-transparent.",
ru:"Сделать фон подсказок полупрозрачным."},
{id:"idDVRServerInstall", t:"h",en:"Could not find a DVR server on the local computer or at the specified IP. DVR Server uses Apache, MySQL and PHP - all available on the Live DVD. Currently the php code is not included on the DVD - you may download it from the camera using the link \"DVR software\" and save on a Desktop.\nNext step - to locate a suitable partition (hard drive or flash memory) available on your computer (all recognized partitions have icons on the desktop) to use as DVR storage. It is not recommended to use NTFS partition (used by most versions of Microsoft Windows ®) as this file system data format is undocumented an recording may corrupt it. FAT/FAT32 (like on USB flash memory) is OK, so are all the Linux file systems.\n Click on the storage icon to open it and verify that it is the right one (same physical storage unit may have different names under different operating systems). For the safety of your data Knoppix originally mounts storage units in read only mode, so you need to enable writing to it. Right-click on it's icon and select \"Actions\" - \"Change read/write mode\", and agree to make it writable.\nAfter partition is writable you need to drag-and-drop the storage unit icon over the \"DVR launcher\" icon and wait for the script to process your request. It will ask you for the password to assign to the database.\nThe next time you will run Knoppix you may just drag-and-drop the storage unit icon (the same as you selected first time) it will mount the storage automatically (existence of the database on the storage unit will tell the program that it is a correct one).",
ru:"Программе не удалось обнаружить сервера видеозаписи на вашем компьютере (или по указанному IP адресу). Сервер видеозаписи использует Apache, MySQL и PHP, которые включены в Live DVD, поставляемый с камерой. Программный код (php) сервера еще не завершен, поэтому он содержится в виде сжатого архива в файловой системе камеры и вы можете его скачать по ссылке \"DVR software\" и на вашем компьютере в разделе (на USB флэш-памяти или дисковом накопителе), доступного для записи операционной системой, загруженной с Live DVD.\nНе рекомендуется использовать для записи файловую систему NTFS (стандартную для большинства версий Microsoft Windows ®) - она недокументирована и запись из ОС GNU/Linux может привести к потери данных, там записанных. Можно использовать FAT/FAT32 (обычные для USB флэш) и, конечно, любую файловую систему GNU/Linux.\nДля того. чтобы открыть раздел на запись, нужно сначала его открыть на чтение (щелкнув левой кнопкой мыши по иконке выбранного накопителя на рабочем столе), убедиться, по составу файлов, что это предназначенный вами раздел, затем щелкнуть правой кнопкой по той же иконке, выбрать \"Actions\" - \"Change read/write mode\" и согласиться на разреншение записи.\nПосле этого сохранить архив, щелкнув правой кнопкой на ссылку \"DVR software\", и указажите рабочий стол (Desktop). Для установки программного обеспечения нужно перетянуть ярлык выбранного накопителя на ярлык программы видеозаписи - при этом она попросит вас создать пароль для базы данных.\nВ следующий раз после запуска диска достаточно просто перенести ярлык накопителя на ярлык программы - монтирование раздела будет осуществлено автоматически."},
{id:"idDVRSoftwareAll", t:"h",en:"You may use the link \"DVR software\" to install the DVR server software - just right-click on the link and save the file on the Desktop.\nNext step - to locate a suitable partition (hard drive or flash memory) available on your computer (all recognized partitions have icons on the desktop) to use as DVR storage. It is not recommended to use NTFS partition (used by most versions of Microsoft Windows ®) as this file system data format is undocumented an recording may corrupt it. FAT/FAT32 (like on USB flash memory) is OK, so are all the Linux file systems. Click on the storage icon to open it and verify that it is the right one (same physical storage unit may have different names under different operating systems). For the safety of your data Knoppix originally mounts storage units in read only mode, so you need to enable writing to it. Right-click on it's icon and select \"Actions\" - \"Change read/write mode\", and agree to make it writable. After partition is writable you need to drag-and-drop the storage unit icon over the \"DVR launcher\" icon and wait for the script to process your request. It will ask you for the password to assign to the database. The next time you will run Knoppix you may just drag-and-drop the storage unit icon (the same as you selected first time) it will mount the storage automatically (existence of the database on the storage unit will tell the program that it is a correct one).",
ru:"По линку \"DVR software\" в можете скачать и установить программное обеспечение сервера видеозаписи в корне раздела (на USB флэш-памяти или дисковом накопителе), доступного для записи от операционной системы, загруженной с Live DVD. Не рекомендуется использовать для записи файловую систему NTFS (стандартную для большинства версий Microsoft Windows ®) - она недокументирована и запись из ОС GNU/Linux может привести к потери данных, там записанных. Можно использовать FAT/FAT32 (обычные для USB флэш) и, конечно, любую файловую систему GNU/Linux. Для того. чтобы открыть раздел на запись, нужно сначала его открыть на чтение (щелкнув левой кнопкой мыши по иконке выбранного накопителя на рабочем столе), убедиться, по составу файлов, что это предназначенный вами раздел, затем щелкнуть правой кнопкой по той же иконке, выбрать \"Actions\"->\"Change read/write mode\" и согласиться на разреншение записи. После этого сохранить архив, щелкнув правой кнопкой на ссылку \"DVR software\", и указажите рабочий стол (Desktop). Для установки программного обеспечения нужно перетянуть ярлык выбранного накопителя на ярлык программы видеозаписи - при этом она попросит вас создать пароль для базы данных. В следующий раз после запуска диска достаточно просто перенести ярлык накопителя на ярлык программы - монтирование раздела будет осуществлено автоматически."},
{id:"idDVRSliderDelay_LB", t:"p",en:"Slider delay",
ru:"Интервал слайдера"},
{id:"idDVRSliderDelayAll", t:"h",en:"Enter delay between the update of the file position slider updates (in milliseconds). Increase this time on slower computers.",
ru:"Время между обновлениями позиции слайдера во время воспроизведения (в миллисекундах). Это время рекомендуется увеличивать на медленных компьютерах."}
//
);
/*
*/
function setI18n(lang) {
var i,s,s0="";t0="";
var cont;
var elem;
var container=document.getElementById("idContextHelp");
if (lang==undefined) {
lang=document.i18nLanguage;
}
for (i=0;i