Mapillary

Ik kom nu een stukje verder maar loop toch nog tegen een upload fouten aan mbt het certificaat van de Amazon cloud:

URL error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> on VIRB0546.JPG
Uploading: VIRB0549.JPG
URL error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> on VIRB0545.JPG
Uploading: VIRB0550.JPG
URL error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> on VIRB0548.JPGURL error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> on VIRB0547.JPG

Werkt het bij jullie nog steeds, of lopen jullie hier sinds gisteravond/vanochtend ook tegenaan? Al was de melding gisteravond iets anders, maar kwam op hetzelfde neer (beide Windows 7).
Als ik de upload URL (https://mapillary.uploads.manual.images.s3-eu-west-1.amazonaws.com) in een browser intik krijg ik dezelfde error in alle browsers (IE, FF, Chrome).

Ik kreeg andere foutmeldingen, bij mij werkt het ook niet meer. Het testje dat gelukt leek blijkt online ook al niet toegankelijk te zijn dus echt lekker werken die scripts niet.

Op de blog een ander interessant item over hoe je een video op kunt knippen in fragmenten en die up te loaden tbv Mapillary:
http://blog.mapillary.com/news/2015/01/08/video-cutting.html

Dat lukte uiteindelijk, maar bij add_fix_dates.py moest ik de datum en tijd tussen dubbele quotes zetten anders kreeg ik een foutmelding.

python add_fix_dates.py ~/glen/pics/  "2014-09-07 11:17:40" 2

Presentatie van een van de ontwikkelaars van Mapillary, Peter Neubauer op de State of the Map 2014 conference:
http://vimeo.com/album/3134207/video/112445476

Thuis krijg ik dus onderstaande foutmeldingen:

Uploading sequence ad2d5dd7-e14d-480e-a659-161fc290845c.
Uploading: VIRB0521.JPG
Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Program Files\Python\lib\threading.py", line 810, in __bootstrap_inner
    self.run()
  File "V:\OSM\Mapillary\upload.py", line 177, in run
    upload_file(filepath, **self.params)
  File "V:\OSM\Mapillary\upload.py", line 115, in upload_file
    response = urllib2.urlopen(request)
  File "C:\Program Files\Python\lib\urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Program Files\Python\lib\urllib2.py", line 431, in open
    response = self._open(req, data)
  File "C:\Program Files\Python\lib\urllib2.py", line 449, in _open
    '_open', req)
  File "C:\Program Files\Python\lib\urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "C:\Program Files\Python\lib\urllib2.py", line 1240, in https_open
    context=self._context)
  File "C:\Program Files\Python\lib\urllib2.py", line 1194, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "C:\Program Files\Python\lib\httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "C:\Program Files\Python\lib\httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "C:\Program Files\Python\lib\httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "C:\Program Files\Python\lib\httplib.py", line 850, in _send_output
    self.send(msg)
  File "C:\Program Files\Python\lib\httplib.py", line 812, in send
    self.connect()
  File "C:\Program Files\Python\lib\httplib.py", line 1216, in connect
    server_hostname=server_hostname)
  File "C:\Program Files\Python\lib\ssl.py", line 350, in wrap_socket
    _context=self)
  File "C:\Program Files\Python\lib\ssl.py", line 566, in __init__
    self.do_handshake()
  File "C:\Program Files\Python\lib\ssl.py", line 796, in do_handshake
    match_hostname(self.getpeercert(), self.server_hostname)
  File "C:\Program Files\Python\lib\ssl.py", line 269, in match_hostname
    % (hostname, ', '.join(map(repr, dnsnames))))
CertificateError: hostname 'mapillary.uploads.manual.images.s3-eu-west-1.amazonaws.com' doesn't match either of 's3-eu-w
est-1.amazonaws.com', '*.s3-eu-west-1.amazonaws.com'

Ben blijkbaar niet de enige: https://gist.github.com/mvexel/4b1f2804e7218fa06328

Ook werd een vergelijkbaar probleem gemeld op https://github.com/mapillary/mapillary_issues/issues/512
Heb daar in de comments bij vermeld dat het niet enkel voor upload.py mis gaat, maar ook voor upload_with_authentication.py.

Workaround schijnt te zijn om te downgraden naar Python 2.7.8, dus dat probeer ik morgen maar eens.

Die CertificateError zag ik ook. En nu je het zegt, die kreeg ik pas nadat ik python had geupgrade naar 2.7.9.

