Author Topic: transfer video to computer via code  (Read 35286 times)

stephanschulz

  • Newbie
  • *
  • Posts: 1
    • View Profile
transfer video to computer via code
« on: March 28, 2018, 03:19:26 PM »
Hi.

This camera looks amazing.
I was wondering how easy it is to connect my app running on OS X to the camera, so that I can trigger a slow motion recording and then download the file to the OS X machine, all via code.
I guess this could be done via ethernet connection or somehow copy over usb directly to computer?

I see this note at the bottom of the homepage.
"*These features are fully supported in hardware, but not yet in software. They will be added in a future free software update"
thanks for any advice.
Stephan, from Montreal.

tesla500

  • Krontech
  • Full Member
  • *****
  • Posts: 218
    • View Profile
    • krontech.ca
Re: transfer video to computer via code
« Reply #1 on: March 28, 2018, 08:31:00 PM »
Hi Stephan,

We currently are working on full Ethernet remote control, but there are some limited functions you can do remotely right now. With the v0.2.5 beta software or newer, you can set the camera to automatically save after a trigger. This will get a file onto a local storage device like an SD card. Then, with the camera connected via USB (behaves as a USB to Ethernet bridge), you can then run a script we have that will monitor the card for new files. When it finds one, the file is SCP'd over network to the PC and then deleted from the SD card.

Would this be of interest?

David

EDIT:
Here's the script as it stands. It requires a few libraries and needs to be run on a computer connected to the camera via USB.

The libraries it needs are: plumbum, paramiko

Preparation
Open the script in a text editor and make a change or two:
1. Set localdir to the destination on your computer where you want the files to be copied to
2. The script will look on the SD card by default.  If you want to change this, replace all 4 occurences of mmcblk1p1 in the script with the mount point of the partition that is selected on the camera. This can be checked on the Save Setting screen, accessible from the Play screen. If saving to a USB stick, sda1 is probably the one to use, though sda or sda2 may sometimes be required.
Usage
Open a terminal or command prompt and run the script using:
python2 get_latest_video.py
Troubleshooting
If having the error "paramiko.ssh_exception.SSHException: Server '192.168.12.1' not found in known_hosts," try the solution posted by rvcFS here: http://forum.krontech.ca/index.php?topic=149.msg2717#msg2717
« Last Edit: September 10, 2019, 02:38:08 PM by skronstein »

mh

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: transfer video to computer via code
« Reply #2 on: April 05, 2018, 09:37:15 AM »
If you already have template code for doing this, it would be highly appreciated!

pstest

  • Newbie
  • *
  • Posts: 8
    • View Profile
Re: transfer video to computer via code
« Reply #3 on: April 11, 2018, 01:38:01 PM »
David,
Can you also provide me with the script that monitors card for file update and then transfers file through network to PC?
Thank you,
pstest

Willem

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: transfer video to computer via code
« Reply #4 on: July 11, 2018, 02:31:47 AM »
you can then run a script we have that will monitor the card for new files. When it finds one, the file is SCP'd over network to the PC and then deleted from the SD card.

Would this be of interest?

David

Hi David,
would it be possible that I could get the script also?

Thank you very much,
Ulrike

SamL

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: transfer video to computer via code
« Reply #5 on: July 11, 2018, 05:33:24 PM »
Hi David,
I'm interested in the script. Could you please send me a copy?
thx.

SamL

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: transfer video to computer via code
« Reply #6 on: July 28, 2018, 08:24:11 AM »
Hi Stephan,

We currently are working on full Etherent remote control, but there are some limited functions you can do remotely right now. With the v0.2.5 beta software, you can set the camera to automatically save after a trigger. This will get a file onto a local storage device like an SD card. Then, with the camera connected via USB (behaves as a USB to Ethernet bridge), you can then run a script we have that will monitor the card for new files. When it finds one, the file is SCP'd over network to the PC and then deleted from the SD card.

Would this be of interest?

David

HI David,

Can you send the script to test? thx.

Loial

  • Krontech
  • Newbie
  • *****
  • Posts: 24
    • View Profile
Re: transfer video to computer via code
« Reply #7 on: July 31, 2018, 07:35:44 PM »
Here's the script as it stands. It requires a few libraries and needs to be run on a computer connected to the camera via USB.

The libraries it needs are: plumbum, parimoko

EDIT: This is now obsolete, use the script attached to the 2nd post in this thread.
« Last Edit: September 04, 2019, 07:25:00 PM by skronstein »

yliu

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: transfer video to computer via code
« Reply #8 on: August 14, 2018, 12:21:00 PM »
Hi David,
    I am wondering if there is any additional setup I should perform to successfully connect to the camera via USB. I got the following error when trying to run the script. I am able to ping the IP (192.168.12.21 in my case). I am using software 0.3.0-RC1. The camera is Chronos 1.4, Moochrome, 32 GB.
    Any suggestions will be appreciated!

Code: [Select]
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2878, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-f07cba69afd6>", line 1, in <module>
    runfile('C:/Users/PG_silver/Downloads/get_latest_video.py', wdir='C:/Users/PG_silver/Downloads')
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.1.4\helpers\pydev\_pydev_bundle\pydev_umd.py", line 194, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:/Users/PG_silver/Downloads/get_latest_video.py", line 7, in <module>
    cam = ParamikoMachine(host=host, user='root', password='')
  File "C:\Users\PG_silver\AppData\Roaming\Python\Python27\site-packages\plumbum\machines\paramiko_machine.py", line 245, in __init__
    self._client.connect(host, **kwargs)
  File "C:\Users\PG_silver\AppData\Roaming\Python\Python27\site-packages\paramiko\client.py", line 357, in connect
    raise NoValidConnectionsError(errors)
NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 192.168.12.21

Here's the script as it stands. It requires a few libraries and needs to be run on a computer connected to the camera via USB.

The libraries it needs are: plumbum, parimoko

NiNeff

  • Full Member
  • ***
  • Posts: 169
    • View Profile
Re: transfer video to computer via code
« Reply #9 on: August 15, 2018, 10:16:23 AM »
The error basically means the connection to the camera failed on port 22.

Can you try to use ssh to connect to the camera? PuTTY is a great windows tool for that. Or use BASH directly if you're on windows 10.
From there on troubleshooting is much easier.

yliu

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: transfer video to computer via code
« Reply #10 on: August 15, 2018, 02:56:39 PM »
I tried to ssh to the camera using Putty and it failed to open the connection. The error message is attached. Any thoughts? Thank you!

tesla500

  • Krontech
  • Full Member
  • *****
  • Posts: 218
    • View Profile
    • krontech.ca
Re: transfer video to computer via code
« Reply #11 on: August 22, 2018, 04:17:04 PM »
I tried to ssh to the camera using Putty and it failed to open the connection. The error message is attached. Any thoughts? Thank you!

Try the following to connect to the camera via SSH and see if this works. If this doesn't, you may need to use an older version of Linux on your PC or investigate the encryption methods supported on your distro. The old Arago Linux build on the camera doesn't support modern crypto, and most systems today by default disallow the insecure modes supported by the camera

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 [email protected]


yliu

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: transfer video to computer via code
« Reply #12 on: August 28, 2018, 09:32:25 AM »
Thank you for the suggestions. I tried to ssh to the camera using Ubuntu on Windows, and it still refuses the connection. Please see the screenshot attached.

skronstein

  • Krontech
  • Full Member
  • *****
  • Posts: 114
    • View Profile
Re: transfer video to computer via code
« Reply #13 on: August 28, 2018, 12:02:10 PM »
The last number in the IP address should be 1, not 21. So, the whole address should be 192.168.12.1

yliu

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: transfer video to computer via code
« Reply #14 on: August 28, 2018, 12:05:42 PM »
Sorry, my bad. I was trying to use the ip address from ipconfig

With the correct ip address, the camera complains about "no matching cipher found".

Based on a hint from another thread in Soft Dev board, I used winscp which allows the connection after ignoring some security warning. So far, all is well. Thanks everyone for the help.
The last number in the IP address should be 1, not 21. So, the whole address should be 192.168.12.1