imaginevision / z-camera-doc Goto Github PK
View Code? Open in Web Editor NEWDocument for Z Camera
Document for Z Camera
hi~ every one.
I'm shooting an image using C1. However, image storing speed is slower than 300ms for E1.
Even better (v30) sd memory shows the same results.
When all 5M images were shooting
E1 is 700ms
C1 is 1200ms
What's different? Is there a way to reduce it?
Many URLs use an action param but the media access URLs use act
while all the others use action
:
How would one go about discovering a camera when using the HTTP API? If BLE, could you provide the services, characteristics and sample response data?
According to HTTP.md, ?act=info
can be used to get the duration and size of the video file. From the docs:
GET /DCIM/110ZCAME/ZCAM0100_0000_201811121522.MOV?act=info
{
"code": 0,
"desc": "",
"msg": "",
"w": 2880, // video width
"h": 2880, // video height
"vts": 30000, // video timescale
"vcnt": 107, // video packet count
"dur": 107107 // video duration.
}
But the values actually returned in the response are incorrect.
w
/h
do not match the primary video stream in the downloaded file. They appear to be set from the proxy stream #0:1, instead of the primary stream #0:0. Where do these values actually come from?vts
is described only as the "video timescale". What does that mean? The definition is unclear. It appears to actually be the audio sample rate of stream #0:2 (48000)? What is this value actually returning?dur
is described as the "video duration" but it did not match the actual video stream #0:0 duration. It appears to be the number of audio samples? What is this value actually returning?vcnt
is described as the "video packet count". What does that mean? It appears to be approximately the number of frames in the video + 1. What is this value actually returning?For reference, in our testing, once we downloaded the actual .MOV file we used ffprobe
to view its actual values to compare to the ?act=info
JSON response. We were recording to ProRes (stream #0:0), and the file also has an HEVC proxy (stream #0:1), and audio (stream #0:2), as well as a timecode stream.
For our use case, we want to know the actual video duration and actual frame count of the video for verification purposes, to make sure that it has downloaded correctly. But currently, we cannot rely on ?act=info
to provide these values accurately.
Please fix ?act=info
to provide more accurate information about the video, and update the documentation to accurately describe how ?act=info
works.
GET
: /ctrl/event
What is this edge used for and what are the possible return values and error conditions?
i'm trying to use the USB network.
which IP do i have to set my computer to in order to communicate with the camera over USB?
i tried the 10.98.32.3 that i have when using wifi, but it's not answering any of my pings
Streaming API is listed in the bulletpoints, but there is no dedicated section describing how it works
Would you elaborate how one can use streaming?
I see in the 'expansion.md' file that SBUS is read on the CVBS pin.
Does it also need ground?
The document also says the signal needs '0x01 in first byte'
How do I know if my SBUS signal has the 0x01 in the first byte? Im thinking of using a pixhawk flight controller's SBUS out port to send the signal to the camera to change mode and do capture and record.
GET
: /DCIM/101MEDIA/?u=1&v=1
What does the u
parameter signify?
my procedure run on suse system. when link with libssp.so, it failed with undefined symbols . we checked text in libssp.so and our main.o. when find the SSPClient symbol names different ! is sdk support suse ?
Would you elaborate how one can use streaming?
Hi everyone,
I'm here today cause i got a problem with controlling my zcam in uart.
I can take pictures, start and stop a video, and also focus far or near using two buttons.
But when i start capture a video, the focus switch to automatic mode. So i can't use my two buttons focus near and focus far to focus manually, while the buttons work very well when I do not capture video.
Someone would know a command to get manual focus while recording ?
Thanks
Titou420
Hello. Excuse me
At present, I use the libssp protocol and want to obtain simultaneous streaming of multiple Z CAM E2G cameras. However, the data obtained by the discovery is not completely ms-level synchronization. There is always a frame gap.
1-Does the multi-cam synchronization function of Z CAM E2G camera only support simultaneous recording to SD card? Whether to support the use of libssp protocol to pull multi-camera synchronous streaming data
2-If libssp is supported, can I get simultaneous streaming data as long as I ensure that multiple cameras get the same h264->frm_no at the same time?
3-If libssp pull synchronous stream function exists, whether additional opening action is required.
4-If the libssp protocol does not support the synchronization data of multiple cameras, is there any other way to obtain synchronization data?
The http.md doc mentions that the /ctrl/*
interface is only accessible to the session holder but it isn't clear how session ownership works and how it is represented.
i was wondering if there is any option for the E1 to start automatically once it received power from the power supply.
we are hoping to include the camera in a permanent installation and want the camera to shutdown and restart along with the computer that received live video over the HDMI output.
thanks for any advice.
Hi,
I want to know if there is a possibility the trigger a flash with the E1 Camera?
And trigger in near real time a picture from a microprocessor? With the http-API it will not be fast enough.
Can some one help me to figure out E2 RS232 communication?
I'm planning to connect Arduino to CTRL port of Z CAM E2-F6 in Pelco-D mode to process pelco commands from ZCAM, unfortunately I couldn't find any documentation on CTRL in Pelco-D mode.
Does it work in RS485 as expected by Pelco-D standard (in this case which tx/rx is RS485 A/B)? Or in RS232 as stated by camera documentation?
Can CTRL 5V line handle Arduino (300-500mA max)?
Hi, i'm trying to control the camera via UART but i think i forgot something, because camera doesn't do anything
for example :
terminal 115200 bauds 8N1
to start record, i send 0x03 0xea 0x02 0x01 0x05 , and nothing happens.
what's my mistake?
Thanks
I'm playing with the HTTP requests via USB/ RNDIS and they seem to work fine. However I cannot retrieve any thumbnails of the videos. Example:
http://192.168.168.1/DCIM/100MEDIA/EYED0783.MOV?act=thm
return error 404 (not found). The file 0783 is available, I see it in the directory listing and changing the query to act=info
leads to retrieve the information.
I have to do something further in order to get the cam producing the thumbnails?
does the camera start again headless and unattended when power cycled?
The docs list all the valid keys, but not the valid values. For example, the GUI provided by the camera end-point (/ctrl/controller.html) offers two resolution menu options labeled as "4K (Low Noise)" and "C4K (Low Noise)". If I pass those strings into a GET request to the camera, I get a -1 response back, so I must not be using quite the correct string even though those are the strings shown in the menus.
I'm having the same problem with the resolution options "C4K 2.4:1" and "4K 2.4:1". I realize this may have something to do with url encoding, but I would still like to see a concise list of legal values, if that is available.
My question isn't a brief one-off question about that one particular menu setting. My question is, while the docs list all the keys I can use, where can I find a list of all the values I can use for each key (I realize that available values for some settings are subject to the currently assigned value of other keys, such as frame rate which changes depending on resolution).
Thanks.
libssp.so 在suse操作系统上,链接的时候报找不到符号表, 查看两边的so文件 ,发现 生成的符号表名称不一致。C++11在 乌班图和SUSE操作系统上 生成的符号表不一致时已知问题。 请问ssp.so的编译环境是什么?我们如果要在SUSE系统上商用该如何链接?
Hi,
In the documentation is shown the address 0xa3 for the external eeprom must be used.
I have implemented a kind of "sniffer" for the i2c and what I see is different:
- While booting the cam try to read the address 0x51 1 time
- After that is in a loop asking to read 0x48
If I answer with the Byte 0x03 (uart mode) in the first query nothing is happens
If I answer with 0x03 to all the queries the cam do not start, so its power on but nothing in the display (frame, layout...)
Any help?
When I stop a recording from the api would it be possible to have it return the file name of the recording?
Currently we get a confirmation but it would be nice if we could have the filename returned in the msg.
{
"code": 0,
"desc": "",
"msg": ""
}
I'm trying to connect a zcam e2 at pc from uart in db9 connector.
What is not clear, is If this connector accept ttl level. I'm using a usb to ttl converter and I'm unable to connect.
My software work ok connecting to usb set as serial.
Someone have more specs about db9 port on e2? Pin, and if is possibile use ttl (as e2 specs tell me).
Does this documentation also apply to the Z-Cam K1 Pro? I guess it is mostly two E2 cameras working together, but I'm not sure...
GET /ctrl/set?send_stream=Stream0
GET /ctrl/set?send_stream=Stream1
1 - At present, I want to develop a pull-stream application by myself, but the push-pull stream program provided on the official website is not applicable.
2 - I saw in the http protocol that stream0/1 can be set. But how can I get to stream1?
3 - Is this stream1 using http streaming protocol? If my assumption is correct! Then I just need to know the http url of stream1! But I tried a lot of methods, and I couldn't pull to stream1.
4 - Is there a problem with my understanding? Or can you give relevant reference materials to pull stream1.
Thank.
When I use WebSocket connect to the TCP server with this:
var ws = new WebSocket("ws://10.98.32.1:9876");
Then I get this:
WebSocket connection to 'ws://10.98.32.1:9876/' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT
So how can I connect to the TCP server??
Does anybody know what kind of latency I can expect from the builtin network streaming?
It seems there are different methods for streaming (RTMP, SSP).
@q3o Since you recently asked about capture parameters, do you know something about this?
Well, w
is width in pixels and h
is height in pixels but I'm unsure what vts
and vcnt
are (encoder settings?) and dur
seems to be duration in some strange units 10^-5 seconds?
http GET "10.98.32.1/DCIM/100MEDIA/EYED9853.MOV?act=info"
HTTP/1.1 200 Ok
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 83
{"code":0,"desc":"","msg":"","w":3840,"h":2160,"vts":90000,"vcnt":256,"dur":768768}
Generally the API called out in http.md is not RESTful; GET
s are used when deleting and adding resources - is this due to the limited HTTP verb support in the E1 hardware or would you be open to a proposal for a RESTful HTTP API?
A couple examples off the top of my head:
GET
/DCIM/100MEDIA/EYED0001.MOV?act=rm could be a DELETE
GET
/ctrl/session?action=quit, /ctrl/shutdown, /ctrl/reboot, /datetime?date={YYYY-MM-DD}&time={hh:mm:ss}, /ctrl/still?action={cap}, /ctrl/mode?action=to_pb … could be a POST
GET
/ctrl/mode?action=query could be query-lessThe 0.16 firmware seems to generally provide responses with an empty Content-Type
header instead of application/json
as one would expect and the gallery folders/files listing even claims the content is text/plain
Hello,
can somebody tell me where I can buy this plug?
My location is germany.
Maybe someone knows the name of this connector.
Thank you very much.
Anyone have any idea what service to send UART requests to when connected via bluetooth? Also, how to send a pin to unlock, and what servcie to send it to?
Hi all.
I have an E2 which i'm trying to communicate with in Direct Ethernet Mode.
I'm completely new to http so am using Restlet Client in my Chrome browser (on Win7). I'm using the GET method and sending http://10.98.32.1:80/info but getting zero response.
Am I doing this totally wrong?
Any help would be greatly appreciated!
Charlie.
Where can I find information on how to use the new still image capture feature on the latest firmware for the E2? The existing REST docs don't seem to have been updated yet?
GET
: /ctrl/mag?action=query
.
What are the possible return values and error conditions?
Would it be possible to add the E2-M4 specs to the repo? 😁
I've built a web application to control the zcam e2 for my project. I'm having issues running it though because the camera does not send the CORS headers which does not allow my application to access/control the camera. I'm using Chrome to run my app. Can this be added?
This command doesn't work on E2. any other works good. If i emulate press button and release camera do still
Hello,
I'm building tooling for the S1 that will run on a Raspberry Pi 4 and would appreciate some help in clarification on streaming. What's the easiest way to get a good quality stream for say a browser? Is replaying frames with SSP the only way?
Also, port 9999 seems to be serving RTSP on the camera (or at least something that involves a handshake). Is there any documentation for this?
Thank you
Hi, I've got an E1 and I'm trying to change via http the shoot_mode setting.
If I do a query first it says:
{"code":0,"desc":"string","key":"shoot_mode","type":1,"ro":0,"value":"Program AE","opts":["Program AE","Aperture priority","Shutter priority","Manual mode"]}
So I want to change to Aperture, I've tried
IP/ctrl/set?shoot_mode="Aperture priority"
=A
=a
=Aperture
and any other likewise variant you can think of, even numbers
Anyone can help me figure out which is the correct option for this key's value?
Thanks
The stream1 has been set to 4K, 30FPS through the HTTP protocol. But why the stream that I pull through RTSP is only 4K, 14.99FPS?
The following is the information I checked the RTSP stream through FFmpeg and found that FPS=14.99, tbr=29.97.
Has anyone encountered this kind of problem? thank you very much.
Input #0, rtsp, from 'rtsp://192.168.1.101/live_stream': Metadata: title : Session streamed by "OnDemandRTSPServer" comment : live_stream Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: h264 (Baseline), yuv420p(tv, bt709, progressive), 3840x2160, 14.99 fps, 29.97 tbr, 90k tbn, 29.97 tbc Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp
Hi everybody,
has someone already done Edelkrone Timelaps with ZCAM E2?
https://www.youtube.com/watch?v=O9GH6GuWAQM&list=PLbDNm-U3aPIC7p7jlYSaPC_QuFHtPrIPu&index=8&t=0s
Hello,
I have not heard back about I/O connector type or pinout. Can you please put that here as well?
GET
: /ctrl/mode
Is this synonymous to /ctrl/mode?action=query
?
Is it possible to enable and disabled pre-roll over the HTTP API on the E2, possibly via an undocumented key or action?
Controlling the camera via HTTP API, where a key is listed with
mf_mag
is not possible. If I send the command http://ip/ctrl/get?k=mf_mag
i receive the message
key is not supported
What am I doing wrong?
Hi,
I have a E2-M4 camera with the latest firmware: Ver 0.98.0 (041688ecca)
And the RTMP and SRT web controller features are not working.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.