On my Mac I was getting 46Mbps downloads taking 22 secs per 1 min video clip. I hope to try the raspberry Pi this weekend time permitting. It is only a raspberry pi 2 that doesn't do much; all wired in and the camera connects to a router in the garage. The connection for me has been rock solid with my limited testing. I'll take a look at the above as a way to shut it down. I could always monitor the destination folder and once nothing is being written to for X amount of time then shut the camera down.@Simon_rb Always good to hear success stories, thank you.
As to the shutdown, I'm hesitant to tack on very specialized behavior. It's also a bit tricky to do "the right thing" because the dash cam Wi-Fi connection can't be assumed to be stable. You wouldn't want to shut down the dashcam after it downloaded only half the files.
So my thinking is that you'd want to download recordings with "--priority type", and turn the dashcam off only once it has downloaded at least all driving/manual(/event?) recordings.
If that's the case, and assuming you're a programmer, I think the best spot would be the last loop in the sync() function. You'd add each downloaded recording to a downloaded_recordings list. Then you'd catch and rethrow exceptions around that last for loop, and in a finally clause you'd compare the two lists, and if current_dashcam_recordings minus downloaded_recordings only has parking (and event?) recordings, it would be safe to trigger your shutdown code.
Btw, I'd be curious to know how well a Pi works out in practice. I'm waiting for a Pi 4 which I'm sure would do fine, but I'm not sure about older models.