Volgens mij is die certificaat fout op te lossen door deze regel aan te passen in upload_with_authentication.py:

MAPILLARY_UPLOAD_URL = "https://mapillary.uploads.manual.images.s3-eu-west-1.amazonaws.com"

naar:

MAPILLARY_UPLOAD_URL = "https://s3-eu-west-1.amazonaws.com/mapillary.uploads.manual.images"

Maar ik heb die certificaaterror niet, dus ik kan dat niet testen.

Wimmel, ik heb dit inmiddels getest en het werkt. Heb inmiddels een pull request op github gedaan om dit aan te laten passen.

Die is er nu: http://www.javawa.nl/fotogeotag.html

Bedankt Javawa!
Wb die Engelse vertaling, als ik op download klik zie ik alleen een donate button. Weet niet of dat de bedoeling is? :wink:

PS de NL versie is in het Engels?

Oeps… Nee, niet echt. Is nu in orde gemaakt.

Het programma is meertalig, maar de taalkeuze hangt niet zoals je zou verwachten van de taal van Windows af, maar van de landinstellingen.

Waar kan je die dan aanpassen? De vorige versie was meen ik in het Nederlands, maar nu zie ik alle menu’s in het Engels?

In het configuratiescherm van Windows…

Het probleem is echter dat mijn installerscript niet volledig was waardoor de taalbestanden niet meegenomen werden. Even opnieuw downloaden (versienummer is niet gewijzigd) en installeren.

Ja, doet het nu prima, bedankt voor de snelle fix!

Ik heb gisteren weer een flinke serie foto’s gemaakt. Die wilde ik uploaden via de manual upload maar die werkt niet (Na drukken op UPLOAD gebeurt er niets meer). Toen ben ik maar eens gedoken in het uploaden met de Python scripts. Ik heb daar niet veel verstand van maar ik denk dat ik nu een heel eind ben. Als ik de upload.cmd van Wimmel draai dan gebeurt er wel e.e.a. maar er is een foutmelding bij alle foto’s. “Missing required EXIF tag: GPS GPSLongitude” . Ik begrijp deze melding wel maar alle foto’s bevatte toch echt alle benodigde GPS data. Ze worden bv prima herkend door Garmins Basecamp. Iemand enig idee wat ik fout doe?

Heb je wel de exifread module in python geinstalleerd?

Als ik het goed begrepen heb is dat gelukt. Dat installeren zit zelfs in upload.cmd.
Na dubbelklikken op de upload.cmd verschijnt deze tekst:

requirement already satified <use --upgrade to upgrade>: exifread in c:\python27\lib\site-packages
(En daarna per foto de foutmelding over de GPSLongitude)
Ik leg dit uit dat het installeren al gebeurd is en dus niet per keer op de .cmd dubbelklikken nodig is (maar kwaad kan het ook niet).

In die map site-packages staat ook een EXIFREAD mapje dus neem ik aan dat het installeren gelukt is. Ik vermoed dat die exifread nu ook degene is die gaat piepen.

“Bitnapper” had dit probleem ook, zie https://github.com/mapillary/mapillary_tools/issues/21 maar hij had het opgelost (staat niet bij hoe, je zou 'm kunnen mailen?).

bitnapper schreef:

Je zou het eens kunnen proberen met een directory waarin je maar 1 foto zet (en je dus zeker weet dat die goed is). Als de upload dan wel werkt kun je op het einde “N” antwoorden zodat die niet gebruikt wordt.

edit: Ik zie nu ook dat het script een enkele file kan uploaden door de complete bestandsnaam op te geven, zolang het bestand maar eindigd in “.jpg”. Dit betekent overigens ook dat het script niet werkt als de naam van de directory eindigd op “.jpg”.

Aan elkaar geplakte panoramafoto’s zijn ook mogelijk op Mapillary (je kan met de muis ‘rondkijken’)
http://www.mapillary.com/map/im/9UfMBpAc-8ClVfr-0gcQKA
http://www.mapillary.com/map/im/SaBQE2DrUeeYdlrUvIsjOQ

Ik heb een foto van Peewee getest, geeft geen error. Vervolgens mijn versie van exifread geudate naar versie 2.0.0 (ik had 1.4.2).
Krijg nu dezelfde error als Peewee, dus zit 't in een bug in die laatste versie (of in de mapillary python scripts).

Ik krijg echter die oude versie niet meer werkend, iemand een idee hoe ik exifread downgrade? :frowning: